diff options
| author | David Lamparter <equinox@diac24.net> | 2018-08-31 08:51:01 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-08-31 08:51:01 +0200 |
| commit | 5c724747c122cf7be0dcded9af6b88b31bf5f6c6 (patch) | |
| tree | b9f1056ca504225b46089d69d25a12e40b2f72b1 /zebra/if_netlink.c | |
| parent | a91a5dcdd6f797336fc1e6ccf69567a384a76097 (diff) | |
| parent | 0e4864eaf0dfd5d883d8192a905405b9a72af68e (diff) | |
Merge pull request #2923 from pguibert6WIND/fix_veth_namespace
zebra: when veth link is used across vrf, the link may not be good
Diffstat (limited to 'zebra/if_netlink.c')
| -rw-r--r-- | zebra/if_netlink.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/zebra/if_netlink.c b/zebra/if_netlink.c index a15d914243..0dcf5082a2 100644 --- a/zebra/if_netlink.c +++ b/zebra/if_netlink.c @@ -259,6 +259,8 @@ static void netlink_determine_zebra_iftype(char *kind, zebra_iftype_t *zif_type) *zif_type = ZEBRA_IF_VXLAN; else if (strcmp(kind, "macvlan") == 0) *zif_type = ZEBRA_IF_MACVLAN; + else if (strcmp(kind, "veth") == 0) + *zif_type = ZEBRA_IF_VETH; } #define parse_rtattr_nested(tb, max, rta) \ @@ -675,7 +677,7 @@ static int netlink_interface(struct nlmsghdr *h, ns_id_t ns_id, int startup) SET_FLAG(ifp->status, ZEBRA_INTERFACE_VRF_LOOPBACK); /* Update link. */ - zebra_if_update_link(ifp, link_ifindex); + zebra_if_update_link(ifp, link_ifindex, ns_id); /* Hardware type and address. */ ifp->ll_type = netlink_to_zebra_link_type(ifi->ifi_type); @@ -1262,7 +1264,7 @@ int netlink_link_change(struct nlmsghdr *h, ns_id_t ns_id, int startup) ZEBRA_INTERFACE_VRF_LOOPBACK); /* Update link. */ - zebra_if_update_link(ifp, link_ifindex); + zebra_if_update_link(ifp, link_ifindex, ns_id); netlink_interface_update_hw_addr(tb, ifp); |
