aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/gre/node.c
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2019-12-17 20:15:03 +0000
committerJohn Lo <loj@cisco.com>2019-12-19 15:17:40 +0000
commit4c16d80067b35973ebc5a86d685db52fea2fd052 (patch)
treecaf9604e08d907fda6f5c152675e6305b9f173f3 /src/vnet/gre/node.c
parentcfffeae1e333c45e8417c9252432efbff28e371a (diff)
gre: multipoint ingress lookup fix
Type: fix Change-Id: I170edd62220a63cb19efea3032e173fb87730b1b Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/vnet/gre/node.c')
-rw-r--r--src/vnet/gre/node.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/vnet/gre/node.c b/src/vnet/gre/node.c
index 891fc9c08d4..14fb0877a93 100644
--- a/src/vnet/gre/node.c
+++ b/src/vnet/gre/node.c
@@ -239,16 +239,17 @@ gre_input (vlib_main_t * vm,
len[0] = vlib_buffer_length_in_chain (vm, b[0]);
len[1] = vlib_buffer_length_in_chain (vm, b[1]);
+ /* always search for P2P types in the DP */
if (is_ipv6)
{
gre_mk_key6 (&ip6[0]->dst_address,
&ip6[0]->src_address,
vnet_buffer (b[0])->ip.fib_index,
- type[0], 0, &key[0].gtk_v6);
+ type[0], GRE_TUNNEL_MODE_P2P, 0, &key[0].gtk_v6);
gre_mk_key6 (&ip6[1]->dst_address,
&ip6[1]->src_address,
vnet_buffer (b[1])->ip.fib_index,
- type[1], 0, &key[1].gtk_v6);
+ type[1], GRE_TUNNEL_MODE_P2P, 0, &key[1].gtk_v6);
matched[0] = gre_match_key6 (&cached_key.gtk_v6, &key[0].gtk_v6);
matched[1] = gre_match_key6 (&cached_key.gtk_v6, &key[1].gtk_v6);
}
@@ -257,11 +258,11 @@ gre_input (vlib_main_t * vm,
gre_mk_key4 (ip4[0]->dst_address,
ip4[0]->src_address,
vnet_buffer (b[0])->ip.fib_index,
- type[0], 0, &key[0].gtk_v4);
+ type[0], GRE_TUNNEL_MODE_P2P, 0, &key[0].gtk_v4);
gre_mk_key4 (ip4[1]->dst_address,
ip4[1]->src_address,
vnet_buffer (b[1])->ip.fib_index,
- type[1], 0, &key[1].gtk_v4);
+ type[1], GRE_TUNNEL_MODE_P2P, 0, &key[1].gtk_v4);
matched[0] = gre_match_key4 (&cached_key.gtk_v4, &key[0].gtk_v4);
matched[1] = gre_match_key4 (&cached_key.gtk_v4, &key[1].gtk_v4);
}
@@ -380,7 +381,7 @@ gre_input (vlib_main_t * vm,
gre_mk_key6 (&ip6[0]->dst_address,
&ip6[0]->src_address,
vnet_buffer (b[0])->ip.fib_index,
- type[0], 0, &key[0].gtk_v6);
+ type[0], GRE_TUNNEL_MODE_P2P, 0, &key[0].gtk_v6);
matched[0] = gre_match_key6 (&cached_key.gtk_v6, &key[0].gtk_v6);
}
else
@@ -388,7 +389,7 @@ gre_input (vlib_main_t * vm,
gre_mk_key4 (ip4[0]->dst_address,
ip4[0]->src_address,
vnet_buffer (b[0])->ip.fib_index,
- type[0], 0, &key[0].gtk_v4);
+ type[0], GRE_TUNNEL_MODE_P2P, 0, &key[0].gtk_v4);
matched[0] = gre_match_key4 (&cached_key.gtk_v4, &key[0].gtk_v4);
}