Quagga BGP – How to Advertise Non-Transitive Routes

bgpquagga

I have two ebgp peers connected to my quagga 1.0.20160315 router.

One of those peers (peer1) is advertising routes with flag 0x800 (Optional Non-Transitive) in the MP_REACH_NLRI path attribute.
Also the next hop is marked as Optional Non-Transitive.

My quagga router is not advertising this route to the other peer2 and I suspect this is because of the Non-Transitive flags in the path attribute.

Is their a way to override non-transitive flag in incoming routes and redistribute them to all the other peers?

Thanks in advance for the help.
Regards

Update
I got it working by using a route map and re-writing the bgp next hop. Original route was not advertised because of Non Transitive flags.

router bgp 64496  
bgp router-id 192.168.56.1  
network 192.1.1.0/24  
 !  
 redistribute connected  
 neighbor 192.168.20.201 remote-as 64496  
 neighbor 192.168.20.201 route-reflector-client  
 neighbor 192.168.20.201 update-source 192.168.20.1  
 neighbor 192.168.20.201 soft-reconfiguration inbound  
redistribute connected  
 neighbor 192.168.56.202 remote-as 64498  
 neighbor 192.168.56.202 update-source 192.168.56.1  
 neighbor 192.168.56.202 soft-reconfiguration inbound  
 neighbor 192.168.56.202 route-map set-nexthop out  
!  
route-map set-nexthop permit 10  
 set ip next-hop 192.168.56.1  
 set metric 200  
 set local-preference 5  
!   

Best Answer

No, you cannot change the flag. Attribute MP_REACH_NLRI is defined to be Optional Non-Transitive in RFC4760. What kind of routes you are trying to advertise?

Update Neighbor to 192.168.20.201 in same AS(64496) is iBGP, not eBGP. You should be able to fix it easily by changing local AS or neighbor AS.

The reason why it wasn't working before you set nexthop is that Quagga router received routes from 192.168.20.201 but their nexthop cannot be used. You can use neighbor <peer> next-hop-self to fix it instead of route-map.

Also if you want to run eBGP for all routers, you don't need to configure neighbor <peer> route-reflector-client which is for iBGP.

Related Topic