summaryrefslogtreecommitdiffstats
path: root/src/plugins/gbp/gbp_learn_node.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/gbp/gbp_learn_node.c')
-rw-r--r--src/plugins/gbp/gbp_learn_node.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/plugins/gbp/gbp_learn_node.c b/src/plugins/gbp/gbp_learn_node.c
index 8c623e8bd3e..42d1ceb83e1 100644
--- a/src/plugins/gbp/gbp_learn_node.c
+++ b/src/plugins/gbp/gbp_learn_node.c
@@ -543,7 +543,7 @@ gbp_learn_l3 (vlib_main_t * vm,
ge0 = gbp_endpoint_find_ip6 (&ip6_0->src_address, fib_index0);
- if (NULL == ge0)
+ if ((NULL == ge0) || !gbp_endpoint_is_learnt (ge0))
{
t0 = throttle_check (&glm->gl_l3_throttle,
thread_index,
@@ -576,7 +576,7 @@ gbp_learn_l3 (vlib_main_t * vm,
gbp_learn_get_outer (eth0, &outer_src, &outer_dst);
ge0 = gbp_endpoint_find_ip4 (&ip4_0->src_address, fib_index0);
- if (NULL == ge0)
+ if ((NULL == ge0) || !gbp_endpoint_is_learnt (ge0))
{
t0 = throttle_check (&glm->gl_l3_throttle, thread_index,
ip4_0->src_address.as_u32, seed);