Skip to content

Commit

Permalink
lib, zebra: add "vrf_id" into the "struct interface"
Browse files Browse the repository at this point in the history
Later, an interface will belong to a specific VRF. Now we add a
property "vrf_id" to the "struct interface", and keep it as the
default value 0.

This property is shown when displaying interfaces information.
It is also added in some logs.

This is just the preparation to move the interace list into the
"struct vrf". The main logic is not changed.

Signed-off-by: Feng Lu <lu.feng@6wind.com>
Reviewed-by: Alain Ritoux <alain.ritoux@6wind.com>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Acked-by: Vincent JARDIN <vincent.jardin@6wind.com>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
  • Loading branch information
feng-lu authored and eqvinox committed Jun 2, 2015
1 parent 41f44a2 commit 2fc97f6
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 13 deletions.
8 changes: 4 additions & 4 deletions lib/if.c
Original file line number Diff line number Diff line change
Expand Up @@ -454,12 +454,12 @@ if_dump (const struct interface *ifp)
struct connected *c __attribute__((unused));

for (ALL_LIST_ELEMENTS_RO (ifp->connected, node, c))
zlog_info ("Interface %s index %d metric %d mtu %d "
zlog_info ("Interface %s vrf %u index %d metric %d mtu %d "
#ifdef HAVE_IPV6
"mtu6 %d "
#endif /* HAVE_IPV6 */
"%s",
ifp->name, ifp->ifindex, ifp->metric, ifp->mtu,
ifp->name, ifp->vrf_id, ifp->ifindex, ifp->metric, ifp->mtu,
#ifdef HAVE_IPV6
ifp->mtu6,
#endif /* HAVE_IPV6 */
Expand Down Expand Up @@ -675,8 +675,8 @@ connected_log (struct connected *connected, char *str)
ifp = connected->ifp;
p = connected->address;

snprintf (logbuf, BUFSIZ, "%s interface %s %s %s/%d ",
str, ifp->name, prefix_family_str (p),
snprintf (logbuf, BUFSIZ, "%s interface %s vrf %u %s %s/%d ",
str, ifp->name, ifp->vrf_id, prefix_family_str (p),
inet_ntop (p->family, &p->u.prefix, buf, BUFSIZ),
p->prefixlen);

Expand Down
2 changes: 2 additions & 0 deletions lib/if.h
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,8 @@ struct interface
#ifdef HAVE_NET_RT_IFLIST
struct if_data stats;
#endif /* HAVE_NET_RT_IFLIST */

vrf_id_t vrf_id;
};

/* Connected address structure. */
Expand Down
22 changes: 13 additions & 9 deletions zebra/interface.c
Original file line number Diff line number Diff line change
Expand Up @@ -381,21 +381,23 @@ if_add_update (struct interface *ifp)
if (if_data && if_data->shutdown == IF_ZEBRA_SHUTDOWN_ON)
{
if (IS_ZEBRA_DEBUG_KERNEL)
zlog_debug ("interface %s index %d is shutdown. Won't wake it up.",
ifp->name, ifp->ifindex);
zlog_debug ("interface %s vrf %u index %d is shutdown. "
"Won't wake it up.",
ifp->name, ifp->vrf_id, ifp->ifindex);
return;
}

if_addr_wakeup (ifp);

if (IS_ZEBRA_DEBUG_KERNEL)
zlog_debug ("interface %s index %d becomes active.",
ifp->name, ifp->ifindex);
zlog_debug ("interface %s vrf %u index %d becomes active.",
ifp->name, ifp->vrf_id, ifp->ifindex);
}
else
{
if (IS_ZEBRA_DEBUG_KERNEL)
zlog_debug ("interface %s index %d is added.", ifp->name, ifp->ifindex);
zlog_debug ("interface %s vrf %u index %d is added.",
ifp->name, ifp->vrf_id, ifp->ifindex);
}
}

Expand All @@ -412,17 +414,17 @@ if_delete_update (struct interface *ifp)

if (if_is_up(ifp))
{
zlog_err ("interface %s index %d is still up while being deleted.",
ifp->name, ifp->ifindex);
zlog_err ("interface %s vrf %u index %d is still up while being deleted.",
ifp->name, ifp->vrf_id, ifp->ifindex);
return;
}

/* Mark interface as inactive */
UNSET_FLAG (ifp->status, ZEBRA_INTERFACE_ACTIVE);

if (IS_ZEBRA_DEBUG_KERNEL)
zlog_debug ("interface %s index %d is now inactive.",
ifp->name, ifp->ifindex);
zlog_debug ("interface %s vrf %u index %d is now inactive.",
ifp->name, ifp->vrf_id, ifp->ifindex);

/* Delete connected routes from the kernel. */
if (ifp->connected)
Expand Down Expand Up @@ -726,6 +728,8 @@ if_dump_vty (struct vty *vty, struct interface *ifp)
vty_out (vty, "down%s", VTY_NEWLINE);
}

vty_out (vty, " vrf: %u%s", ifp->vrf_id, VTY_NEWLINE);

if (ifp->desc)
vty_out (vty, " Description: %s%s", ifp->desc,
VTY_NEWLINE);
Expand Down

0 comments on commit 2fc97f6

Please sign in to comment.