--- embedaddon/quagga/zebra/connected.c 2012/02/21 17:26:11 1.1.1.1 +++ embedaddon/quagga/zebra/connected.c 2013/07/21 23:54:41 1.1.1.3 @@ -189,8 +189,11 @@ connected_up_ipv4 (struct interface *ifp, struct conne return; rib_add_ipv4 (ZEBRA_ROUTE_CONNECT, 0, &p, NULL, NULL, ifp->ifindex, - RT_TABLE_MAIN, ifp->metric, 0); + 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 (); } @@ -295,8 +298,10 @@ connected_down_ipv4 (struct interface *ifp, struct con return; /* 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); + 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 (); } @@ -343,7 +348,7 @@ connected_up_ipv6 (struct interface *ifp, struct conne #endif rib_add_ipv6 (ZEBRA_ROUTE_CONNECT, 0, &p, NULL, ifp->ifindex, RT_TABLE_MAIN, - ifp->metric, 0); + ifp->metric, 0, SAFI_UNICAST); rib_update (); } @@ -417,7 +422,7 @@ connected_down_ipv6 (struct interface *ifp, struct con if (IN6_IS_ADDR_UNSPECIFIED (&p.prefix)) return; - rib_delete_ipv6 (ZEBRA_ROUTE_CONNECT, 0, &p, NULL, ifp->ifindex, 0); + rib_delete_ipv6 (ZEBRA_ROUTE_CONNECT, 0, &p, NULL, ifp->ifindex, 0, SAFI_UNICAST); rib_update (); }