diff options
Diffstat (limited to 'zebra/connected.c')
| -rw-r--r-- | zebra/connected.c | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/zebra/connected.c b/zebra/connected.c index 2977aebfbc..ee0823f56f 100644 --- a/zebra/connected.c +++ b/zebra/connected.c @@ -276,15 +276,13 @@ void connected_up(struct interface *ifp, struct connected *ifc) return; } - if (!CHECK_FLAG(ifc->flags, ZEBRA_IFA_NOPREFIXROUTE)) { - rib_add(afi, SAFI_UNICAST, zvrf->vrf->vrf_id, - ZEBRA_ROUTE_CONNECT, 0, flags, &p, NULL, &nh, 0, - zvrf->table_id, metric, 0, 0, 0, false); - - rib_add(afi, SAFI_MULTICAST, zvrf->vrf->vrf_id, - ZEBRA_ROUTE_CONNECT, 0, flags, &p, NULL, &nh, 0, - zvrf->table_id, metric, 0, 0, 0, false); - } + rib_add(afi, SAFI_UNICAST, zvrf->vrf->vrf_id, ZEBRA_ROUTE_CONNECT, 0, + flags, &p, NULL, &nh, 0, zvrf->table_id, metric, 0, 0, 0, + false); + + rib_add(afi, SAFI_MULTICAST, zvrf->vrf->vrf_id, ZEBRA_ROUTE_CONNECT, 0, + flags, &p, NULL, &nh, 0, zvrf->table_id, metric, 0, 0, 0, + false); /* Schedule LSP forwarding entries for processing, if appropriate. */ if (zvrf->vrf->vrf_id == VRF_DEFAULT) { @@ -459,15 +457,11 @@ void connected_down(struct interface *ifp, struct connected *ifc) * Same logic as for connected_up(): push the changes into the * head. */ - if (!CHECK_FLAG(ifc->flags, ZEBRA_IFA_NOPREFIXROUTE)) { - rib_delete(afi, SAFI_UNICAST, zvrf->vrf->vrf_id, - ZEBRA_ROUTE_CONNECT, 0, 0, &p, NULL, &nh, 0, - zvrf->table_id, 0, 0, false); - - rib_delete(afi, SAFI_MULTICAST, zvrf->vrf->vrf_id, - ZEBRA_ROUTE_CONNECT, 0, 0, &p, NULL, &nh, 0, - zvrf->table_id, 0, 0, false); - } + rib_delete(afi, SAFI_UNICAST, zvrf->vrf->vrf_id, ZEBRA_ROUTE_CONNECT, 0, + 0, &p, NULL, &nh, 0, zvrf->table_id, 0, 0, false); + + rib_delete(afi, SAFI_MULTICAST, zvrf->vrf->vrf_id, ZEBRA_ROUTE_CONNECT, + 0, 0, &p, NULL, &nh, 0, zvrf->table_id, 0, 0, false); /* Schedule LSP forwarding entries for processing, if appropriate. */ if (zvrf->vrf->vrf_id == VRF_DEFAULT) { |
