Locally generated packet go through lookup/load-balance - locally-generated is an... 89/3989/6
authorNeale Ranns <nranns@cisco.com>
Tue, 29 Nov 2016 14:51:37 +0000 (06:51 -0800)
committerDamjan Marion <dmarion.lists@gmail.com>
Mon, 5 Dec 2016 09:20:26 +0000 (09:20 +0000)
commitf06aea5c7267cffabc1cc2438510a8fe7784079c
treeb0ded9cd5d10d96b5c416dfc93935c5baca1d475
parent072f8debf21c786ab785ed623229935e0a6cddb6
Locally generated packet go through lookup/load-balance - locally-generated is an attribute of the packet and checked where necessary

Add a flag to the vnet_buffer to indicate a packet is locally originated. Then in the rewrite nodes we can check this flag and not perform the TTL decrement. The switch path cost is expected to be fractions of a clock - the flags will be hot in the cache.
The cehcks are necessary to due the requirements that VPP must be able to emit an IP packet with TTL=255.

Change-Id: Ieb9cf06e34df54fd5c950293de8b665016295c51
Signed-off-by: Neale Ranns <nranns@cisco.com>
12 files changed:
vnet/vnet/adj/adj_nbr.c
vnet/vnet/buffer.h
vnet/vnet/fib/fib_types.c
vnet/vnet/ip/icmp4.c
vnet/vnet/ip/ip4_forward.c
vnet/vnet/ip/ip4_source_and_port_range_check.c
vnet/vnet/ip/ip6_forward.c
vnet/vnet/ip/ip6_neighbor.c
vnet/vnet/ip/lookup.h
vnet/vnet/ip/ping.c
vnet/vnet/ip/ping.h
vnet/vnet/map/ip6_map.c