[quagga-dev 5963] Patch for bgpd<->IOS-XR IPv4 Multicast NLRI Issue

Michael Lambert lambert at psc.edu
Thu Sep 25 19:39:33 BST 2008


A while back I created bug #472 under Bugzilla.  It deals with an  
interoperability issue between bgpd (0.99.10) and IOS-XR on the Cisco  
CRS-1.  The issue is that Cisco chose a very strict interpretation of  
the RFCs for multiprotocol BGP--they leave out the NEXT_HOP attribute  
completely (at least for IPv4 multicast NLRI).  The following patch  
fills in the NEXT_HOP field (if missing) with the next-hop value from  
MP_REACH_NLRI.  I'm not sure whether it's a real fix or just a hack,  
but it seems to work.

--------------------
--- bgpd/bgp_attr.c.sav 2008-06-07 16:26:10.000000000 -0400
+++ bgpd/bgp_attr.c     2008-09-25 13:54:43.000000000 -0400
@@ -1304,6 +1304,8 @@
      {
      case 4:
        stream_get (&attre->mp_nexthop_global_in, s, 4);
+      if (attr->nexthop.s_addr == 0)
+       memcpy(&attr->nexthop.s_addr, &attre->mp_nexthop_global_in, 4);
        break;
      case 12:
        {
--------------------

Michael

-----
Michael H. Lambert, GigaPoP Coordinator        Phone: +1 412 268-4960
Pittsburgh Supercomputing Center               FAX:   +1 412 268-5832
300 S Craig St, Pittsburgh, PA  15213 USA      lambert at psc.edu






More information about the Quagga-dev mailing list