app/testpmd: store VXLAN/NVGRE encap data globally
authorJiawei Wang <jiaweiw@nvidia.com>
Wed, 7 Apr 2021 11:48:15 +0000 (14:48 +0300)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 7 Apr 2021 23:09:24 +0000 (01:09 +0200)
commitd51bd274b0e9b2f658a6eae1bce2696ee3afefde
tree58113bc21d1ed6be78342bb4d27454e0544011d2
parent18239da4ac2155582d91d4ccb8ed8b2193193534
app/testpmd: store VXLAN/NVGRE encap data globally

With the current code the VXLAN/NVGRE parsing routine
stored the configuration of the header on stack, this
might lead to overwriting the data on the stack.

Currently having VXLAN/NVGRE encap as sample actions
is done using RAW_ENCAP, for example:
1. set raw_encap 1 eth src.../ vxlan vni.../ ipv4.../ ...
   set sample_actions 0 raw_encap / port_id id 0 / end
   flow create 0 ... pattern eth / end actions
      sample ration 1 index 0 / jump group 1 / end

The goal is to utilize the rte_flow_action_vxlan_encap
and rte_flow_action_nvgre_encap for sample actions.

This patch prepares storing the external data of vxlan and
nvgre encap into global data as a pre-step to supporting
vxlan and nvgre encap as a sample actions.

Signed-off-by: Jiawei Wang <jiaweiw@nvidia.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
app/test-pmd/cmdline_flow.c