summaryrefslogtreecommitdiff
path: root/zebra/interface.c
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/interface.c')
-rw-r--r--zebra/interface.c46
1 files changed, 18 insertions, 28 deletions
diff --git a/zebra/interface.c b/zebra/interface.c
index 4eec435f1c..a2f80aff4e 100644
--- a/zebra/interface.c
+++ b/zebra/interface.c
@@ -799,15 +799,6 @@ void if_handle_vrf_change(struct interface *ifp, vrf_id_t vrf_id)
/* Install connected routes (in new VRF). */
if (if_is_operative(ifp))
if_install_connected(ifp);
-
- /* Due to connected route change, schedule RIB processing for both old
- * and new VRF.
- */
- if (IS_ZEBRA_DEBUG_RIB_DETAILED)
- zlog_debug("%u: IF %s VRF change, scheduling RIB processing",
- ifp->vrf_id, ifp->name);
- rib_update(old_vrf_id, RIB_UPDATE_IF_CHANGE);
- rib_update(ifp->vrf_id, RIB_UPDATE_IF_CHANGE);
}
static void ipv6_ll_address_to_mac(struct in6_addr *address, uint8_t *mac)
@@ -950,11 +941,6 @@ void if_up(struct interface *ifp)
/* Install connected routes to the kernel. */
if_install_connected(ifp);
- if (IS_ZEBRA_DEBUG_RIB_DETAILED)
- zlog_debug("%u: IF %s up, scheduling RIB processing",
- ifp->vrf_id, ifp->name);
- rib_update(ifp->vrf_id, RIB_UPDATE_IF_CHANGE);
-
/* Handle interface up for specific types for EVPN. Non-VxLAN interfaces
* are checked to see if (remote) neighbor entries need to be installed
* on them for ARP suppression.
@@ -1008,11 +994,6 @@ void if_down(struct interface *ifp)
/* Uninstall connected routes from the kernel. */
if_uninstall_connected(ifp);
- if (IS_ZEBRA_DEBUG_RIB_DETAILED)
- zlog_debug("%u: IF %s down, scheduling RIB processing",
- ifp->vrf_id, ifp->name);
- rib_update(ifp->vrf_id, RIB_UPDATE_IF_CHANGE);
-
if_nbr_ipv6ll_to_ipv4ll_neigh_del_all(ifp);
/* Delete all neighbor addresses learnt through IPv6 RA */
@@ -1401,26 +1382,35 @@ static void if_dump_vty(struct vty *vty, struct interface *ifp)
struct zebra_l2info_brslave *br_slave;
br_slave = &zebra_if->brslave_info;
- if (br_slave->bridge_ifindex != IFINDEX_INTERNAL)
- vty_out(vty, " Master (bridge) ifindex %u\n",
- br_slave->bridge_ifindex);
+ if (br_slave->bridge_ifindex != IFINDEX_INTERNAL) {
+ if (br_slave->br_if)
+ vty_out(vty, " Master interface: %s\n",
+ br_slave->br_if->name);
+ else
+ vty_out(vty, " Master ifindex: %u\n",
+ br_slave->bridge_ifindex);
+ }
}
if (IS_ZEBRA_IF_BOND_SLAVE(ifp)) {
struct zebra_l2info_bondslave *bond_slave;
bond_slave = &zebra_if->bondslave_info;
- if (bond_slave->bond_ifindex != IFINDEX_INTERNAL)
- vty_out(vty, " Master (bond) ifindex %u\n",
- bond_slave->bond_ifindex);
+ if (bond_slave->bond_ifindex != IFINDEX_INTERNAL) {
+ if (bond_slave->bond_if)
+ vty_out(vty, " Master interface: %s\n",
+ bond_slave->bond_if->name);
+ else
+ vty_out(vty, " Master ifindex: %u\n",
+ bond_slave->bond_ifindex);
+ }
}
if (zebra_if->link_ifindex != IFINDEX_INTERNAL) {
- vty_out(vty, " Link ifindex %u", zebra_if->link_ifindex);
if (zebra_if->link)
- vty_out(vty, "(%s)\n", zebra_if->link->name);
+ vty_out(vty, " Parent interface: %s\n", zebra_if->link->name);
else
- vty_out(vty, "(Unknown)\n");
+ vty_out(vty, " Parent ifindex: %d\n", zebra_if->link_ifindex);
}
if (HAS_LINK_PARAMS(ifp)) {