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/interface.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/interface.c')
| -rw-r--r-- | zebra/interface.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/zebra/interface.c b/zebra/interface.c index 763931d350..32ee1a566a 100644 --- a/zebra/interface.c +++ b/zebra/interface.c @@ -1002,13 +1002,16 @@ void if_refresh(struct interface *ifp) if_get_flags(ifp); } -void zebra_if_update_link(struct interface *ifp, ifindex_t link_ifindex) +void zebra_if_update_link(struct interface *ifp, ifindex_t link_ifindex, + ns_id_t ns_id) { struct zebra_if *zif; + if (IS_ZEBRA_IF_VETH(ifp)) + return; zif = (struct zebra_if *)ifp->info; zif->link_ifindex = link_ifindex; - zif->link = if_lookup_by_index_per_ns(zebra_ns_lookup(NS_DEFAULT), + zif->link = if_lookup_by_index_per_ns(zebra_ns_lookup(ns_id), link_ifindex); } @@ -1093,6 +1096,10 @@ static const char *zebra_ziftype_2str(zebra_iftype_t zif_type) return "VRF"; break; + case ZEBRA_IF_VETH: + return "VETH"; + break; + default: return "Unknown"; break; |
