diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-03-22 22:03:04 +0100 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-03-23 13:30:08 +0100 |
commit | 2878e4dff6fa9b4c2b1b99fc56b889985e65ad66 (patch) | |
tree | c2ed127d234063dfbe50d9f3d5f2b7d2103de7f6 /zebra/rt_netlink.c | |
parent | zebra: Replace vrf with zebra_vrf in a few places (diff) | |
download | frr-2878e4dff6fa9b4c2b1b99fc56b889985e65ad66.tar.xz frr-2878e4dff6fa9b4c2b1b99fc56b889985e65ad66.zip |
zebra: Some small modifications to actually delete the vrf
zebra was not actually deleting the vrf passed in.
Ticket: CM-9412
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
Diffstat (limited to 'zebra/rt_netlink.c')
-rw-r--r-- | zebra/rt_netlink.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c index 6258c4bf6..ffab76bbe 100644 --- a/zebra/rt_netlink.c +++ b/zebra/rt_netlink.c @@ -581,7 +581,8 @@ netlink_vrf_change (struct nlmsghdr *h, struct rtattr *tb, const char *name) if (!vrf) zlog_warn ("%s: vrf not found", __func__); - vrf_delete_update(vrf); + vrf_delete_update (vrf); + vrf_delete (vrf); } } @@ -1528,7 +1529,7 @@ rta_addattr_l (struct rtattr *rta, int maxlen, int type, void *data, int alen) len = RTA_LENGTH (alen); - if (RTA_ALIGN (rta->rta_len) + len > maxlen) + if ((int)RTA_ALIGN (rta->rta_len) + len > maxlen) return -1; subrta = (struct rtattr *) (((char *) rta) + RTA_ALIGN (rta->rta_len)); |