IPSEC: no second lookup after tunnel encap 36/17336/5
authorNeale Ranns <nranns@cisco.com>
Wed, 6 Feb 2019 09:41:05 +0000 (01:41 -0800)
committerFlorin Coras <florin.coras@gmail.com>
Thu, 7 Feb 2019 19:13:32 +0000 (19:13 +0000)
commit8d7c502002636da1cb7c71a87757f328e7c2c4fd
tree1005d63dcb3a24f7bb2ad2d3224bfcb062909666
parent3d0ef26a0285b9baa486c91b2e6609125a2bc651
IPSEC: no second lookup after tunnel encap

in the same maaner as with other tunnel tyeps we use
the FIB to cache and track the destination used to reach
the tunnel endpoint. Post encap we can then ship the packet
straight to this adjacency and thus elide the costly second
lookup.

- SA add and del function so they can be used both directly
  from the API and for tunnels.
- API change for the SA dump to use the SA type
- ipsec_key_t type for convenience (copying, [un]formating)
- no matching tunnel counters in ipsec-if-input

Change-Id: I9d144a59667f7bf96442f4ca66bef5c1d3c7f1ea
Signed-off-by: Neale Ranns <nranns@cisco.com>
18 files changed:
src/plugins/dpdk/ipsec/ipsec.c
src/vat/api_format.c
src/vnet/fib/fib_node.h
src/vnet/ipsec/ah_decrypt.c
src/vnet/ipsec/ah_encrypt.c
src/vnet/ipsec/esp_decrypt.c
src/vnet/ipsec/esp_encrypt.c
src/vnet/ipsec/ikev2.c
src/vnet/ipsec/ipsec.api
src/vnet/ipsec/ipsec_api.c
src/vnet/ipsec/ipsec_cli.c
src/vnet/ipsec/ipsec_format.c
src/vnet/ipsec/ipsec_if.c
src/vnet/ipsec/ipsec_if.h
src/vnet/ipsec/ipsec_if_in.c
src/vnet/ipsec/ipsec_sa.c
src/vnet/ipsec/ipsec_sa.h
test/vpp_ipsec.py