]> git.puffer.fish Git - matthieu/frr.git/commitdiff
zebra: feed Connected routes into MRIB
authorG.Balaji <balajig81@gmail.com>
Mon, 2 Apr 2012 18:01:29 +0000 (23:31 +0530)
committerDavid Lamparter <equinox@diac24.net>
Wed, 2 May 2012 15:13:49 +0000 (17:13 +0200)
The SAFI_MULTICAST RIB needs to contain Connected routes so that the
nexthop lookup does not fail and so that multicast routing daemons do
not need to sidestep and look into SAFI_UNICAST to be aware of connected
subnets.

  * zebra/connected.c: add & delete connected in SAFI_MULTICAST

Signed-off-by: G.Balaji <balajig81@gmail.com>
[merged add/delete patches]
Signed-off-by: David Lamparter <equinox@diac24.net>
zebra/connected.c

index f699b147d817bf714ed500e54b082d2ad89fbe94..05538c5d49144284b730af94d4d7eff443cc26fc 100644 (file)
@@ -191,6 +191,9 @@ connected_up_ipv4 (struct interface *ifp, struct connected *ifc)
   rib_add_ipv4 (ZEBRA_ROUTE_CONNECT, 0, &p, NULL, NULL, ifp->ifindex,
        RT_TABLE_MAIN, ifp->metric, 0, SAFI_UNICAST);
 
+  rib_add_ipv4 (ZEBRA_ROUTE_CONNECT, 0, &p, NULL, NULL, ifp->ifindex,
+       RT_TABLE_MAIN, ifp->metric, 0, SAFI_MULTICAST);
+
   rib_update ();
 }
 
@@ -297,6 +300,8 @@ connected_down_ipv4 (struct interface *ifp, struct connected *ifc)
   /* Same logic as for connected_up_ipv4(): push the changes into the head. */
   rib_delete_ipv4 (ZEBRA_ROUTE_CONNECT, 0, &p, NULL, ifp->ifindex, 0, SAFI_UNICAST);
 
+  rib_delete_ipv4 (ZEBRA_ROUTE_CONNECT, 0, &p, NULL, ifp->ifindex, 0, SAFI_MULTICAST);
+
   rib_update ();
 }