This petch-set extend the modify field action API to support 2 special cases.
1. Modify field when the relevant header appears multiple times inside same encapsulation level. 2. Modify Geneve option header which is specified by its "type" and "class" fields. In current API, the header type is provided by "rte_flow_field_id" enumeration and the encapsulation level (inner/outer/tunnel) is specified by "data.level" field. However, there is no way to specify header inside encapsulation level. For example, for this packet: eth / mpls / mpls / mpls / ipv4 / udp the both second and third MPLS headers cannot be modified using this API. Michael Baum (2): ethdev: add GENEVE TLV option modification support ethdev: add MPLS header modification support app/test-pmd/cmdline_flow.c | 69 +++++++++++++++++++++++++++- doc/guides/prog_guide/rte_flow.rst | 33 +++++++++++--- lib/ethdev/rte_flow.h | 72 ++++++++++++++++++++++++++++-- 3 files changed, 165 insertions(+), 9 deletions(-) -- 2.25.1