Monday, February 21, 2011

What the Heck is EIGRP Named Configuration?

While doing some MPLS labbing this week I came across something that I'd never seen before.  I decided that I wanted to use EIGRP as my PE-CE routing protocol, and I was using one router to simulate 4 CE's.  My line of thinking was that I'd just create four VRFs and it'd be no problem.  For some reason it never occurred to me that I could use 4 separate EIGRP instances in my config...  I instead just assumed that I could do a VRF aware EIGRP config without any trouble.  Well, I was wrong.  At least I was wrong in the way I originally tried to get it working.  So after a 'no router eigrp 1' I headed over to the DocCD and found me some EIGRP Named Configuration.

As it turns out the way I've historically configured EIGRP is what Cisco now calls EIGRP Autonomous System Configuration.  This is the EIGRP that most of us all know and love (?) that starts with the traditional:
router eigrp 1
No more! Down with the autonomous system number in the router command!  For this day forward let us NAME our EIGRP config blocks like civilized people!
router eigrp MY_EIGRP
Naturally "MY_EIGRP" can be any bit of free form text that you fancy.  IOS help shows it like so:
R1(config)#router eigrp ?
  <1-65535>  Autonomous System
  WORD       EIGRP Virtual-Instance Name
 One of the changes in how the Named configuration works versus the Autonomous System configuration is that once you enter the 'router eigrp name' command the router DOES NOT start up an EIGRP instance.  That doesn't happen until you specify an address-family and autonomous system number.  As near as I can tell from the docs is that older syntax had you create the address-family and then within config-router-af mode you specified the autonomous system number.  However the newer way is to do both in a single command from router config mode.
address-family ipv4 unicast vrf CustA-1 autonomous-system 1
You don't have to use this with a VRF, and there's also ipv6 and multicast options in there too.  I'll let you explore it at your leisure.

Now that you have an EIGRP process running that's all ready to be configured we can look at how to actually configure it.  For the most part our standard set of tools remain unchanged in their usage, but what has changed is where you use these tools.  


Named EIGRP has 3 modes that the bulk of the configuration is done under.  These are:
  • address-family configuration mode - (config-router-af)#
  • address-family interface configuration mode - (config-router-af-interface)#
  • address-family topology configuration mode - (config-router-af-topology)#
Address-family configuration mode is for configuration relating to the EIGRP process itself.  You configure your network and neighbour statements here as well as items like the router-id.  This mode is also how you access the other two config modes used in EIGRP named configuration.
R1(config-router-af)#?
Address Family configuration commands:
  af-interface         Enter Address Family interface configuration
  default              Set a command to its defaults
  eigrp                EIGRP Address Family specific commands
  exit-address-family  Exit Address Family configuration mode
  help                 Description of the interactive help system
  maximum-prefix       Maximum number of prefixes acceptable in aggregate
  metric               Modify metrics and parameters for advertisement
  neighbor             Specify an IPv4 neighbor router
  network              Enable routing on an IP network
  no                   Negate a command or set its defaults
  shutdown             Shutdown address family
  timers               Adjust peering based timers
  topology             Topology configuration mode
Address-family configuration mode is something new.  This mode takes all the interface specific commands that you would have previously configured on an actual interface (logical or physical) and moves them into the EIGRP config.  EIGRP authentication, split-horizon, and summary-address configuration are some of the options that are now configured here instead of in interface configuration mode.
R1(config-router-af-interface)#?
Address Family Interfaces configuration commands:
  authentication      authentication subcommands
  bandwidth-percent   Set percentage of bandwidth percentage limit
  bfd                 Enable Bidirectional Forwarding Detection
  dampening-change    Percent interface metric must change to cause update
  dampening-interval  Time in seconds to check interface metrics
  default             Set a command to its defaults
  exit-af-interface   Exit from Address Family Interface configuration
  hello-interval      Configures hello interval
  hold-time           Configures hold time
  next-hop-self       Configures EIGRP next-hop-self
  no                  Negate a command or set its defaults
  passive-interface   Suppress address updates on an interface
  shutdown            Disable Address-Family on interface
  split-horizon       Perform split horizon
  summary-address     Perform address summarization
Address-family topology configuration mode allows you to configure options that relate directly to the EIGRP topology table and its contents.  It is in af-topology config mode that you configure redistribution, distribute-lists, and EIGRP variance.

R1(config-router-af-topology)#?
Address Family Topology configuration commands:
  auto-summary         Enable automatic network number summarization
  default              Set a command to its defaults
  default-information  Control distribution of default information
  default-metric       Set metric of redistributed routes
  distance             Define an administrative distance
  distribute-list      Filter entries in eigrp updates
  eigrp                EIGRP specific commands
  exit-af-topology     Exit from Address Family Topology configuration
  maximum-paths        Forward packets over multiple paths
  metric               Modify metrics and parameters for advertisement
  no                   Negate a command or set its defaults
  offset-list          Add or subtract offset from EIGRP metrics
  redistribute         Redistribute IPv4 routes from another routing proto
  summary-metric       Specify summary to apply metric/filtering
  timers               Adjust topology specific timers
  traffic-share        How to compute traffic share over alternate paths
  variance             Control load balancing variance
And that's about it really.  Everything you've already learned about EIGRP still applies, you just use different config modes to set everything up.  As of yet I haven't figured out how to redistribute one EIGRP address-family into another EIGRP address-family, so if you know that leave me a comment.

And just for fun, here's the config from my CE that is really 4 CEs I spoke about at the beginning.  I added some superfluous config into VRF CustA-1 just to show some of the possibilities.  The other 3 are untouched.
router eigrp MPLS
 !
 address-family ipv4 unicast vrf CustA-1 autonomous-system 1
  !
  af-interface Loopback11
   authentication mode md5
   authentication key-chain EIGRP_KEY
  exit-af-interface
  !
  topology base
   no auto-summary
   redistribute connected
  exit-af-topology
  network 10.1.0.5 0.0.0.0
  network 10.1.1.5 0.0.0.0
  eigrp stub connected
 exit-address-family
 !
 address-family ipv4 unicast vrf CustB-1 autonomous-system 1
  !
  topology base
   no auto-summary
  exit-af-topology
  network 10.1.0.5 0.0.0.0
  network 10.1.1.5 0.0.0.0
 exit-address-family
 !
 address-family ipv4 unicast vrf CustB-2 autonomous-system 1
  !
  topology base
   no auto-summary
  exit-af-topology
  network 10.2.0.5 0.0.0.0
  network 10.2.2.5 0.0.0.0
 exit-address-family
 !
 address-family ipv4 unicast vrf CustA-2 autonomous-system 1
  !
  topology base
   no auto-summary
  exit-af-topology
  network 10.2.0.5 0.0.0.0
  network 10.2.2.5 0.0.0.0
 exit-address-family
!        
If you're interested in reading further you can find all the EIGRP named configuration details on the DocCD here:

http://www.cisco.com/en/US/docs/ios/iproute_eigrp/configuration/guide/ire_cfg_eigrp_ps6350_TSD_Products_Configuration_Guide_Chapter.html

6 comments:

  1. Interesting, as it seems OSPF is moving the other way. i.e. moving more commands under interfaces and less under the global IGP config.

    ReplyDelete
  2. True. The OSPFv3 moves a lot of the config onto the interfaces. What I haven't got to yet is how this config relates to EIGRPv6. If you can create IPv6 address families within an EIGRP named config then why do you need to use 'ipv6 router eigrp' ?

    ReplyDelete
    Replies
    1. Correct.. the point of the new CLI is to create a common config across all the protocols (v4/v6) and families (address/service). For v6, you would do:

      router eigrp MY_NMAE
      !
      address-family ipv4 autonomous-system 1
      .
      .
      .
      address-family ipv6 autonomous-system 1
      .
      .
      .

      Delete
  3. In regards to the redistribute between VRFs in EIGRP the Configuration Guide(at least for 12.4) says it cannot be done...

    ReplyDelete
  4. What do you need to enable before you can use named configuration, is it solemly after enabling MPLS, or could be used on my pure flat eigrp implementation?
    Looks very interesting and want to run it in a test bed.

    Thanks in advace

    ReplyDelete
    Replies
    1. EIGRP named mode is completely independant from MPLS, it is simply a new style of syntax for enabling and configuring EIGRP.

      Also, remember in this particular example, the EIGRP named mode configuration is being performed on the CE router which is not MPLS aware anyway (only the PE router is)

      Delete