diff options
Diffstat (limited to 'src/plugins/linux-cp/lcp_adj.c')
-rw-r--r-- | src/plugins/linux-cp/lcp_adj.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/plugins/linux-cp/lcp_adj.c b/src/plugins/linux-cp/lcp_adj.c index cbeb91a75a1..bfbc2fec913 100644 --- a/src/plugins/linux-cp/lcp_adj.c +++ b/src/plugins/linux-cp/lcp_adj.c @@ -14,6 +14,8 @@ */ #include <vnet/adj/adj_delegate.h> + +#include <linux-cp/lcp_interface.h> #include <linux-cp/lcp_adj.h> #include <vppinfra/bihash_32_8.h> @@ -133,9 +135,19 @@ lcp_adj_delegate_adj_created (adj_index_t ai) lcp_adj_kv_t kv; index_t lai = INDEX_INVALID; lcp_adj_key_t *adj_key; + index_t lipi; + lcp_itf_pair_t *lip; adj = adj_get (ai); + lipi = lcp_itf_pair_find_by_phy (adj->rewrite_header.sw_if_index); + if (lipi == INDEX_INVALID) + return; + + lip = lcp_itf_pair_get (lipi); + if (lip->lip_host_type == LCP_ITF_HOST_TUN) + return; + if (IP_LOOKUP_NEXT_REWRITE == adj->lookup_next_index) { lcp_adj_mk_key_adj (adj, &kv.k); |