Skip to content

Commit

Permalink
lib: call vrf update hook when default vrf name changes
Browse files Browse the repository at this point in the history
this is a call done whenever vrf name changes. This is useful on remote
daemons.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
  • Loading branch information
pguibert6WIND committed Aug 27, 2019
1 parent dd7c916 commit 87272af
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion lib/vrf.c
Expand Up @@ -199,9 +199,14 @@ struct vrf *vrf_get(vrf_id_t vrf_id, const char *name)

/* Set name */
if (name && vrf->name[0] != '\0' && strcmp(name, vrf->name)) {
/* update the vrf name */
RB_REMOVE(vrf_name_head, &vrfs_by_name, vrf);
strlcpy(vrf->data.l.netns_name,
name, NS_NAMSIZ);
strlcpy(vrf->name, name, sizeof(vrf->name));
RB_INSERT(vrf_name_head, &vrfs_by_name, vrf);
if (vrf->vrf_id == VRF_DEFAULT)
vrf_set_default_name(vrf->name, false);
} else if (name && vrf->name[0] == '\0') {
strlcpy(vrf->name, name, sizeof(vrf->name));
RB_INSERT(vrf_name_head, &vrfs_by_name, vrf);
Expand Down Expand Up @@ -870,7 +875,8 @@ void vrf_set_default_name(const char *default_name, bool force)
def_vrf->vrf_id);
return;
}

if (strmatch(vrf_default_name, default_name))
return;
snprintf(vrf_default_name, VRF_NAMSIZ, "%s", default_name);
if (def_vrf) {
if (force)
Expand Down

0 comments on commit 87272af

Please sign in to comment.