Merge pull request #767 from donaldsharp/if_update

bgpd, lib, zebra: Fix if_update function to represent what it does
This commit is contained in:
Jafar Al-Gharaibeh 2017-06-29 23:42:21 -05:00 committed by GitHub
commit fd576f61bc
5 changed files with 6 additions and 11 deletions

View File

@ -581,7 +581,7 @@ bgp_interface_vrf_update (int command, struct zclient *zclient, zebra_size_t len
}
}
if_update (ifp, ifp->name, strlen (ifp->name), new_vrf_id);
if_update_to_new_vrf (ifp, new_vrf_id);
bgp = bgp_lookup_by_vrf_id (new_vrf_id);
if (!bgp)

View File

@ -158,7 +158,7 @@ if_create (const char *name, int namelen, vrf_id_t vrf_id)
/* Create new interface structure. */
void
if_update (struct interface *ifp, const char *name, int namelen, vrf_id_t vrf_id)
if_update_to_new_vrf (struct interface *ifp, vrf_id_t vrf_id)
{
struct list *intf_list = vrf_iflist_get (vrf_id);
@ -166,10 +166,6 @@ if_update (struct interface *ifp, const char *name, int namelen, vrf_id_t vrf_id
if (vrf_iflist (ifp->vrf_id))
listnode_delete (vrf_iflist (ifp->vrf_id), ifp);
assert (name);
assert (namelen <= INTERFACE_NAMSIZ); /* Need space for '\0' at end. */
strncpy (ifp->name, name, namelen);
ifp->name[namelen] = '\0';
ifp->vrf_id = vrf_id;
if (if_lookup_by_name (ifp->name, vrf_id) == NULL)
listnode_add_sort (intf_list, ifp);
@ -453,7 +449,7 @@ if_get_by_name_len (const char *name, size_t namelen, vrf_id_t vrf_id, int vty)
}
else
{
if_update (ifp, name, namelen, vrf_id);
if_update_to_new_vrf (ifp, vrf_id);
return ifp;
}
}

View File

@ -393,8 +393,7 @@ struct nbr_connected
/* Prototypes. */
extern int if_cmp_name_func (char *, char *);
extern void if_update (struct interface *, const char *name, int namelen,
vrf_id_t vrf_id);
extern void if_update_to_new_vrf (struct interface *, vrf_id_t vrf_id);
extern struct interface *if_create (const char *name, int namelen,
vrf_id_t vrf_id);
extern struct interface *if_lookup_by_index (ifindex_t, vrf_id_t vrf_id);

View File

@ -774,7 +774,7 @@ netlink_link_change (struct sockaddr_nl *snl, struct nlmsghdr *h,
{
/* pre-configured interface, learnt now */
if (ifp->vrf_id != vrf_id)
if_update (ifp, name, strlen(name), vrf_id);
if_update_to_new_vrf (ifp, vrf_id);
}
/* Update interface information. */

View File

@ -737,7 +737,7 @@ if_handle_vrf_change (struct interface *ifp, vrf_id_t vrf_id)
zebra_interface_vrf_update_del (ifp, vrf_id);
/* update VRF */
if_update (ifp, ifp->name, strlen (ifp->name), vrf_id);
if_update_to_new_vrf (ifp, vrf_id);
/* Send out notification on interface VRF change. */
/* This is to issue an ADD, if needed. */