zebra: improve logs when replacing interface to an other netns

The log information is better displated.
Also the variable name fits better with other_ifp, than with old_ifp.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
This commit is contained in:
Philippe Guibert 2018-04-24 12:19:48 +02:00
parent 1c96f2fb96
commit 9373219c67

View File

@ -1025,7 +1025,7 @@ static void if_netlink_check_ifp_instance_consistency(uint16_t cmd,
struct interface *ifp, struct interface *ifp,
ns_id_t ns_id) ns_id_t ns_id)
{ {
struct interface *old_ifp; struct interface *other_ifp;
/* /*
* look if interface name is also found on other netns * look if interface name is also found on other netns
@ -1037,29 +1037,36 @@ static void if_netlink_check_ifp_instance_consistency(uint16_t cmd,
if (!vrf_is_backend_netns() || if (!vrf_is_backend_netns() ||
!strcmp(ifp->name, "lo")) !strcmp(ifp->name, "lo"))
return; return;
old_ifp = if_lookup_by_name_not_ns(ns_id, ifp->name); other_ifp = if_lookup_by_name_not_ns(ns_id, ifp->name);
if (!old_ifp) if (!other_ifp)
return; return;
if ((cmd == RTM_NEWLINK) if ((cmd == RTM_NEWLINK)
&& (CHECK_FLAG(old_ifp->status, ZEBRA_INTERFACE_ACTIVE))) && (CHECK_FLAG(other_ifp->status, ZEBRA_INTERFACE_ACTIVE)))
return; return;
if (IS_ZEBRA_DEBUG_KERNEL) if (IS_ZEBRA_DEBUG_KERNEL && cmd == RTM_NEWLINK) {
zlog_debug("%s %s(%u) %s VRF %u", zlog_debug("RTM_NEWLINK %s(%u, VRF %u) replaces %s(%u, VRF %u)\n",
cmd == RTM_DELLINK ?
"RTM_DELLINK replaced by" :
"RTM_NEWLINK replaces",
ifp->name, ifp->name,
old_ifp->ifindex, ifp->ifindex,
cmd == RTM_DELLINK ? ifp->vrf_id,
"in" : "from", other_ifp->name,
old_ifp->vrf_id); other_ifp->ifindex,
other_ifp->vrf_id);
} else if (IS_ZEBRA_DEBUG_KERNEL && cmd == RTM_DELLINK) {
zlog_debug("RTM_DELLINK %s(%u, VRF %u) is replaced by %s(%u, VRF %u)\n",
ifp->name,
ifp->ifindex,
ifp->vrf_id,
other_ifp->name,
other_ifp->ifindex,
other_ifp->vrf_id);
}
/* the found interface replaces the current one /* the found interface replaces the current one
* remove it * remove it
*/ */
if (cmd == RTM_DELLINK) if (cmd == RTM_DELLINK)
if_delete(ifp); if_delete(ifp);
else else
if_delete(old_ifp); if_delete(other_ifp);
/* the found interface is replaced by the current one /* the found interface is replaced by the current one
* suppress it * suppress it
*/ */