aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2020-04-08 08:28:06 -0400
committerNeale Ranns <nranns@cisco.com>2020-04-08 08:28:06 -0400
commit88cecfad98d2e8b32e68b90538c2c4cb906eb204 (patch)
treec204b4bab7db1b06023688668c172b9d445e04ae
parentf18f09b16b02f3b136be0794a3de5f9ef6e6f651 (diff)
ip: do not clear the locally-originated flag
Type: fix - doing so in MTU dec, means mtu_inc is broken - there's no need to. if a packet encounters ipX-rewrite a second time then it went through a tunnel the first time and is still locally originated. Change-Id: I0f279c2837b608c1677485fe93f63398ab2737b3 Signed-off-by: Neale Ranns <nranns@cisco.com>
-rw-r--r--src/vnet/ip/ip4_forward.c10
-rw-r--r--src/vnet/ip/ip6_forward.c10
2 files changed, 4 insertions, 16 deletions
diff --git a/src/vnet/ip/ip4_forward.c b/src/vnet/ip/ip4_forward.c
index 7471a001e7a..c945f70a9d7 100644
--- a/src/vnet/ip/ip4_forward.c
+++ b/src/vnet/ip/ip4_forward.c
@@ -1990,10 +1990,7 @@ ip4_ttl_inc (vlib_buffer_t * b, ip4_header_t * ip)
i32 ttl;
u32 checksum;
if (PREDICT_FALSE (b->flags & VNET_BUFFER_F_LOCALLY_ORIGINATED))
- {
- b->flags &= ~VNET_BUFFER_F_LOCALLY_ORIGINATED;
- return;
- }
+ return;
ttl = ip->ttl;
@@ -2016,10 +2013,7 @@ ip4_ttl_and_checksum_check (vlib_buffer_t * b, ip4_header_t * ip, u16 * next,
i32 ttl;
u32 checksum;
if (PREDICT_FALSE (b->flags & VNET_BUFFER_F_LOCALLY_ORIGINATED))
- {
- b->flags &= ~VNET_BUFFER_F_LOCALLY_ORIGINATED;
- return;
- }
+ return;
ttl = ip->ttl;
diff --git a/src/vnet/ip/ip6_forward.c b/src/vnet/ip/ip6_forward.c
index f7f7b780fc8..b7cdb1af8bb 100644
--- a/src/vnet/ip/ip6_forward.c
+++ b/src/vnet/ip/ip6_forward.c
@@ -1744,10 +1744,7 @@ ip6_rewrite_inline_with_gso (vlib_main_t * vm,
0);
}
}
- else
- {
- p0->flags &= ~VNET_BUFFER_F_LOCALLY_ORIGINATED;
- }
+
is_locally_originated1 =
p1->flags & VNET_BUFFER_F_LOCALLY_ORIGINATED;
if (PREDICT_TRUE (!is_locally_originated1))
@@ -1775,10 +1772,7 @@ ip6_rewrite_inline_with_gso (vlib_main_t * vm,
0);
}
}
- else
- {
- p1->flags &= ~VNET_BUFFER_F_LOCALLY_ORIGINATED;
- }
+
adj0 = adj_get (adj_index0);
adj1 = adj_get (adj_index1);