Non-Transitive or Transitive? - BGP Path Attributes

Sun 22 June 2014

I was reading about BGP Path Attributes and came across this table (thanks to http://netcerts.net/bgp-path-attributes-and-the-decision-process/):

--------------------------------------------------------------------- ---------------------------------------------------------- LIST OF BGP PATH ATTRIBUTES Attribute Name Category / Class ORIGIN Well-Known Mandatory AS\_PATH Well-Known Mandatory NEXT\_HOP Well-Known Mandatory LOCAL\_PREF Well-Known Discretionary ATOMIC\_AGGREGATE Well-Known Discretionary AGGREGATOR Optional Transitive COMMUNITY Optional Transitive MULTI\_EXIT\_DISC (MED) Optional Non-Transitive ORIGINATOR\_ID Optional Non-Transitive CLUSTER LIST Optional Non-Transitive MULTIPROTOCOL Reachable NLRI Optional Non-Transitive MULTIPROTOCOL Unreachable NLRI Optional Non-Transitive --------------------------------------------------------------------- ---------------------------------------------------------- I didn't quite understand what "non-transitive" meant, so I labbed it up to find out...  

I am using the topology from the INE BGP course, so I figured I would change the MED and see how far the change populated.

Here is the topology (credit to Keith Barker at INE for an excellent course, and also to Tom at CCIE4all for some config: http://ccie4all.wordpress.com/2012/11/05/ccip-bgp-gns3-topology/):

!!! Missing Image

So as it stand now, R6 is advertising the route 6.6.6.0/24 via a network statement, and R8 and R9 can see this:

    R8#sh ip bgp 6.6.6.0
    BGP routing table entry for 6.6.6.0/24, version 8
    Paths: (1 available, best #1, table Default-IP-Routing-Table)
    Flag: 0x820
    Advertised to update-groups:
    1
    3
    192.168.68.6 from 192.168.68.6 (6.6.6.6)
    Origin IGP, metric 0, localpref 100, valid, external, best

    R9#sh ip bgp 6.6.6.0
    BGP routing table entry for 6.6.6.0/24, version 8
    Paths: (1 available, best #1, table Default-IP-Routing-Table)
    Flag: 0x820
    Advertised to update-groups:
    2
    3
    192.168.89.8 from 192.168.89.8 (8.8.8.8)
    Origin IGP, metric 0, localpref 100, valid, internal, best

On R6 I now set up a route-map to change the metric (MED) of all routes advertised to R8:

    route-map CHANGEMETRIC permit 10
    set metric 10

    router bgp 67

    neighbor 192.168.68.8 route-map CHANGEMETRIC out

I then did

    clear ip bgp * soft out

to ensure the change propagated.

This showed on R8, and also on R9:

    R8#sh ip bgp 6.6.6.0
    BGP routing table entry for 6.6.6.0/24, version 11
    Paths: (1 available, best #1, table Default-IP-Routing-Table)
    Flag: 0x4820
    Advertised to update-groups:
    1
    3
    192.168.68.6 from 192.168.68.6 (6.6.6.6)
    Origin IGP, metric 10, localpref 100, valid, external, best

    R9#sh ip bgp 6.6.6.0
    BGP routing table entry for 6.6.6.0/24, version 12
    Paths: (1 available, best #1, table Default-IP-Routing-Table)
    Flag: 0x4820
    Advertised to update-groups:
    2
    3
    192.168.89.8 from 192.168.89.8 (8.8.8.8)
    Origin IGP, metric 10, localpref 100, valid, internal, best

Note that the metric is now 10 on both of these routers.

This proves that "non-transitive" means "will not transit AS's" rather than routers. A router will advertised a received non-transitive attribute to it's iBGP neighbours, but will not advertise them to it's eBGP neighbours.

Share this post

  • Share to Facebook
  • Share to Twitter
  • Share to Google+
  • Share to LinkedIn
  • Share by Email