PPPoE usses a midchain adjacency stack on an interface-tx DPO 15/8015/8
authorNeale Ranns <nranns@cisco.com>
Sat, 12 Aug 2017 09:12:00 +0000 (02:12 -0700)
committerNeale Ranns <nranns@cisco.com>
Mon, 21 Aug 2017 11:07:00 +0000 (04:07 -0700)
commit43161a873375ddf156cf6fbe8764bfc206b38fa0
tree939e5455aaff68341d387b559f743dc049b03377
parent352829f538783afe8609f09850f45536a4779b70
PPPoE usses a midchain adjacency stack on an interface-tx DPO

1) introduce an interface-tx DPO. This is a simple wrapper around a sw_if_index. enhance DPO stacking functions to allow per-instance next-nodes and hence allow children to stack onto the interface per-instance tx node and not on 'interface-output'.
2) update PPPoE code to use ta midchain stack on a interface-tx DPO of the encap-interface. This remove the need for pppoe_encap node (which is replaced by the adj-midchain-tx) and interface-output node is no longer used (see above). Since PPPoE encap node is no longer needed, the PPPoE seesion does not need to be retrieved in the data-path, hence the cahce misses are removed.

Change-Id: Id8b40f53daa14889a9c51d802e14fed7fba4399a
Signed-off-by: Neale Ranns <nranns@cisco.com>
16 files changed:
src/plugins/pppoe.am
src/plugins/pppoe/pppoe.c
src/plugins/pppoe/pppoe.h
src/plugins/pppoe/pppoe_encap.c [deleted file]
src/vnet.am
src/vnet/adj/adj_midchain.c
src/vnet/dpo/dpo.c
src/vnet/dpo/dpo.h
src/vnet/dpo/interface_dpo.c [deleted file]
src/vnet/dpo/interface_rx_dpo.c [new file with mode: 0644]
src/vnet/dpo/interface_rx_dpo.h [moved from src/vnet/dpo/interface_dpo.h with 62% similarity]
src/vnet/dpo/interface_tx_dpo.c [new file with mode: 0644]
src/vnet/dpo/interface_tx_dpo.h [new file with mode: 0644]
src/vnet/fib/fib_path.c
src/vnet/fib/fib_test.c
test/test_pppoe.py