From 76260a61b258b16ea4f385eab7f69ce8a3bf7a25 Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Fri, 23 Sep 2016 12:05:21 -0400 Subject: [PATCH] Fix source RPF check in ip4_local We need to accept src ip addresses which hit receive and clean adjacencies. Change-Id: I8cf07f622058203665ed09280452ed8412984bd5 Signed-off-by: Dave Barach --- vnet/vnet/ip/ip4_forward.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/vnet/vnet/ip/ip4_forward.c b/vnet/vnet/ip/ip4_forward.c index 4c49d0e4916..f7cc7667069 100644 --- a/vnet/vnet/ip/ip4_forward.c +++ b/vnet/vnet/ip/ip4_forward.c @@ -1505,6 +1505,8 @@ ip4_local (vlib_main_t * vm, error0 = (error0 == IP4_ERROR_UNKNOWN_PROTOCOL && dpo0->dpoi_type != DPO_ADJACENCY && dpo0->dpoi_type != DPO_ADJACENCY_INCOMPLETE + && dpo0->dpoi_type != DPO_RECEIVE + && dpo0->dpoi_type != DPO_ADJACENCY_GLEAN && ip0->dst_address.as_u32 != 0xFFFFFFFF ? IP4_ERROR_SRC_LOOKUP_MISS : error0); @@ -1514,6 +1516,8 @@ ip4_local (vlib_main_t * vm, error1 = (error1 == IP4_ERROR_UNKNOWN_PROTOCOL && dpo1->dpoi_type != DPO_ADJACENCY && dpo1->dpoi_type != DPO_ADJACENCY_INCOMPLETE + && dpo0->dpoi_type != DPO_RECEIVE + && dpo0->dpoi_type != DPO_ADJACENCY_GLEAN && ip1->dst_address.as_u32 != 0xFFFFFFFF ? IP4_ERROR_SRC_LOOKUP_MISS : error1); @@ -1669,6 +1673,7 @@ ip4_local (vlib_main_t * vm, && dpo0->dpoi_type != DPO_ADJACENCY && dpo0->dpoi_type != DPO_ADJACENCY_INCOMPLETE && dpo0->dpoi_type != DPO_RECEIVE + && dpo0->dpoi_type != DPO_ADJACENCY_GLEAN && ip0->dst_address.as_u32 != 0xFFFFFFFF ? IP4_ERROR_SRC_LOOKUP_MISS : error0); -- 2.16.6