test suite reviews and discussions
 help / color / mirror / Atom feed
* [DTS][PATCH V1 00/21] update test plans and tests to support represented port action and port representor action from deprecated vf action on DCF cases
@ 2022-09-28  3:18 Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 01/21] test_plans/dcf_lifecycle: update test plan to support represented port action from deprecated vf action Ke Xu
                   ` (20 more replies)
  0 siblings, 21 replies; 22+ messages in thread
From: Ke Xu @ 2022-09-28  3:18 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, jin.ling, zhiminx.huang, weiyuanx.li, qi.fu, Ke Xu

New API covers deprecated TO_VF action on DCFs by port representor and
 represented port actions. These patches checks the existing use of vf id
 action and vf original action and replace them with new API.

One subcase for deprecated action is removed. In ice_dcf_switch_filter, negative
 case subcase 8: invalid vf id is removed for introducing of new API is not
 using vf id. New API may introduce invalid port id and that will be covered by
 a new subcase added in the patch covering new API.

Ke Xu (9):
  test_plans/ice_dcf_switch_filter_gtpu: update test plan to support
    represented port action from deprecated vf action
  test_plans/ice_dcf_switch_filter_pppoe: update test plan to support
    represented port action from deprecated vf action
  test_plans/ice_qinq: update test plan to support represented port
    action from deprecated vf action
  test_plans/ice_dcf_data_path: update test plan to support port
    representor action from deprecated vf action
  tests/ice_qinq: update test plan to support represented port action
    from deprecated vf action
  tests/ice_dcf_data_path: update test plan to support port representor
    action from deprecated vf action
  test_plans/ice_dcf_switch_filter: update test plan to support
    represented port action from deprecated vf action
  test/ice_dcf_switch_filter: update test plan to support represented
    port action from deprecated vf action
  test_plans/ice_dcf_switch_filter: add white space to formate the table

Jin Ling (9):
  test_plans/dcf_lifecycle: update test plan to support represented port
    action from deprecated vf action
  test_plans/ice_dcf_acl_filter: update test plan to support represented
    port action from deprecated vf action
  test_plans/ice_limit_value_test: update test plan to support
    represented port action from deprecated vf action
  test_plans/ice_dcf_flow_priority: update test plan to support
    represented port action from deprecated vf action
  test_plans/ice_dcf_acl_filter: remove redundant white space
  test_plans/dcf_lifecycle: remove redundant white space
  tests/dcf_lifecycle: update test plan to support represented port
    action from deprecated vf action
  tests/ice_dcf_acl_filter: update test plan to support represented port
    action from deprecated vf action
  tests/ice_limit_value_test: update test plan to support represented
    port action from deprecated vf action

Weiyuan Li (1)
  tests/ice_dcf_flow_priority: update test plan to support represented
    port action from deprecated vf action

Zhimin Huang (2)
  tests/ice_dcf_switch_filter_gtpu: update test plan to support
    represented port action from deprecated vf action
  tests/ice_dcf_switch_filter_pppoe: update test plan to support
    represented port action from deprecated vf action

 test_plans/dcf_lifecycle_test_plan.rst        | 196 +++--
 test_plans/ice_dcf_acl_filter_test_plan.rst   |  74 +-
 test_plans/ice_dcf_data_path_test_plan.rst    |   2 +-
 .../ice_dcf_flow_priority_test_plan.rst       | 560 +++++++-------
 .../ice_dcf_switch_filter_gtpu_test_plan.rst  | 136 ++--
 .../ice_dcf_switch_filter_pppoe_test_plan.rst | 284 ++++----
 .../ice_dcf_switch_filter_test_plan.rst       | 681 +++++++++---------
 test_plans/ice_limit_value_test_test_plan.rst |  12 +-
 test_plans/ice_qinq_test_plan.rst             | 104 +--
 tests/TestSuite_dcf_lifecycle.py              |  24 +-
 tests/TestSuite_ice_dcf_acl_filter.py         | 104 +--
 tests/TestSuite_ice_dcf_data_path.py          |   2 +-
 tests/TestSuite_ice_dcf_flow_priority.py      | 460 ++++++------
 tests/TestSuite_ice_dcf_switch_filter.py      | 579 ++++++++-------
 tests/TestSuite_ice_dcf_switch_filter_gtpu.py | 550 +++++++-------
 .../TestSuite_ice_dcf_switch_filter_pppoe.py  | 172 ++---
 tests/TestSuite_ice_limit_value_test.py       |  12 +-
 tests/TestSuite_ice_qinq.py                   |  96 +--
 18 files changed, 2052 insertions(+), 1996 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [DTS][PATCH V1 01/21] test_plans/dcf_lifecycle: update test plan to support represented port action from deprecated vf action
  2022-09-28  3:18 [DTS][PATCH V1 00/21] update test plans and tests to support represented port action and port representor action from deprecated vf action on DCF cases Ke Xu
@ 2022-09-28  3:18 ` Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 02/21] test_plans/ice_dcf_acl_filter: " Ke Xu
                   ` (19 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Ke Xu @ 2022-09-28  3:18 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, jin.ling, zhiminx.huang, weiyuanx.li, qi.fu, Ke Xu

Signed-off-by: Jin Ling <jin.ling@intel.com>
Reviewed-by: Ke Xu <ke1.xu@intel.com>
---
 test_plans/dcf_lifecycle_test_plan.rst | 84 +++++++++++++-------------
 1 file changed, 42 insertions(+), 42 deletions(-)

diff --git a/test_plans/dcf_lifecycle_test_plan.rst b/test_plans/dcf_lifecycle_test_plan.rst
index 53837142..d1b19fe1 100644
--- a/test_plans/dcf_lifecycle_test_plan.rst
+++ b/test_plans/dcf_lifecycle_test_plan.rst
@@ -176,7 +176,7 @@ Set a VF as trust ::
 Launch dpdk on the VF, request DCF mode ::
 
     ./usertools/dpdk-devbind.py -b vfio-pci 18:01.0 18:01.1
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 6-10 -n 4 -a 18:01.0,cap=dcf --file-prefix=dcf -- -i
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 6-10 -n 4 -a 18:01.0,cap=dcf,representor=vf[1] --file-prefix=dcf -- -i
 
 Launch another testpmd on the VF1, and start mac forward ::
 
@@ -187,7 +187,7 @@ Launch another testpmd on the VF1, and start mac forward ::
 
 Set switch rule to VF1 `0000:18:01.1` from DCF ::
 
-    flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions vf id 1 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions represented_port ethdev_port_id 1 / end
 
 Send a scapy packet to VF1 ::
 
@@ -228,7 +228,7 @@ Set a VF as trust ::
 Launch dpdk on the VF, request DCF mode ::
 
     ./usertools/dpdk-devbind.py -b vfio-pci 18:01.0 18:01.1
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 6-10 -n 4 -a 18:01.0,cap=dcf --file-prefix=dcf -- -i
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 6-10 -n 4 -a 18:01.0,cap=dcf,representor=vf[1] --file-prefix=dcf -- -i
 
 Launch another testpmd on the VF1, and start mac forward ::
 
@@ -239,7 +239,7 @@ Launch another testpmd on the VF1, and start mac forward ::
 
 Set switch rule to VF1 0000:18:01.1 from DCF ::
 
-    flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions vf id 1 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions represented_port ethdev_port_id 1 / end
 
 Send a scapy packet to VF1 ::
 
@@ -277,7 +277,7 @@ Set a VF as trust ::
 Launch dpdk on the VF, request DCF mode ::
 
     ./usertools/dpdk-devbind.py -b vfio-pci 18:01.0 18:01.1
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 6-10 -n 4 -a 18:01.0,cap=dcf --file-prefix=dcf -- -i
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 6-10 -n 4 -a 18:01.0,cap=dcf,representor=vf[1] --file-prefix=dcf -- -i
 
 Launch another testpmd on the VF1, and start mac forward ::
 
@@ -288,7 +288,7 @@ Launch another testpmd on the VF1, and start mac forward ::
 
 Set switch rule to VF1 0000:18:01.1 from DCF ::
 
-    flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions vf id 1 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions represented_port ethdev_port_id 1 / end
 
 Send a scapy packet to VF1 ::
 
@@ -353,7 +353,7 @@ Set a VF as trust ::
 Launch dpdk on the VF, request DCF mode ::
 
     ./usertools/dpdk-devbind.py -b vfio-pci 18:01.0 18:01.1
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 6-10 -n 4 -a 18:01.0,cap=dcf --file-prefix=dcf -- -i
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 6-10 -n 4 -a 18:01.0,cap=dcf,representor=vf[1-2] --file-prefix=dcf -- -i
 
 Launch another testpmd on the VF1 and VF2, and start mac forward ::
 
@@ -369,8 +369,8 @@ Launch another testpmd on the VF1 and VF2, and start mac forward ::
 
 Set switch rule to VF1 0000:18:01.1 from DCF ::
 
-    flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions vf id 1 / end
-    flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.4 dst is 192.168.0.5 / end actions vf id 1 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.4 dst is 192.168.0.5 / end actions represented_port ethdev_port_id 1 / end
 
 Send a scapy packet to VF1 ::
 
@@ -421,9 +421,9 @@ Set a VF as trust ::
 Launch dpdk on the VF, request DCF mode ::
 
     ./usertools/dpdk-devbind.py -b vfio-pci 18:01.0 18:01.1 18:01.2
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 6-10 -n 4 -a 18:01.0,cap=dcf --file-prefix=dcf -- -i
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 6-10 -n 4 -a 18:01.0,cap=dcf,representor=vf[1-2] --file-prefix=dcf -- -i
 
-Launch another testpmd on the VF1, and start mac forward ::
+Launch another testpmd on the VF1 and VF2, and start mac forward ::
 
     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 11-14 -n 4 -a 18:01.1 -a 18:01.2 --file-prefix=vf -- -i
     set verbose 1
@@ -432,7 +432,7 @@ Launch another testpmd on the VF1, and start mac forward ::
 
 Set switch rule to VF1 0000:18:01.1 and VF2 0000:18:01.2 from DCF ::
 
-    flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions vf id 1 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions represented_port ethdev_port_id 1 / end
 
 Send a scapy packet to VF1 and VF2 ::
 
@@ -1112,7 +1112,7 @@ The common steps launch two testpmds and kill DCF process, then relaunch two tes
 ..note:: 
 
     For <EAL options>, you can use "-c 0x6 -n 4", you can also refer to testpmd doc for other setings.
-    For <DUT port pci device id>, you can use "0000:3b:01.0,cap=dcf --file-prefix=dcf" for this test plan.
+    For <DUT port pci device id>, you can use "0000:3b:01.0,cap=dcf,representor=vf[1] --file-prefix=dcf" for this test plan.
   
 2. Launch another ``testpmd`` application on the VF1 of DUT as follows::
 
@@ -1134,7 +1134,7 @@ The common steps launch two testpmds and kill DCF process, then relaunch two tes
 
 5. Validate a switch rule to VF1 in DCF testpmd::
 
-     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
 
    Get the message::
 
@@ -1142,7 +1142,7 @@ The common steps launch two testpmds and kill DCF process, then relaunch two tes
 
 6. Create a switch rule to VF1 in DCF testpmd and list rules::
 
-     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
 
    Get the message::
 
@@ -1191,7 +1191,7 @@ Test Steps
 ..note:: 
 
     For <EAL options>, you can use "-c 0x6 -n 4", you can also refer to testpmd doc for other setings.
-    For <DUT port pci device id>, you can use "0000:3b:01.0,cap=dcf --file-prefix=dcf" for this test plan.
+    For <DUT port pci device id>, you can use "0000:3b:01.0,cap=dcf,representor=vf[1] --file-prefix=dcf" for this test plan.
 
 3. Send a matched packet in scapy to VF1, DCF flow rule is still valid and check the VF1 of DUT can receive the packet.
 
@@ -1216,7 +1216,7 @@ the VF1 of DUT::
 
 5. Validate a switch rule to VF1 in DCF testpmd::
 
-     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
 
    Get the message::
 
@@ -1224,7 +1224,7 @@ the VF1 of DUT::
 
 6. Create a switch rule to VF1 in DCF testpmd and list rules::
 
-     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
 
    Get the message::
 
@@ -1270,7 +1270,7 @@ Test Steps
 
 3. Validate a switch rule to VF1 in DCF testpmd::
 
-     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
 
    Get the message::
 
@@ -1278,7 +1278,7 @@ Test Steps
 
 4. Create a switch rule to VF1 in DCF testpmd and list rules::
 
-     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
 
    Get the message::
 
@@ -1326,7 +1326,7 @@ Test Steps
 
 3. Validate a switch rule to VF1 in DCF testpmd::
 
-     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
 
    Get the message::
 
@@ -1334,7 +1334,7 @@ Test Steps
 
 4. Create a switch rule to VF1 in DCF testpmd and list rules::
 
-     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
 
    Get the message::
 
@@ -1380,7 +1380,7 @@ Test Steps
    
 3. Validate a switch rule to VF1 in DCF testpmd::
 
-     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
 
    Get the message::
 
@@ -1388,7 +1388,7 @@ Test Steps
 
 4. Create a switch rule to VF1 in DCF testpmd and list rules::
 
-     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
 
    Get the message::
 
@@ -1434,7 +1434,7 @@ Test Steps
 
 3. Validate a switch rule to VF1 in DCF testpmd::
 
-     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
 
    Get the message::
 
@@ -1442,7 +1442,7 @@ Test Steps
 
 4. Create a switch rule to VF1 in DCF testpmd and list rules::
 
-     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
 
    Get the message::
 
@@ -1478,7 +1478,7 @@ The common steps launch one testpmd and kill DCF process, then relaunch one test
 ..note:: 
 
     For <EAL options>, you can use "-c 0x6 -n 4", you can also refer to testpmd doc for other setings.
-    For <DUT port pci device id>, you can use"-a 3b:01.0,cap=dcf -a 3b:01.1 --file-prefix=dcf" for this test plan.
+    For <DUT port pci device id>, you can use"-a 3b:01.0,cap=dcf,representor=vf[1] -a 3b:01.1 --file-prefix=dcf" for this test plan.
 
 2. Set verbose::
     
@@ -1491,7 +1491,7 @@ The common steps launch one testpmd and kill DCF process, then relaunch one test
 
 4. Validate a switch rule to VF1::
 
-     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
 
    Get the message::
 
@@ -1499,7 +1499,7 @@ The common steps launch one testpmd and kill DCF process, then relaunch one test
 
 5. Create a switch rule to VF1 and list rules::
 
-     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
 
    Get the message::
 
@@ -1542,7 +1542,7 @@ Test Steps
 ..note:: 
 
     For <EAL options>, you can use "-c 0x6 -n 4", you can also refer to testpmd doc for other setings.
-    For <DUT port pci device id>, you can use"-a 3b:01.0,cap=dcf -a 3b:01.1 --file-prefix=dcf" for this test plan.
+    For <DUT port pci device id>, you can use"-a 3b:01.0,cap=dcf,representor=vf[1] -a 3b:01.1 --file-prefix=dcf" for this test plan.
 
 3. Set verbose::
     
@@ -1574,7 +1574,7 @@ DUT::
 
 7. Validate a switch rule to VF1::
 
-     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
 
    Get the message::
 
@@ -1582,7 +1582,7 @@ DUT::
 
 8. Create a switch rule to VF1 and list rules::
 
-     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
 
    Get the message::
 
@@ -1628,7 +1628,7 @@ Test Steps
 
 3. Validate a switch rule to VF1::
 
-     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
 
    Get the message::
 
@@ -1636,7 +1636,7 @@ Test Steps
 
 4. Create a switch rule to VF1 and list rules::
 
-     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
 
    Get the message::
 
@@ -1676,7 +1676,7 @@ Test Steps
     testpmd> stop 
     testpmd> port stop 0
     testpmd> port detach 0
-    testpmd> port attach 3b:01.0,cap=dcf
+    testpmd> port attach 3b:01.0,cap=dcf,representor=vf[1]
     testpmd> port reset 0
     testpmd> port start 0
     testpmd> start
@@ -1684,7 +1684,7 @@ Test Steps
 
 3. Validate a switch rule to VF1::
 
-     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
 
    Get the message::
 
@@ -1692,7 +1692,7 @@ Test Steps
 
 4. Create a switch rule to VF1 and list rules::
 
-     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
 
    Get the message::
 
@@ -1738,7 +1738,7 @@ Test Steps
 
 3. Validate a switch rule to VF1::
 
-     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
 
    Get the message::
 
@@ -1746,7 +1746,7 @@ Test Steps
 
 4. Create a switch rule to VF1 and list rules::
 
-     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
 
    Get the message::
 
@@ -1769,7 +1769,7 @@ DUT::
 
     testpmd> port 1/queue 0: received 1 packets
   src=00:11:22:33:44:55 - dst=C6:44:32:0A:EC:E1 - type=0x0800 - length=98 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV4  - l2_len=14 - l3_len=20 - Receive queue=0x0
-  ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN   
+  ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN
 
 Test Case 10: one_testpmd_dcf_reset_mac
 ---------------------------------------
@@ -1792,7 +1792,7 @@ Test Steps
 
 3. Validate a switch rule to VF1::
 
-     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
 
    Get the message::
 
@@ -1800,7 +1800,7 @@ Test Steps
 
 4. Create a switch rule to VF1 and list rules::
 
-     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
 
    Get the message::
 
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [DTS][PATCH V1 02/21] test_plans/ice_dcf_acl_filter: update test plan to support represented port action from deprecated vf action
  2022-09-28  3:18 [DTS][PATCH V1 00/21] update test plans and tests to support represented port action and port representor action from deprecated vf action on DCF cases Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 01/21] test_plans/dcf_lifecycle: update test plan to support represented port action from deprecated vf action Ke Xu
@ 2022-09-28  3:18 ` Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 03/21] test_plans/ice_limit_value_test: " Ke Xu
                   ` (18 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Ke Xu @ 2022-09-28  3:18 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, jin.ling, zhiminx.huang, weiyuanx.li, qi.fu, Ke Xu

Signed-off-by: Jin Ling <jin.ling@intel.com>
Reviewed-by: Ke Xu <ke1.xu@intel.com>
---
 test_plans/ice_dcf_acl_filter_test_plan.rst | 62 ++++++++++-----------
 1 file changed, 31 insertions(+), 31 deletions(-)

diff --git a/test_plans/ice_dcf_acl_filter_test_plan.rst b/test_plans/ice_dcf_acl_filter_test_plan.rst
index a6d038a0..f047598d 100644
--- a/test_plans/ice_dcf_acl_filter_test_plan.rst
+++ b/test_plans/ice_dcf_acl_filter_test_plan.rst
@@ -90,7 +90,7 @@ Prerequisites
 
 or launch one testpmd on VF0 and VF1::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:86:01.0,cap=dcf -a 86:01.1 --file-prefix=vf0 --log-level="ice,7" -- -i
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:86:01.0,cap=dcf,representor=vf[1] -a 86:01.1 --file-prefix=vf0 --log-level="ice,7" -- -i
 
 Common steps of basic cases
 ===========================
@@ -134,9 +134,9 @@ Then the ACL filter can filter the packet with dst mac address.
 
 1. rule::
 
-    flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 / end actions vf id 1 / end
-    flow create 0 ingress pattern eth dst is 00:11:22:33:44:66 / ipv4 / end actions vf id 1 / end
-    flow create 0 ingress pattern eth dst is 00:11:22:33:66:55 / ipv4 / end actions vf id 1 / end
+    flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 ingress pattern eth dst is 00:11:22:33:44:66 / ipv4 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 ingress pattern eth dst is 00:11:22:33:66:55 / ipv4 / end actions represented_port ethdev_port_id 1 / end
     flow create 0 ingress pattern eth dst spec 00:11:22:33:44:55 dst mask ff:ff:ff:ff:ff:00 / ipv4 / end actions drop / end
 
 2. matched packets::
@@ -223,9 +223,9 @@ Subcase 6: src mac + dst mac + src ipv4 + dst ipv4(only 2port NIC support)
 --------------------------------------------------------------------------
 1. rule::
 
-    flow create 0 ingress pattern eth dst is 33:00:00:00:00:01 / ipv4 / end actions vf id 1 / end
-    flow create 0 ingress pattern eth dst is 33:00:00:00:00:02 / ipv4 / end actions vf id 1 / end
-    flow create 0 ingress pattern eth dst is 33:00:00:00:00:03 / ipv4 / end actions vf id 1 / end
+    flow create 0 ingress pattern eth dst is 33:00:00:00:00:01 / ipv4 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 ingress pattern eth dst is 33:00:00:00:00:02 / ipv4 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 ingress pattern eth dst is 33:00:00:00:00:03 / ipv4 / end actions represented_port ethdev_port_id 1 / end
     flow create 0 ingress pattern eth src spec 00:11:22:33:44:55 src mask ff:ff:ff:ff:ff:00 dst spec 33:00:00:00:00:02 dst mask ff:ff:ff:ff:ff:fe \
     / ipv4 src spec 192.168.0.1 src mask 255.255.255.0 dst spec 192.168.0.2 dst mask 255.255.0.255 / end actions drop / end
 
@@ -277,9 +277,9 @@ Then the ACL filter can filter the packet with dst mac address.
 
 1. rule::
 
-    flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 / tcp / end actions vf id 1 / end
-    flow create 0 ingress pattern eth dst is 00:11:22:33:44:66 / ipv4 / tcp / end actions vf id 1 / end
-    flow create 0 ingress pattern eth dst is 00:11:22:33:66:55 / ipv4 / tcp / end actions vf id 1 / end
+    flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 / tcp / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 ingress pattern eth dst is 00:11:22:33:44:66 / ipv4 / tcp / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 ingress pattern eth dst is 00:11:22:33:66:55 / ipv4 / tcp / end actions represented_port ethdev_port_id 1 / end
     flow create 0 ingress pattern eth dst spec 00:11:22:33:44:55 dst mask ff:ff:ff:ff:ff:00 / ipv4 / tcp / end actions drop / end
 
 2. matched packets::
@@ -383,9 +383,9 @@ Subcase 8: src mac + dst mac + src ip + dst ip + src port + dst port(only 2ports
 ---------------------------------------------------------------------------------------------
 1. rule::
 
-    flow create 0 ingress pattern eth dst is 00:01:23:45:67:89 / ipv4 / tcp / end actions vf id 1 / end
-    flow create 0 ingress pattern eth dst is 5E:8E:8B:4D:89:06 / ipv4 / tcp / end actions vf id 1 / end
-    flow create 0 ingress pattern eth dst is 5E:8E:8B:4D:90:05 / ipv4 / tcp / end actions vf id 1 / end
+    flow create 0 ingress pattern eth dst is 00:01:23:45:67:89 / ipv4 / tcp / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 ingress pattern eth dst is 5E:8E:8B:4D:89:06 / ipv4 / tcp / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 ingress pattern eth dst is 5E:8E:8B:4D:90:05 / ipv4 / tcp / end actions represented_port ethdev_port_id 1 / end
     flow create 0 ingress pattern eth src spec 00:11:22:33:44:55 src mask ff:ff:ff:ff:ff:00 dst spec 00:01:23:45:67:89 dst mask ff:ff:ff:ff:00:ff \
     / ipv4 src spec 192.168.0.1 src mask 255.255.255.0 dst spec 192.168.0.2 dst mask 255.255.0.255 \
     / tcp src spec 8010 src mask 65520 dst spec 8017 dst mask 65520 / end actions drop / end
@@ -878,15 +878,15 @@ Test Case 11: switch/acl/fdir/rss rules combination
 
 2. create rules::
 
-    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.20 / tcp / end actions vf id 1 / end
-    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.20 / tcp / end actions vf id 1 / end
-    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.3 dst is 192.168.0.20 / tcp / end actions vf id 1 / end
-    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.4 dst is 192.168.0.20 / tcp / end actions vf id 1 / end
+    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.20 / tcp / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.20 / tcp / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.3 dst is 192.168.0.20 / tcp / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.4 dst is 192.168.0.20 / tcp / end actions represented_port ethdev_port_id 1 / end
     flow create 0 ingress pattern eth / ipv4 src spec 192.168.0.2 src mask 255.255.255.254 / tcp / end actions drop / end
     flow create 0 ingress pattern eth / ipv4 dst spec 192.168.0.21 dst mask 255.255.0.255 / tcp / end actions drop / end
-    flow create 1 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.20 / tcp src is 22 dst is 23 / end actions queue index 3 / mark / end
-    flow create 1 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.20 / tcp src is 22 dst is 23 / end actions queue index 3 / mark / end
-    flow create 1 ingress pattern eth / ipv4 src is 192.168.1.1 dst is 192.168.0.20 / tcp src is 22 dst is 23 / end actions queue index 3 / mark / end
+    flow create 2 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.20 / tcp src is 22 dst is 23 / end actions queue index 3 / mark / end
+    flow create 2 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.20 / tcp src is 22 dst is 23 / end actions queue index 3 / mark / end
+    flow create 2 ingress pattern eth / ipv4 src is 192.168.1.1 dst is 192.168.0.20 / tcp src is 22 dst is 23 / end actions queue index 3 / mark / end
 
 3. check the rule list::
 
@@ -898,7 +898,7 @@ Test Case 11: switch/acl/fdir/rss rules combination
     3       0       0       i--     ETH IPV4 TCP => VF
     4       0       0       i--     ETH IPV4 TCP => DROP
     5       0       0       i--     ETH IPV4 TCP => DROP
-    testpmd> flow list 1
+    testpmd> flow list 2
     ID      Group   Prio    Attr    Rule
     0       0       0       i--     ETH IPV4 TCP => QUEUE MARK
     1       0       0       i--     ETH IPV4 TCP => QUEUE MARK
@@ -915,14 +915,14 @@ Test Case 11: switch/acl/fdir/rss rules combination
     sendp(Ether(src="00:11:22:33:44:55", dst="00:01:23:45:67:89")/IP(src="192.168.1.1", dst="192.168.0.20")/TCP(sport=22,dport=23)/Raw(load="x"*30), iface="enp216s0f0")
     sendp(Ether(src="00:11:22:33:44:55", dst="00:01:23:45:67:89")/IP(src="192.168.1.1", dst="192.168.0.21")/TCP(sport=22,dport=23)/Raw(load="x"*30), iface="enp216s0f0")
 
-5. check packet 1 is received by port 1 and redirected to queue 3 with FDIR matched ID=0x0.
-   packet 2 is received by port 1 and distributed by RSS without mark ID.
-   packet 3 is dropped by port 1.
-   packet 4 is dropped by port 1.
-   packet 5 is received by port 1 and distributed by RSS without mark ID.
-   packet 6 is can't received by port 0 and port 1.
-   packet 7 is received by port 1 and redirected to queue 3 with FDIR matched ID=0x0.
-   packet 8 is dropped by port 1.
+5. check packet 1 is received by port 2 and redirected to queue 3 with FDIR matched ID=0x0.
+   packet 2 is received by port 2 and distributed by RSS without mark ID.
+   packet 3 is dropped by port 2.
+   packet 4 is dropped by port 2.
+   packet 5 is received by port 2 and distributed by RSS without mark ID.
+   packet 6 is can't received by port 0 and port 2.
+   packet 7 is received by port 2 and redirected to queue 3 with FDIR matched ID=0x0.
+   packet 8 is dropped by port 2.
 
 6. delete rule ID 4 from port 0 and list the rules::
 
@@ -941,5 +941,5 @@ Test Case 11: switch/acl/fdir/rss rules combination
     sendp(Ether(src="00:11:22:33:44:55", dst="00:01:23:45:67:88")/IP(src="192.168.0.2", dst="192.168.0.20")/TCP(sport=22,dport=23)/Raw(load="x"*30), iface="enp216s0f0")
     sendp(Ether(src="00:11:22:33:44:55", dst="00:01:23:45:67:88")/IP(src="192.168.0.3", dst="192.168.0.20")/TCP(sport=22,dport=23)/Raw(load="x"*30), iface="enp216s0f0")
 
-8. check packet 1 is received by port 1 and redirected to queue 3 with FDIR matched ID=0x0.
-   packet 2 is received by port 1 and distributed by RSS without mark ID.
+8. check packet 1 is received by port 2 and redirected to queue 3 with FDIR matched ID=0x0.
+   packet 2 is received by port 2 and distributed by RSS without mark ID.
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [DTS][PATCH V1 03/21] test_plans/ice_limit_value_test: update test plan to support represented port action from deprecated vf action
  2022-09-28  3:18 [DTS][PATCH V1 00/21] update test plans and tests to support represented port action and port representor action from deprecated vf action on DCF cases Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 01/21] test_plans/dcf_lifecycle: update test plan to support represented port action from deprecated vf action Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 02/21] test_plans/ice_dcf_acl_filter: " Ke Xu
@ 2022-09-28  3:18 ` Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 04/21] test_plans/ice_dcf_flow_priority: " Ke Xu
                   ` (17 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Ke Xu @ 2022-09-28  3:18 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, jin.ling, zhiminx.huang, weiyuanx.li, qi.fu, Ke Xu

Signed-off-by: Jin Ling <jin.ling@intel.com>
Reviewed-by: Ke Xu <ke1.xu@intel.com>
---
 test_plans/ice_limit_value_test_test_plan.rst | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/test_plans/ice_limit_value_test_test_plan.rst b/test_plans/ice_limit_value_test_test_plan.rst
index 70311efd..4b76dc17 100644
--- a/test_plans/ice_limit_value_test_test_plan.rst
+++ b/test_plans/ice_limit_value_test_test_plan.rst
@@ -500,8 +500,8 @@ Prerequisites
 
 8. Launch dpdk on VF0 and VF1, and VF0 request DCF mode::
 
-     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf -a 0000:18:01.1 -- -i
-     testpmd> set portlist 1
+     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf,representor=vf[1] -a 0000:18:01.1 -- -i
+     testpmd> set portlist 2
      testpmd> set fwd rxonly
      testpmd> set verbose 1
      testpmd> start
@@ -531,17 +531,17 @@ increased, so we can create a total of 32500 switch filter rules on a DCF.
 
 1. create 32500 rules with the same pattern, but different input set::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.0 / end actions vf id 1 / end
-     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.0 / end actions represented_port ethdev_port_id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 / end actions represented_port ethdev_port_id 1 / end
      ......
-     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.127.114 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.127.114 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rules exist in the list.
 
 2. create one more rule::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.127.178 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.127.178 / end actions represented_port ethdev_port_id 1 / end
 
    check the rule can not be created successfully, and
    testpmd provide a friendly output, showing::
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [DTS][PATCH V1 04/21] test_plans/ice_dcf_flow_priority: update test plan to support represented port action from deprecated vf action
  2022-09-28  3:18 [DTS][PATCH V1 00/21] update test plans and tests to support represented port action and port representor action from deprecated vf action on DCF cases Ke Xu
                   ` (2 preceding siblings ...)
  2022-09-28  3:18 ` [DTS][PATCH V1 03/21] test_plans/ice_limit_value_test: " Ke Xu
@ 2022-09-28  3:18 ` Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 05/21] test_plans/ice_dcf_switch_filter_gtpu: " Ke Xu
                   ` (16 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Ke Xu @ 2022-09-28  3:18 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, jin.ling, zhiminx.huang, weiyuanx.li, qi.fu, Ke Xu

Signed-off-by: Jin Ling <jin.ling@intel.com>
Reviewed-by: Ke Xu <ke1.xu@intel.com>
---
 .../ice_dcf_flow_priority_test_plan.rst       | 560 +++++++++---------
 1 file changed, 281 insertions(+), 279 deletions(-)

diff --git a/test_plans/ice_dcf_flow_priority_test_plan.rst b/test_plans/ice_dcf_flow_priority_test_plan.rst
index ce780dc5..8132c583 100644
--- a/test_plans/ice_dcf_flow_priority_test_plan.rst
+++ b/test_plans/ice_dcf_flow_priority_test_plan.rst
@@ -72,7 +72,7 @@ Prerequisites
 
 11. launch testpmd::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf -a 0000:18:01.1 -a 0000:18:01.2 -a 0000:18:01.3 -- -i
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf,representor=[1-3] -a 0000:18:01.1 -a 0000:18:01.2 -a 0000:18:01.3 -- -i
 
     testpmd> set fwd rxonly
 
@@ -87,7 +87,9 @@ Prerequisites
 
 test steps for supported pattern
 ================================
-1. validate rules: two rules have same pattern, input set but different priority and action(priority 0 -> to vf 1, priority 1 -> to vf 2).
+
+Note::
+1. validate rules: two rules have same pattern, input set but different priority and action(priority 0 -> represented_port ethdev_port_id 1, priority 1 ->  represented_port ethdev_port_id 2).
 2. create rules and list rules.
 3. send matched packets, check vf 1 receive the packets for hiting the priority 0.
 4. send mismatched packets, check the packets are not received by vf 1 or 2.
@@ -300,10 +302,10 @@ test case 01: MAC_PAY (this case is not supported in dpdk-21.05)
 ================================================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth src is 00:00:00:00:00:01 dst is 00:11:22:33:44:55 type is 0x0800 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth src is 00:00:00:00:00:01 dst is 00:11:22:33:44:55 type is 0x0800 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth src is 00:00:00:00:00:01 dst is 00:11:22:33:44:55 type is 0x0800 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth src is 00:00:00:00:00:01 dst is 00:11:22:33:44:55 type is 0x0800 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth src is 00:00:00:00:00:01 dst is 00:11:22:33:44:55 type is 0x0800 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth src is 00:00:00:00:00:01 dst is 00:11:22:33:44:55 type is 0x0800 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth src is 00:00:00:00:00:01 dst is 00:11:22:33:44:55 type is 0x0800 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth src is 00:00:00:00:00:01 dst is 00:11:22:33:44:55 type is 0x0800 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -320,10 +322,10 @@ test case 02: MAC_IPV4_FRAG
 ===========================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 2 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 2 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 2 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 2 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 2 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 2 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 2 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 2 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -342,10 +344,10 @@ test case 03: MAC_IPV4_PAY
 ===============================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 proto is 6 tos is 4 ttl is 2 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 proto is 6 tos is 4 ttl is 2 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 proto is 6 tos is 4 ttl is 2 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 proto is 6 tos is 4 ttl is 2 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 proto is 6 tos is 4 ttl is 2 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 proto is 6 tos is 4 ttl is 2 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 proto is 6 tos is 4 ttl is 2 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 proto is 6 tos is 4 ttl is 2 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -365,10 +367,10 @@ test case 04: MAC_IPV4_UDP_PAY
 ===============================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -389,10 +391,10 @@ test case 05: MAC_IPV4_TCP_PAY
 ===============================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -413,10 +415,10 @@ test case 06: MAC_IPV4_IGMP
 ===========================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / ipv4 proto is 0x02 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / ipv4 proto is 0x02 / end actions vf id 1 / end
-    flow create 0 priority 0 ingress pattern eth / ipv4 proto is 0x02 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv4 proto is 0x02 / end actions vf id 1 / end
+    flow validate 0 priority 0 ingress pattern eth / ipv4 proto is 0x02 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / ipv4 proto is 0x02 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 proto is 0x02 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv4 proto is 0x02 / end actions represented_port ethdev_port_id 1 / end
 
 matched pkts::
 
@@ -432,10 +434,10 @@ test case 07: MAC_IPV6_srcip_dstip
 ==================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -454,10 +456,10 @@ test case 08: MAC_IPV6_dstip_tc
 ===============================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -478,10 +480,10 @@ test case 09: MAC_IPV6_UDP_PAY
 ==============================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -500,10 +502,10 @@ test case 10: MAC_IPV6_TCP
 ==========================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -522,10 +524,10 @@ test case 11: MAC_IPV4_NVGRE_IPV4_PAY
 =====================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -548,10 +550,10 @@ test case 12: MAC_IPV4_NVGRE_IPV4_UDP_PAY
 =========================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -571,10 +573,10 @@ test case 13: MAC_IPV4_NVGRE_IPV4_TCP
 =====================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -594,10 +596,10 @@ test case 14: MAC_IPV4_NVGRE_MAC_IPV4_PAY
 =========================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -622,10 +624,10 @@ test case 15: MAC_IPV4_NVGRE_MAC_IPV4_UDP_PAY
 =============================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 /  eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 /  eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 /  eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 /  eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 /  eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 /  eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 /  eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 /  eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -646,10 +648,10 @@ test case 16: MAC_IPV4_NVGRE_MAC_IPV4_TCP
 =========================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -670,10 +672,10 @@ test case 17: MAC_IPV4_PFCP_NODE
 ================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -690,10 +692,10 @@ test case 18: MAC_IPV4_PFCP_SESSION
 ===================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -710,10 +712,10 @@ test case 19: MAC_IPV6_PFCP_NODE
 ================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -730,10 +732,10 @@ test case 20: MAC_IPV6_PFCP_SESSION
 ===================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -750,10 +752,10 @@ test case 21: IP multicast
 ==========================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / ipv4 dst spec 224.0.0.0 dst mask 240.0.0.0 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / ipv4 dst spec 224.0.0.0 dst mask 240.0.0.0 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / ipv4 dst spec 224.0.0.0 dst mask 240.0.0.0 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv4 dst spec 224.0.0.0 dst mask 240.0.0.0 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / ipv4 dst spec 224.0.0.0 dst mask 240.0.0.0 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / ipv4 dst spec 224.0.0.0 dst mask 240.0.0.0 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 dst spec 224.0.0.0 dst mask 240.0.0.0 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv4 dst spec 224.0.0.0 dst mask 240.0.0.0 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -768,10 +770,10 @@ test case 22: L2 multicast
 ==========================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth dst spec 01:00:5e:00:00:00 dst mask ff:ff:ff:80:00:00 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth dst spec 01:00:5e:00:00:00 dst mask ff:ff:ff:80:00:00 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth dst spec 01:00:5e:00:00:00 dst mask ff:ff:ff:80:00:00 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth dst spec 01:00:5e:00:00:00 dst mask ff:ff:ff:80:00:00 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth dst spec 01:00:5e:00:00:00 dst mask ff:ff:ff:80:00:00 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth dst spec 01:00:5e:00:00:00 dst mask ff:ff:ff:80:00:00 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth dst spec 01:00:5e:00:00:00 dst mask ff:ff:ff:80:00:00 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth dst spec 01:00:5e:00:00:00 dst mask ff:ff:ff:80:00:00 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -786,10 +788,10 @@ test case 23: ethertype filter_PPPOD
 ====================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth type is 0x8863 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth type is 0x8863 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth type is 0x8863 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth type is 0x8863 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth type is 0x8863 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth type is 0x8863 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth type is 0x8863 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth type is 0x8863 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -804,10 +806,10 @@ test case 24: ethertype filter_PPPOE
 ====================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth type is 0x8864 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth type is 0x8864 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth type is 0x8864 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth type is 0x8864 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth type is 0x8864 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth type is 0x8864 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth type is 0x8864 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth type is 0x8864 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -822,10 +824,10 @@ test case 25: ethertype filter_IPV6
 ====================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth type is 0x86dd / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth type is 0x86dd / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth type is 0x86dd / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth type is 0x86dd / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth type is 0x86dd / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth type is 0x86dd / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth type is 0x86dd / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth type is 0x86dd / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -841,10 +843,10 @@ test case 26: UDP port filter_DHCP discovery
 ============================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / ipv4 / udp src is 68 dst is 67 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / ipv4 / udp src is 68 dst is 67 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / ipv4 / udp src is 68 dst is 67 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv4 / udp src is 68 dst is 67 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / ipv4 / udp src is 68 dst is 67 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / ipv4 / udp src is 68 dst is 67 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 / udp src is 68 dst is 67 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv4 / udp src is 68 dst is 67 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -860,10 +862,10 @@ test case 27: UDP port filter_DHCP offer
 ========================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / ipv4 / udp src is 67 dst is 68 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / ipv4 / udp src is 67 dst is 68 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / ipv4 / udp src is 67 dst is 68 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv4 / udp src is 67 dst is 68 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / ipv4 / udp src is 67 dst is 68 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / ipv4 / udp src is 67 dst is 68 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 / udp src is 67 dst is 68 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv4 / udp src is 67 dst is 68 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -879,10 +881,10 @@ test case 28: UDP port filter_VXLAN
 ===================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / ipv4 / udp dst is 4789 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / ipv4 / udp dst is 4789 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / ipv4 / udp dst is 4789 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv4 / udp dst is 4789 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / ipv4 / udp dst is 4789 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / ipv4 / udp dst is 4789 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 / udp dst is 4789 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv4 / udp dst is 4789 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -897,10 +899,10 @@ test case 29: MAC_VLAN filter
 ==============================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -916,10 +918,10 @@ test case 30: VLAN filter
 ==========================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / vlan tci is 1 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / vlan tci is 1 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / vlan tci is 1 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / vlan tci is 1 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / vlan tci is 1 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / vlan tci is 1 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -934,10 +936,10 @@ test case 31: MAC_IPV4_L2TPv3
 =============================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -954,10 +956,10 @@ test case 32: MAC_IPV6_L2TPv3
 =============================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / l2tpv3oip session_id is 1 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / l2tpv3oip session_id is 1 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / l2tpv3oip session_id is 1 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / l2tpv3oip session_id is 1 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -974,10 +976,10 @@ test case 33: MAC_IPV4_ESP
 ===========================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -994,10 +996,10 @@ test case 34: MAC_IPV6_ESP
 ===========================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / esp spi is 1 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / esp spi is 1 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / esp spi is 1 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / esp spi is 1 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / esp spi is 1 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / esp spi is 1 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1014,10 +1016,10 @@ test case 35: MAC_IPV4_AH
 ===========================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1034,10 +1036,10 @@ test case 36: MAC_IPV6_AH
 ===========================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / ah spi is 1 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / ah spi is 1 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / ah spi is 1 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / ah spi is 1 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / ah spi is 1 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / ah spi is 1 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / ah spi is 1 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / ah spi is 1 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1054,10 +1056,10 @@ test case 37: MAC_IPV4_NAT-T-ESP
 ================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1074,10 +1076,10 @@ test case 38: MAC_IPV6_NAT-T-ESP
 ================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / udp / esp spi is 1 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / udp / esp spi is 1 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / udp / esp spi is 1 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / udp / esp spi is 1 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1094,10 +1096,10 @@ test case 39: MAC_VLAN_PPPOE_IPV4_PAY_session_id_proto_id
 =========================================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1115,10 +1117,10 @@ test case 40: MAC_VLAN_PPPOE_IPV6_PAY_session_id_proto_id
 =========================================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1136,10 +1138,10 @@ test case 41: MAC_PPPOE_IPV4_PAY_session_id_proto_id
 ====================================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1156,10 +1158,10 @@ test case 42: MAC_PPPOE_IPV6_PAY_session_id_proto_id
 ====================================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1176,10 +1178,10 @@ test case 43: MAC_PPPOE_IPV4_PAY_IP_address
 ===========================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1195,10 +1197,10 @@ test case 44: MAC_PPPOE_IPV4_UDP_PAY
 ===========================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1216,10 +1218,10 @@ test case 45: MAC_PPPOE_IPV4_UDP_PAY_non_src_dst_port
 =====================================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1237,10 +1239,10 @@ test case 46: MAC_PPPOE_IPV4_TCP_PAY
 =====================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1258,10 +1260,10 @@ test case 47: MAC_PPPOE_IPV4_TCP_PAY_non_src_dst_port
 ======================================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1279,10 +1281,10 @@ test case 48: MAC_PPPOE_IPV6_PAY_IP_address
 ===========================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1299,10 +1301,10 @@ test case 49: MAC_PPPOE_IPV6_UDP_PAY
 ====================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1319,10 +1321,10 @@ test case 50: MAC_PPPOE_IPV6_UDP_PAY_non_src_dst_port
 =====================================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1340,10 +1342,10 @@ test case 51: MAC_PPPOE_IPV6_TCP_PAY
 =====================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1360,10 +1362,10 @@ test case 52: MAC_PPPOE_IPV6_TCP_PAY_non_src_dst_port
 =====================================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1381,10 +1383,10 @@ test case 53: MAC_VLAN_PPPOE_IPV4_PAY_IP_address
 =================================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1401,10 +1403,10 @@ test case 54: MAC_VLAN_PPPOE_IPV4_UDP_PAY
 =========================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1423,10 +1425,10 @@ test case 55: MAC_VLAN_PPPOE_IPV4_UDP_PAY_non_src_dst_port
 ==========================================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1445,10 +1447,10 @@ test case 56: MAC_VLAN_PPPOE_IPV4_TCP_PAY
 =========================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1467,10 +1469,10 @@ test case 57: MAC_VLAN_PPPOE_IPV4_TCP_PAY_non_src_dst_port
 ==========================================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1489,10 +1491,10 @@ test case 58: MAC_VLAN_PPPOE_IPV6_PAY_IP_address
 ================================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1508,10 +1510,10 @@ test case 59: MAC_VLAN_PPPOE_IPV6_UDP_PAY
 =========================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1529,10 +1531,10 @@ test case 60: MAC_VLAN_PPPOE_IPV6_UDP_PAY_non_src_dst_port
 ==========================================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / udp / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / udp / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / udp / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / udp / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / udp / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / udp / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / udp / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / udp / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1550,10 +1552,10 @@ test case 61: MAC_VLAN_PPPOE_IPV6_TCP_PAY
 =========================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1571,10 +1573,10 @@ test case 62: MAC_VLAN_PPPOE_IPV6_TCP_PAY_non_src_dst_port
 ==========================================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / tcp / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / tcp / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / tcp / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / tcp / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / tcp / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / tcp / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / tcp / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / tcp / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1592,10 +1594,10 @@ test case 63: MAC_PPPOE_LCP_PAY
 ===============================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1612,10 +1614,10 @@ test case 64: MAC_PPPOE_IPCP_PAY
 ================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1632,10 +1634,10 @@ test case 65: MAC_VLAN_PPPOE_LCP_PAY
 ====================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1653,10 +1655,10 @@ test case 66: MAC_VLAN_PPPOE_IPCP_PAY
 =====================================
 rules::
 
-    flow validate 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions vf id 1 / end
-    flow validate 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions vf id 2 / end
+    flow validate 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions represented_port ethdev_port_id 1 / end
+    flow validate 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions represented_port ethdev_port_id 2 / end
 
 matched pkts::
 
@@ -1675,9 +1677,9 @@ test case: negative test cases
 
 1. create rules, check all these rules can not be created::
 
-    flow create 0 priority 2 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 1 / end
-    flow create 0 priority a ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 1 / end
-    flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 4 / end
+    flow create 0 priority 2 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority a ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions represented_port ethdev_port_id 4 / end
 
 
 test case: exclusive test cases
@@ -1686,8 +1688,8 @@ subcase 1: same pattern/input set/action different priority
 -----------------------------------------------------------
 1. create same pattern, input set and action but different priority, check these two rules can be created::
 
-    flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 2 / end
+    flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions represented_port ethdev_port_id 2 / end
 
 2. send matched pkts and check vf2 receive this pkt::
 
@@ -1701,8 +1703,8 @@ subcase 2: same pattern/input set/priority different action
 -----------------------------------------------------------
 1. create same pattern, input set and priority but different action, check these two rules can be created::
 
-    flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 2 / end
+    flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions represented_port ethdev_port_id 2 / end
 
 2. send matched pkts and check both vf1 and vf2 receive this pkt::
 
@@ -1716,12 +1718,12 @@ subcase 3: some rules overlap
 -----------------------------
 1. create rules::
 
-    flow create 0 priority 1 ingress pattern eth / vlan / vlan / pppoes / pppoe_proto_id is 0x21 / end actions vf id 1 / end
-    flow create 0 priority 1 ingress pattern eth / vlan / vlan tci is 2 / end actions vf id 1 / end
-    flow create 0 priority 0 ingress pattern eth / vlan / vlan / pppoes seid is 1 / ipv4 / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth dst is 00:00:00:01:03:03 / vlan / vlan / end actions vf id 2 / end
-    flow create 0 priority 0 ingress pattern eth dst is 00:00:00:01:03:03 / end actions vf id 3 / end
-    flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / vlan tci is 2 / end actions vf id 3 / end
+    flow create 0 priority 1 ingress pattern eth / vlan / vlan / pppoes / pppoe_proto_id is 0x21 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 1 ingress pattern eth / vlan / vlan tci is 2 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 priority 0 ingress pattern eth / vlan / vlan / pppoes seid is 1 / ipv4 / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth dst is 00:00:00:01:03:03 / vlan / vlan / end actions represented_port ethdev_port_id 2 / end
+    flow create 0 priority 0 ingress pattern eth dst is 00:00:00:01:03:03 / end actions represented_port ethdev_port_id 3 / end
+    flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / vlan tci is 2 / end actions represented_port ethdev_port_id 3 / end
 
 2. check all the rules exist in the list::
 
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [DTS][PATCH V1 05/21] test_plans/ice_dcf_switch_filter_gtpu: update test plan to support represented port action from deprecated vf action
  2022-09-28  3:18 [DTS][PATCH V1 00/21] update test plans and tests to support represented port action and port representor action from deprecated vf action on DCF cases Ke Xu
                   ` (3 preceding siblings ...)
  2022-09-28  3:18 ` [DTS][PATCH V1 04/21] test_plans/ice_dcf_flow_priority: " Ke Xu
@ 2022-09-28  3:18 ` Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 06/21] test_plans/ice_dcf_switch_filter_pppoe: " Ke Xu
                   ` (15 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Ke Xu @ 2022-09-28  3:18 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, jin.ling, zhiminx.huang, weiyuanx.li, qi.fu, Ke Xu

Signed-off-by: Ke Xu <ke1.xu@intel.com>
---
 .../ice_dcf_switch_filter_gtpu_test_plan.rst  | 136 +++++++++---------
 1 file changed, 68 insertions(+), 68 deletions(-)

diff --git a/test_plans/ice_dcf_switch_filter_gtpu_test_plan.rst b/test_plans/ice_dcf_switch_filter_gtpu_test_plan.rst
index edbf64d6..0e383d46 100644
--- a/test_plans/ice_dcf_switch_filter_gtpu_test_plan.rst
+++ b/test_plans/ice_dcf_switch_filter_gtpu_test_plan.rst
@@ -133,8 +133,8 @@ Prerequisites
 
 9. Launch dpdk on VF0 and VF1, and VF0 request DCF mode::
 
-     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf -a 0000:18:01.1 -- -i
-     testpmd> set portlist 1
+     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf,representor=[1] -a 0000:18:01.1 -- -i
+     testpmd> set portlist 2
      testpmd> set fwd rxonly
      testpmd> set verbose 1
      testpmd> start
@@ -157,17 +157,17 @@ take 'MAC_IPV4_GTPU_TEID_with_mask' for example:
 
 1.validate and create rule::
 
-   flow validate 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / end actions vf id 1 / end
+   flow validate 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / end actions represented_port ethdev_port_id 1 / end
    Flow rule validated
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / end actions represented_port ethdev_port_id 1 / end
    Flow rule #0 created
 
-2.send 2 matched pkts and check port 1 received 2 pkts::
+2.send 2 matched pkts and check port 2 received 2 pkts::
 
    p1 = Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(teid=0x12345678)/Raw("x" *20)
    p2 = Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(teid=0x12345688)/Raw("x" *20)
 
-   ---------------------- Forward statistics for port 1  ----------------------
+   ---------------------- Forward statistics for port 2  ----------------------
    RX-packets: 2              RX-dropped: 0             RX-total: 2
    TX-packets: 0              TX-dropped: 0             TX-total: 0
    ----------------------------------------------------------------------------
@@ -177,11 +177,11 @@ take 'MAC_IPV4_GTPU_TEID_with_mask' for example:
    TX-packets: 0              TX-dropped: 0             TX-total: 0
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
-3.send 1 mismatched pkts and check port 1 not received pkts::
+3.send 1 mismatched pkts and check port 2 not received pkts::
 
    p = Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(teid=0x12345677)/Raw("x" *20)
 
-   ---------------------- Forward statistics for port 1  ----------------------
+   ---------------------- Forward statistics for port 2  ----------------------
    RX-packets: 0              RX-dropped: 0             RX-total: 0
    TX-packets: 0              TX-dropped: 0             TX-total: 0
    ----------------------------------------------------------------------------
@@ -191,12 +191,12 @@ take 'MAC_IPV4_GTPU_TEID_with_mask' for example:
    TX-packets: 0              TX-dropped: 0             TX-total: 0
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
-4.destory rule and re-send step 2 matched pkts check port 1 not received pkts::
+4.destory rule and re-send step 2 matched pkts check port 2 not received pkts::
 
    p1 = Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(teid=0x12345678)/Raw("x" *20)
    p2 = Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(teid=0x12345688)/Raw("x" *20)
 
-   ---------------------- Forward statistics for port 1  ----------------------
+   ---------------------- Forward statistics for port 2  ----------------------
    RX-packets: 0              RX-dropped: 0             RX-total: 0
    TX-packets: 0              TX-dropped: 0             TX-total: 0
    ----------------------------------------------------------------------------
@@ -217,7 +217,7 @@ subcase 1: MAC_IPV4_GTPU_TEID_with_mask
 :::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -232,7 +232,7 @@ subcase 2: MAC_IPV4_GTPU_TEID_without_mask
 ::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -247,7 +247,7 @@ subcase 3: MAC_IPV4_GTPU_dst
 ::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 dst is 192.168.1.2 / udp / gtpu / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 dst is 192.168.1.2 / udp / gtpu / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -261,7 +261,7 @@ subcase 4: MAC_IPV4_GTPU_src
 ::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 src is 192.168.1.1 / udp / gtpu / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 src is 192.168.1.1 / udp / gtpu / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -275,7 +275,7 @@ subcase 5: MAC_IPV4_GTPU_src_dst
 ::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / gtpu / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / gtpu / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -291,7 +291,7 @@ subcase 6: MAC_IPV4_GTPU_teid_dst
 :::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 dst is 192.168.1.2 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 dst is 192.168.1.2 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -307,7 +307,7 @@ subcase 7: MAC_IPV4_GTPU_teid_src
 :::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 src is 192.168.1.1 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 src is 192.168.1.1 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -324,7 +324,7 @@ subcase 8: MAC_IPV4_GTPU_ALL
 ::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -394,7 +394,7 @@ subcase 1: MAC_IPV4_GTPU_EH_IPV4_TEID_with_mask
 :::::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -409,7 +409,7 @@ subcase 2: MAC_IPV4_GTPU_EH_IPV4_TEID_without_mask
 ::::::::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / gtp_psc / ipv4 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / gtp_psc / ipv4 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -424,7 +424,7 @@ subcase 3: MAC_IPV4_GTPU_EH_IPV4_QFI
 ::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -438,7 +438,7 @@ subcase 4: MAC_IPV4_GTPU_EH_IPV4_L3DST
 ::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.1.2 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -454,7 +454,7 @@ subcase 5: MAC_IPV4_GTPU_EH_IPV4_L3SRC
 ::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -470,7 +470,7 @@ subcase 6: MAC_IPV4_GTPU_EH_IPV4_L3SRC_L3DST
 ::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -488,7 +488,7 @@ subcase 7: MAC_IPV4_GTPU_EH_IPV4_TEID_L3SRC_L3DST
 :::::::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu  teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu  teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -506,7 +506,7 @@ subcase 8: MAC_IPV4_GTPU_EH_IPV4_QFI_L3SRC_L3DST
 ::::::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -525,7 +525,7 @@ subcase 9: MAC_IPV4_GTPU_EH_IPV4_ALL
 ::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu  teid is 0x12345678 teid mask 0x00000001 / gtp_psc qfi is 0x34 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu  teid is 0x12345678 teid mask 0x00000001 / gtp_psc qfi is 0x34 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -551,7 +551,7 @@ subcase 1: MAC_IPV4_GTPU_EH_IPV4_UDP_TEID_with_mask
 :::::::::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 / udp / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 / udp / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -566,7 +566,7 @@ subcase 2: MAC_IPV4_GTPU_EH_IPV4_UDP_TEID_without_mask
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / gtp_psc / ipv4 / udp / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / gtp_psc / ipv4 / udp / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -581,7 +581,7 @@ subcase 3: MAC_IPV4_GTPU_EH_IPV4_UDP_QFI
 ::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 / udp / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 / udp / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -595,7 +595,7 @@ subcase 4: MAC_IPV4_GTPU_EH_IPV4_UDP_L3DST
 ::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.1.2 / udp / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -609,7 +609,7 @@ subcase 5: MAC_IPV4_GTPU_EH_IPV4_UDP_L3SRC
 ::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 / udp / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 / udp / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -623,7 +623,7 @@ subcase 6: MAC_IPV4_GTPU_EH_IPV4_UDP_L3SRC_L3DST
 ::::::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -639,7 +639,7 @@ subcase 7: MAC_IPV4_GTPU_EH_IPV4_UDP_L3SRC_L4DST
 ::::::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 / udp dst is 23 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 / udp dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -655,7 +655,7 @@ subcase 8: MAC_IPV4_GTPU_EH_IPV4_UDP_L3SRC_L4SRC
 ::::::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 / udp src is 22 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 / udp src is 22 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -672,7 +672,7 @@ subcase 9: MAC_IPV4_GTPU_EH_IPV4_UDP_L3DST_L4SRC
 ::::::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.1.2 / udp src is 22 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.1.2 / udp src is 22 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -688,7 +688,7 @@ subcase 10: MAC_IPV4_GTPU_EH_IPV4_UDP_L3DST_L4DST
 :::::::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.1.2 / udp dst is 23 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.1.2 / udp dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -704,7 +704,7 @@ subcase 11: MAC_IPV4_GTPU_EH_IPV4_UDP_L4DST
 :::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / udp dst is 23 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / udp dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -718,7 +718,7 @@ subcase 12: MAC_IPV4_GTPU_EH_IPV4_UDP_L4SRC
 :::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / udp src is 22 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / udp src is 22 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -732,7 +732,7 @@ subcase 13: MAC_IPV4_GTPU_EH_IPV4_UDP_L4SRC_L4DST
 :::::::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / udp src is 22 dst is 23 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / udp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -748,7 +748,7 @@ subcase 14: MAC_IPV4_GTPU_EH_IPV4_UDP_TEID_L3SRC_L3DST
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -764,7 +764,7 @@ subcase 15: MAC_IPV4_GTPU_EH_IPV4_UDP_QFI_L3SRC_L3DST
 :::::::::::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -780,7 +780,7 @@ subcase 16: MAC_IPV4_GTPU_EH_IPV4_UDP_TEID_L4SRC_L4DST
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 / udp src is 22 dst is 23 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 / udp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -796,7 +796,7 @@ subcase 17: MAC_IPV4_GTPU_EH_IPV4_UDP_QFI_L4SRC_L4DST
 :::::::::::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 / udp src is 22 dst is 23 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 / udp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -812,7 +812,7 @@ subcase 18: MAC_IPV4_GTPU_EH_IPV4_UDP_L3_l4
 :::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 22 dst is 23 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -832,7 +832,7 @@ subcase 19: MAC_IPV4_GTPU_EH_IPV4_UDP_ALL
 :::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc qfi is 0x34 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 22 dst is 23 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc qfi is 0x34 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -926,7 +926,7 @@ subcase 1: MAC_IPV4_GTPU_IPV4_TEID_with_mask
 ::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -942,7 +942,7 @@ subcase 2: MAC_IPV4_GTPU_IPV4_TEID_without_mask
 :::::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / ipv4 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / ipv4 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -958,7 +958,7 @@ subcase 3: MAC_IPV4_GTPU_IPV4_L3DST
 :::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.1.2 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -974,7 +974,7 @@ subcase 4: MAC_IPV4_GTPU_IPV4_L3SRC
 :::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -990,7 +990,7 @@ subcase 4: MAC_IPV4_GTPU_IPV4_L3SRC_L3DST
 :::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -1008,7 +1008,7 @@ subcase 5: MAC_IPV4_GTPU_IPV4_ALL
 :::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -1032,7 +1032,7 @@ subcase 1: MAC_IPV4_GTPU_IPV4_UDP_TEID_with_mask
 ::::::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 / udp / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 / udp / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -1048,7 +1048,7 @@ subcase 2: MAC_IPV4_GTPU_IPV4_UDP_TEID_without_mask
 :::::::::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / ipv4 / udp / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / ipv4 / udp / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -1065,7 +1065,7 @@ subcase 3: MAC_IPV4_GTPU_IPV4_UDP_L3DST
 :::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.1.2 / udp / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -1081,7 +1081,7 @@ subcase 4: MAC_IPV4_GTPU_IPV4_UDP_L3SRC
 :::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 / udp / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 / udp / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -1097,7 +1097,7 @@ subcase 5: MAC_IPV4_GTPU_IPV4_UDP_L3SRC_L3DST
 :::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -1115,7 +1115,7 @@ subcase 6: MAC_IPV4_GTPU_IPV4_UDP_L3SRC_L4DST
 :::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 / udp dst is 23 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 / udp dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -1133,7 +1133,7 @@ subcase 7: MAC_IPV4_GTPU_IPV4_UDP_L3SRC_L4SRC
 :::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 / udp src is 22 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 / udp src is 22 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -1151,7 +1151,7 @@ subcase 8: MAC_IPV4_GTPU_IPV4_UDP_L3DST_L4SRC
 :::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.1.2 / udp src is 22 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.1.2 / udp src is 22 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -1169,7 +1169,7 @@ subcase 9: MAC_IPV4_GTPU_IPV4_UDP_L3DST_L4DST
 :::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.1.2 / udp dst is 23 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.1.2 / udp dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -1187,7 +1187,7 @@ subcase 10: MAC_IPV4_GTPU_IPV4_UDP_L4DST
 ::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / udp dst is 23 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / udp dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -1203,7 +1203,7 @@ subcase 11: MAC_IPV4_GTPU_IPV4_UDP_L4SRC
 ::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / udp src is 22 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / udp src is 22 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -1219,7 +1219,7 @@ subcase 12: MAC_IPV4_GTPU_IPV4_UDP_L4SRC_L4DST
 ::::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / udp src is 22 dst is 23 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / udp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -1237,7 +1237,7 @@ subcase 13: MAC_IPV4_GTPU_IPV4_UDP_TIED_L3SRC_L3DST
 :::::::::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -1256,7 +1256,7 @@ subcase 14: MAC_IPV4_GTPU_IPV4_UDP_TEID_L4SRC_L4DST
 :::::::::::::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 / udp src is 22 dst is 23 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 / udp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -1275,7 +1275,7 @@ subcase 15: MAC_IPV4_GTPU_IPV4_UDP_L3_L4
 ::::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 22 dst is 23 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
@@ -1293,7 +1293,7 @@ subcase 16: MAC_IPV4_GTPU_IPV4_UDP_ALL
 ::::::::::::::::::::::::::::::::::::::
 rule::
 
-   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 22 dst is 23 / end actions vf id 1 / end
+   flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
 matched packets::
 
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [DTS][PATCH V1 06/21] test_plans/ice_dcf_switch_filter_pppoe: update test plan to support represented port action from deprecated vf action
  2022-09-28  3:18 [DTS][PATCH V1 00/21] update test plans and tests to support represented port action and port representor action from deprecated vf action on DCF cases Ke Xu
                   ` (4 preceding siblings ...)
  2022-09-28  3:18 ` [DTS][PATCH V1 05/21] test_plans/ice_dcf_switch_filter_gtpu: " Ke Xu
@ 2022-09-28  3:18 ` Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 07/21] test_plans/ice_qinq: " Ke Xu
                   ` (14 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Ke Xu @ 2022-09-28  3:18 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, jin.ling, zhiminx.huang, weiyuanx.li, qi.fu, Ke Xu

Signed-off-by: Ke Xu <ke1.xu@intel.com>
---
 .../ice_dcf_switch_filter_pppoe_test_plan.rst | 284 +++++++++---------
 1 file changed, 142 insertions(+), 142 deletions(-)

diff --git a/test_plans/ice_dcf_switch_filter_pppoe_test_plan.rst b/test_plans/ice_dcf_switch_filter_pppoe_test_plan.rst
index 6017edcd..e19e3a41 100644
--- a/test_plans/ice_dcf_switch_filter_pppoe_test_plan.rst
+++ b/test_plans/ice_dcf_switch_filter_pppoe_test_plan.rst
@@ -172,8 +172,8 @@ Prerequisites
 
 9. Launch dpdk on VF0 and VF1, and VF0 request DCF mode::
 
-     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf -a 0000:18:01.1 -- -i
-     testpmd> set portlist 1
+     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf,representor=[1] -a 0000:18:01.1 -- -i
+     testpmd> set portlist 2
      testpmd> set fwd rxonly
      testpmd> set verbose 1
      testpmd> start
@@ -199,7 +199,7 @@ Test case: MAC_VLAN_PPPOE_IPV4_PAY_session_id_proto_id
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -213,7 +213,7 @@ Test case: MAC_VLAN_PPPOE_IPV4_PAY_session_id_proto_id
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -222,7 +222,7 @@ Test case: MAC_VLAN_PPPOE_IPV4_PAY_session_id_proto_id
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:54",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
@@ -230,7 +230,7 @@ Test case: MAC_VLAN_PPPOE_IPV4_PAY_session_id_proto_id
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=4)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6()/Raw("x" * 80)],iface="enp27s0f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -238,14 +238,14 @@ Test case: MAC_VLAN_PPPOE_IPV4_PAY_session_id_proto_id
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Test case: MAC_VLAN_PPPOE_IPV6_PAY_session_id_proto_id
 ======================================================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -259,7 +259,7 @@ Test case: MAC_VLAN_PPPOE_IPV6_PAY_session_id_proto_id
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -268,7 +268,7 @@ Test case: MAC_VLAN_PPPOE_IPV6_PAY_session_id_proto_id
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6()/Raw("x" * 80)],iface="enp27s0f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:54",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6()/Raw("x" * 80)],iface="enp27s0f0",count=1)
@@ -276,7 +276,7 @@ Test case: MAC_VLAN_PPPOE_IPV6_PAY_session_id_proto_id
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=4)/PPP(proto=0x0057)/IPv6()/Raw("x" * 80)],iface="enp27s0f0",count=1)
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -284,14 +284,14 @@ Test case: MAC_VLAN_PPPOE_IPV6_PAY_session_id_proto_id
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Test case: MAC_PPPOE_IPV4_PAY_session_id_proto_id
 =================================================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -305,7 +305,7 @@ Test case: MAC_PPPOE_IPV4_PAY_session_id_proto_id
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -314,14 +314,14 @@ Test case: MAC_PPPOE_IPV4_PAY_session_id_proto_id
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:54",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=4)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6()/Raw("x" * 80)],iface="enp27s0f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -329,14 +329,14 @@ Test case: MAC_PPPOE_IPV4_PAY_session_id_proto_id
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Test case: MAC_PPPOE_IPV6_PAY_session_id_proto_id
 =================================================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -350,7 +350,7 @@ Test case: MAC_PPPOE_IPV6_PAY_session_id_proto_id
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -359,14 +359,14 @@ Test case: MAC_PPPOE_IPV6_PAY_session_id_proto_id
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6()/Raw("x" * 80)],iface="enp27s0f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:54",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6()/Raw("x" * 80)],iface="enp27s0f0",count=1)
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=4)/PPP(proto=0x0057)/IPv6()/Raw("x" * 80)],iface="enp27s0f0",count=1)
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -374,7 +374,7 @@ Test case: MAC_PPPOE_IPV6_PAY_session_id_proto_id
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Test case: PPPoE data
 =====================
@@ -384,7 +384,7 @@ Subcase 1: MAC_PPPOE_IPV4_PAY_IP_address
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -398,7 +398,7 @@ Subcase 1: MAC_PPPOE_IPV4_PAY_IP_address
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -407,13 +407,13 @@ Subcase 1: MAC_PPPOE_IPV4_PAY_IP_address
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x"*80)],iface="ens786f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.3", dst="192.168.1.2")/Raw("x"*80)],iface="ens786f0",count=1)
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.4")/Raw("x"*80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -421,14 +421,14 @@ Subcase 1: MAC_PPPOE_IPV4_PAY_IP_address
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Subcase 2: MAC_PPPOE_IPV4_UDP_PAY
 ---------------------------------
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -442,7 +442,7 @@ Subcase 2: MAC_PPPOE_IPV4_UDP_PAY
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -451,7 +451,7 @@ Subcase 2: MAC_PPPOE_IPV4_UDP_PAY
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.3", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
@@ -459,7 +459,7 @@ Subcase 2: MAC_PPPOE_IPV4_UDP_PAY
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=27,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=19)/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -467,14 +467,14 @@ Subcase 2: MAC_PPPOE_IPV4_UDP_PAY
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Subcase 3: MAC_PPPOE_IPV4_UDP_PAY_non_src_dst_port
 --------------------------------------------------
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -488,7 +488,7 @@ Subcase 3: MAC_PPPOE_IPV4_UDP_PAY_non_src_dst_port
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -497,7 +497,7 @@ Subcase 3: MAC_PPPOE_IPV4_UDP_PAY_non_src_dst_port
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.3", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
@@ -505,7 +505,7 @@ Subcase 3: MAC_PPPOE_IPV4_UDP_PAY_non_src_dst_port
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -513,14 +513,14 @@ Subcase 3: MAC_PPPOE_IPV4_UDP_PAY_non_src_dst_port
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Subcase 4: MAC_PPPOE_IPV4_TCP_PAY
 ---------------------------------
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -534,7 +534,7 @@ Subcase 4: MAC_PPPOE_IPV4_TCP_PAY
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -543,7 +543,7 @@ Subcase 4: MAC_PPPOE_IPV4_TCP_PAY
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.3", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
@@ -551,7 +551,7 @@ Subcase 4: MAC_PPPOE_IPV4_TCP_PAY
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=27,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=19)/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -559,14 +559,14 @@ Subcase 4: MAC_PPPOE_IPV4_TCP_PAY
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Subcase 5: MAC_PPPOE_IPV4_TCP_PAY_non_src_dst_port
 --------------------------------------------------
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -580,7 +580,7 @@ Subcase 5: MAC_PPPOE_IPV4_TCP_PAY_non_src_dst_port
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -589,7 +589,7 @@ Subcase 5: MAC_PPPOE_IPV4_TCP_PAY_non_src_dst_port
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.3", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
@@ -597,7 +597,7 @@ Subcase 5: MAC_PPPOE_IPV4_TCP_PAY_non_src_dst_port
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -605,14 +605,14 @@ Subcase 5: MAC_PPPOE_IPV4_TCP_PAY_non_src_dst_port
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Subcase 6: MAC_PPPOE_IPV6_PAY_IP_address
 ----------------------------------------
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -626,7 +626,7 @@ Subcase 6: MAC_PPPOE_IPV6_PAY_IP_address
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -635,14 +635,14 @@ Subcase 6: MAC_PPPOE_IPV6_PAY_IP_address
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x"*80)],iface="ens786f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x"*80)],iface="ens786f0",count=1)
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/Raw("x"*80)],iface="ens786f0",count=1)
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x"*80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -650,14 +650,14 @@ Subcase 6: MAC_PPPOE_IPV6_PAY_IP_address
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Subcase 7: MAC_PPPOE_IPV6_UDP_PAY
 ---------------------------------
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -671,7 +671,7 @@ Subcase 7: MAC_PPPOE_IPV6_UDP_PAY
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -680,14 +680,14 @@ Subcase 7: MAC_PPPOE_IPV6_UDP_PAY
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=27,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=19)/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -695,14 +695,14 @@ Subcase 7: MAC_PPPOE_IPV6_UDP_PAY
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Subcase 8: MAC_PPPOE_IPV6_UDP_PAY_non_src_dst_port
 --------------------------------------------------
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -716,7 +716,7 @@ Subcase 8: MAC_PPPOE_IPV6_UDP_PAY_non_src_dst_port
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -725,7 +725,7 @@ Subcase 8: MAC_PPPOE_IPV6_UDP_PAY_non_src_dst_port
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
@@ -733,7 +733,7 @@ Subcase 8: MAC_PPPOE_IPV6_UDP_PAY_non_src_dst_port
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -741,14 +741,14 @@ Subcase 8: MAC_PPPOE_IPV6_UDP_PAY_non_src_dst_port
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Subcase 9: MAC_PPPOE_IPV6_TCP_PAY
 ---------------------------------
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -762,7 +762,7 @@ Subcase 9: MAC_PPPOE_IPV6_TCP_PAY
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -771,14 +771,14 @@ Subcase 9: MAC_PPPOE_IPV6_TCP_PAY
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=27,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=19)/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -786,14 +786,14 @@ Subcase 9: MAC_PPPOE_IPV6_TCP_PAY
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Subcase 10: MAC_PPPOE_IPV6_TCP_PAY_non_src_dst_port
 ---------------------------------------------------
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -807,7 +807,7 @@ Subcase 10: MAC_PPPOE_IPV6_TCP_PAY_non_src_dst_port
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -816,7 +816,7 @@ Subcase 10: MAC_PPPOE_IPV6_TCP_PAY_non_src_dst_port
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
@@ -824,7 +824,7 @@ Subcase 10: MAC_PPPOE_IPV6_TCP_PAY_non_src_dst_port
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -832,14 +832,14 @@ Subcase 10: MAC_PPPOE_IPV6_TCP_PAY_non_src_dst_port
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Subcase 11: MAC_VLAN_PPPOE_IPV4_PAY_IP_address
 ----------------------------------------------
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -853,7 +853,7 @@ Subcase 11: MAC_VLAN_PPPOE_IPV4_PAY_IP_address
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -862,14 +862,14 @@ Subcase 11: MAC_VLAN_PPPOE_IPV4_PAY_IP_address
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x"*80)],iface="ens786f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x"*80)],iface="ens786f0",count=1)
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.3", dst="192.168.1.2")/Raw("x"*80)],iface="ens786f0",count=1)
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.4")/Raw("x"*80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -877,14 +877,14 @@ Subcase 11: MAC_VLAN_PPPOE_IPV4_PAY_IP_address
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Subcase 12: MAC_VLAN_PPPOE_IPV4_UDP_PAY
 ---------------------------------------
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -898,7 +898,7 @@ Subcase 12: MAC_VLAN_PPPOE_IPV4_UDP_PAY
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -907,7 +907,7 @@ Subcase 12: MAC_VLAN_PPPOE_IPV4_UDP_PAY
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
@@ -916,7 +916,7 @@ Subcase 12: MAC_VLAN_PPPOE_IPV4_UDP_PAY
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=27,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=19)/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -924,14 +924,14 @@ Subcase 12: MAC_VLAN_PPPOE_IPV4_UDP_PAY
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Subcase 13: MAC_VLAN_PPPOE_IPV4_UDP_PAY_non_src_dst_port
 --------------------------------------------------------
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -945,7 +945,7 @@ Subcase 13: MAC_VLAN_PPPOE_IPV4_UDP_PAY_non_src_dst_port
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -954,7 +954,7 @@ Subcase 13: MAC_VLAN_PPPOE_IPV4_UDP_PAY_non_src_dst_port
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
@@ -963,7 +963,7 @@ Subcase 13: MAC_VLAN_PPPOE_IPV4_UDP_PAY_non_src_dst_port
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -971,14 +971,14 @@ Subcase 13: MAC_VLAN_PPPOE_IPV4_UDP_PAY_non_src_dst_port
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Subcase 14: MAC_VLAN_PPPOE_IPV4_TCP_PAY
 ---------------------------------------
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -992,7 +992,7 @@ Subcase 14: MAC_VLAN_PPPOE_IPV4_TCP_PAY
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1001,7 +1001,7 @@ Subcase 14: MAC_VLAN_PPPOE_IPV4_TCP_PAY
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
@@ -1010,7 +1010,7 @@ Subcase 14: MAC_VLAN_PPPOE_IPV4_TCP_PAY
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=27,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=19)/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -1018,14 +1018,14 @@ Subcase 14: MAC_VLAN_PPPOE_IPV4_TCP_PAY
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Subcase 15: MAC_VLAN_PPPOE_IPV4_TCP_PAY_non_src_dst_port
 --------------------------------------------------------
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1039,7 +1039,7 @@ Subcase 15: MAC_VLAN_PPPOE_IPV4_TCP_PAY_non_src_dst_port
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1048,7 +1048,7 @@ Subcase 15: MAC_VLAN_PPPOE_IPV4_TCP_PAY_non_src_dst_port
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
@@ -1057,7 +1057,7 @@ Subcase 15: MAC_VLAN_PPPOE_IPV4_TCP_PAY_non_src_dst_port
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -1065,14 +1065,14 @@ Subcase 15: MAC_VLAN_PPPOE_IPV4_TCP_PAY_non_src_dst_port
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Subcase 16: MAC_VLAN_PPPOE_IPV6_PAY_IP_address
 ----------------------------------------------
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1086,7 +1086,7 @@ Subcase 16: MAC_VLAN_PPPOE_IPV6_PAY_IP_address
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1095,13 +1095,13 @@ Subcase 16: MAC_VLAN_PPPOE_IPV6_PAY_IP_address
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x"*80)],iface="ens786f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x"*80)],iface="ens786f0",count=1)
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x"*80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -1109,14 +1109,14 @@ Subcase 16: MAC_VLAN_PPPOE_IPV6_PAY_IP_address
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Subcase 17: MAC_VLAN_PPPOE_IPV6_UDP_PAY
 ---------------------------------------
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1130,7 +1130,7 @@ Subcase 17: MAC_VLAN_PPPOE_IPV6_UDP_PAY
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1139,7 +1139,7 @@ Subcase 17: MAC_VLAN_PPPOE_IPV6_UDP_PAY
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
@@ -1147,7 +1147,7 @@ Subcase 17: MAC_VLAN_PPPOE_IPV6_UDP_PAY
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=27,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=19)/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -1155,14 +1155,14 @@ Subcase 17: MAC_VLAN_PPPOE_IPV6_UDP_PAY
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Subcase 18: MAC_VLAN_PPPOE_IPV6_UDP_PAY_non_src_dst_port
 --------------------------------------------------------
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / udp / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / udp / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1176,7 +1176,7 @@ Subcase 18: MAC_VLAN_PPPOE_IPV6_UDP_PAY_non_src_dst_port
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / udp / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / udp / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1185,7 +1185,7 @@ Subcase 18: MAC_VLAN_PPPOE_IPV6_UDP_PAY_non_src_dst_port
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
@@ -1193,7 +1193,7 @@ Subcase 18: MAC_VLAN_PPPOE_IPV6_UDP_PAY_non_src_dst_port
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -1201,14 +1201,14 @@ Subcase 18: MAC_VLAN_PPPOE_IPV6_UDP_PAY_non_src_dst_port
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Subcase 19: MAC_VLAN_PPPOE_IPV6_TCP_PAY
 ---------------------------------------
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1222,7 +1222,7 @@ Subcase 19: MAC_VLAN_PPPOE_IPV6_TCP_PAY
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1231,7 +1231,7 @@ Subcase 19: MAC_VLAN_PPPOE_IPV6_TCP_PAY
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
@@ -1239,7 +1239,7 @@ Subcase 19: MAC_VLAN_PPPOE_IPV6_TCP_PAY
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=27,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=19)/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -1247,14 +1247,14 @@ Subcase 19: MAC_VLAN_PPPOE_IPV6_TCP_PAY
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Subcase 20: MAC_VLAN_PPPOE_IPV6_TCP_PAY_non_src_dst_port
 --------------------------------------------------------
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / tcp / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / tcp / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1268,7 +1268,7 @@ Subcase 20: MAC_VLAN_PPPOE_IPV6_TCP_PAY_non_src_dst_port
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / tcp / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / tcp / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1277,7 +1277,7 @@ Subcase 20: MAC_VLAN_PPPOE_IPV6_TCP_PAY_non_src_dst_port
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
@@ -1285,7 +1285,7 @@ Subcase 20: MAC_VLAN_PPPOE_IPV6_TCP_PAY_non_src_dst_port
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -1293,7 +1293,7 @@ Subcase 20: MAC_VLAN_PPPOE_IPV6_TCP_PAY_non_src_dst_port
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Test case: PPPoE control
 ========================
@@ -1303,7 +1303,7 @@ Subcase 1: MAC_PPPOE_LCP_PAY
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1317,7 +1317,7 @@ Subcase 1: MAC_PPPOE_LCP_PAY
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1326,14 +1326,14 @@ Subcase 1: MAC_PPPOE_LCP_PAY
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0xc021)/PPP_LCP()/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:53",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0xc021)/PPP_LCP()/Raw("x" * 80)],iface="ens786f0",count=1)
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=4)/PPP(proto=0xc021)/PPP_LCP()/Raw("x" * 80)],iface="ens786f0",count=1)
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -1341,14 +1341,14 @@ Subcase 1: MAC_PPPOE_LCP_PAY
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Subcase 2: MAC_PPPOE_IPCP_PAY
 -----------------------------
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1362,7 +1362,7 @@ Subcase 2: MAC_PPPOE_IPCP_PAY
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1371,14 +1371,14 @@ Subcase 2: MAC_PPPOE_IPCP_PAY
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x8021)/PPP_IPCP()/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:53",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x8021)/PPP_IPCP()/Raw("x" * 80)],iface="ens786f0",count=1)
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=4)/PPP(proto=0x8021)/PPP_IPCP()/Raw("x" * 80)],iface="ens786f0",count=1)
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -1386,14 +1386,14 @@ Subcase 2: MAC_PPPOE_IPCP_PAY
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Subcase 3: MAC_VLAN_PPPOE_LCP_PAY
 ---------------------------------
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1407,7 +1407,7 @@ Subcase 3: MAC_VLAN_PPPOE_LCP_PAY
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1416,7 +1416,7 @@ Subcase 3: MAC_VLAN_PPPOE_LCP_PAY
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0xc021)/PPP_LCP()/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:53",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0xc021)/PPP_LCP()/Raw("x" * 80)],iface="ens786f0",count=1)
@@ -1424,7 +1424,7 @@ Subcase 3: MAC_VLAN_PPPOE_LCP_PAY
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=4)/PPP(proto=0xc021)/PPP_LCP()/Raw("x" * 80)],iface="ens786f0",count=1)
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -1432,14 +1432,14 @@ Subcase 3: MAC_VLAN_PPPOE_LCP_PAY
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
 
 Subcase 4: MAC_VLAN_PPPOE_IPCP_PAY
 ----------------------------------
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1453,7 +1453,7 @@ Subcase 4: MAC_VLAN_PPPOE_IPCP_PAY
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1462,7 +1462,7 @@ Subcase 4: MAC_VLAN_PPPOE_IPCP_PAY
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x8021)/PPP_IPCP()/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check port 1 receive the packets.
+   check port 2 receive the packets.
    send mismatched packets::
 
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:53",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x8021)/PPP_IPCP()/Raw("x" * 80)],iface="ens786f0",count=1)
@@ -1470,7 +1470,7 @@ Subcase 4: MAC_VLAN_PPPOE_IPCP_PAY
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=4)/PPP(proto=0x8021)/PPP_IPCP()/Raw("x" * 80)],iface="ens786f0",count=1)
      sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 2.
 
 4. verify rules can be destroyed::
 
@@ -1478,4 +1478,4 @@ Subcase 4: MAC_VLAN_PPPOE_IPCP_PAY
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 2.
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [DTS][PATCH V1 07/21] test_plans/ice_qinq: update test plan to support represented port action from deprecated vf action
  2022-09-28  3:18 [DTS][PATCH V1 00/21] update test plans and tests to support represented port action and port representor action from deprecated vf action on DCF cases Ke Xu
                   ` (5 preceding siblings ...)
  2022-09-28  3:18 ` [DTS][PATCH V1 06/21] test_plans/ice_dcf_switch_filter_pppoe: " Ke Xu
@ 2022-09-28  3:18 ` Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 08/21] test_plans/ice_dcf_acl_filter: remove redundant white space Ke Xu
                   ` (13 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Ke Xu @ 2022-09-28  3:18 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, jin.ling, zhiminx.huang, weiyuanx.li, qi.fu, Ke Xu

Signed-off-by: Ke Xu <ke1.xu@intel.com>
---
 test_plans/ice_qinq_test_plan.rst | 104 +++++++++++++++---------------
 1 file changed, 52 insertions(+), 52 deletions(-)

diff --git a/test_plans/ice_qinq_test_plan.rst b/test_plans/ice_qinq_test_plan.rst
index 37396f41..7c157575 100644
--- a/test_plans/ice_qinq_test_plan.rst
+++ b/test_plans/ice_qinq_test_plan.rst
@@ -80,7 +80,7 @@ Prerequisites
 
 12. For test cases for DCF switch filter(01-06), use below cmd to launch testpmd::
 
-     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf -a 0000:18:01.1 -a 0000:18:01.2 -a 0000:18:01.3 -- -i
+     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf,representor=[1] -a 0000:18:01.1 -a 0000:18:01.2 -a 0000:18:01.3 -- -i
      testpmd> set fwd rxonly
      testpmd> set verbose 1
      testpmd> start
@@ -139,7 +139,7 @@ subcase: dest mac
 -----------------
 1. create a rule::
 
-    testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / ipv4 / end actions vf id 1 / end
+    testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / ipv4 / end actions represented_port ethdev_port_id1 / end
     testpmd> flow list 0
 
    check the rule exists in the list.
@@ -170,7 +170,7 @@ subcase: src ip
 ---------------
 1. create a rule::
 
-    testpmd> flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / ipv4 src is 196.222.232.221 / end actions vf id 1 / end
+    testpmd> flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / ipv4 src is 196.222.232.221 / end actions represented_port ethdev_port_id1 / end
     testpmd> flow list 0
 
    check the rule exists in the list.
@@ -201,7 +201,7 @@ subcase: dst ip
 ---------------
 1. create a rule::
 
-    testpmd> flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / ipv4 dst is 196.222.232.221 / end actions vf id 1 / end
+    testpmd> flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / ipv4 dst is 196.222.232.221 / end actions represented_port ethdev_port_id1 / end
     testpmd> flow list 0
 
    check the rule exists in the list.
@@ -235,7 +235,7 @@ subcase: dest mac
 -----------------
 1. create a rule::
 
-    testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / ipv6 / end actions vf id 1 / end
+    testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / ipv6 / end actions represented_port ethdev_port_id1 / end
     testpmd> flow list 0
 
    check the rule exists in the list.
@@ -266,7 +266,7 @@ subcase: src ip
 ---------------
 1. create a rule::
 
-    testpmd> flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / ipv6 src is 1111:2222:3333:4444:5555:6666:7777:8888 / end actions vf id 1 / end
+    testpmd> flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / ipv6 src is 1111:2222:3333:4444:5555:6666:7777:8888 / end actions represented_port ethdev_port_id1 / end
     testpmd> flow list 0
 
    check the rule exists in the list.
@@ -297,7 +297,7 @@ subcase: dst ip
 ---------------
 1. create a rule::
 
-    testpmd> flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / end actions vf id 1 / end
+    testpmd> flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / end actions represented_port ethdev_port_id1 / end
     testpmd> flow list 0
 
    check the rule exists in the list.
@@ -330,7 +330,7 @@ Test case 03: DCF switch for MAC_QINQ_PPPOE_PAY
 
 1. create a rule::
 
-    testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / end actions vf id 1 / end
+    testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / end actions represented_port ethdev_port_id1 / end
     testpmd> flow list 0
 
    check the rule exists in the list.
@@ -368,7 +368,7 @@ Test case 04: DCF switch for MAC_QINQ_PPPOE_PAY_Proto
 
 1. create a rule::
 
-    testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / pppoe_proto_id is 0x0057 / end actions vf id 1 / end
+    testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / pppoe_proto_id is 0x0057 / end actions represented_port ethdev_port_id1 / end
     testpmd> flow list 0
 
    check the rule exists in the list.
@@ -403,7 +403,7 @@ subcase: dest mac
 -----------------
 1. create a rule::
 
-    testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / ipv4 / end actions vf id 1 / end
+    testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / ipv4 / end actions represented_port ethdev_port_id1 / end
     testpmd> flow list 0
 
    check the rule exists in the list.
@@ -435,7 +435,7 @@ subcase: src ip
 ---------------
 1. create a rule::
 
-    testpmd> flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / ipv4 src is 196.222.232.221 / end actions vf id 1 / end
+    testpmd> flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / ipv4 src is 196.222.232.221 / end actions represented_port ethdev_port_id1 / end
     testpmd> flow list 0
 
    check the rule exists in the list.
@@ -467,7 +467,7 @@ subcase: dst ip
 ---------------
 1. create a rule::
 
-    testpmd> flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / ipv4 dst is 196.222.232.221 / end actions vf id 1 / end
+    testpmd> flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / ipv4 dst is 196.222.232.221 / end actions represented_port ethdev_port_id1 / end
     testpmd> flow list 0
 
    check the rule exists in the list.
@@ -502,7 +502,7 @@ subcase: dest mac
 -----------------
 1. create a rule::
 
-    testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / ipv6 / end actions vf id 1 / end
+    testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / ipv6 / end actions represented_port ethdev_port_id1 / end
     testpmd> flow list 0
 
    check the rule exists in the list.
@@ -534,7 +534,7 @@ subcase: src ip
 ---------------
 1. create a rule::
 
-    testpmd> flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / ipv6 src is 1111:2222:3333:4444:5555:6666:7777:8888 / end actions vf id 1 / end
+    testpmd> flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / ipv6 src is 1111:2222:3333:4444:5555:6666:7777:8888 / end actions represented_port ethdev_port_id1 / end
     testpmd> flow list 0
 
    check the rule exists in the list.
@@ -566,7 +566,7 @@ subcase: dst ip
 ---------------
 1. create a rule::
 
-    testpmd> flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / end actions vf id 1 / end
+    testpmd> flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / end actions represented_port ethdev_port_id1 / end
     testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1577,7 +1577,7 @@ Common Steps
 ..note:: 
 
     For <EAL options>, you can use "-c 0x6 -n 4", you can also refer to testpmd doc for other setings.
-    For <DUT port pci device id>, you can use "0000:3b:01.0,cap=dcf -a 0000:3b:01.1" for this test plan.
+    For <DUT port pci device id>, you can use "0000:3b:01.0,cap=dcf,representor=[1] -a 0000:3b:01.1" for this test plan.
 
 2. Set verbose::
     
@@ -1622,7 +1622,7 @@ Test Steps
 ~~~~~~~~~~
 1. Validate a rule::
    
-     testpmd> flow validate 0 ingress pattern eth dst is <dst mac> / vlan tci is <outer vlan tci> / vlan tci is <inner vlan tci> / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth dst is <dst mac> / vlan tci is <outer vlan tci> / vlan tci is <inner vlan tci> / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id1 / end
 
    Get the message::
 
@@ -1630,7 +1630,7 @@ Test Steps
 
 2. Create a rule and list rules::
 
-     testpmd> flow create 0 ingress pattern eth dst is <dst mac> / vlan tci is <outer vlan tci> / vlan tci is <inner vlan tci> / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is <dst mac> / vlan tci is <outer vlan tci> / vlan tci is <inner vlan tci> / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id1 / end
      
    Get the message::
 
@@ -1643,7 +1643,7 @@ Test Steps
    ID      Group   Prio    Attr    Rule
    0       0       0       i--     ETH VLAN VLAN IPV4 => VF
 
-3. Send matched packet in scapy on tester, check the port 1 of DUT received this packet.
+3. Send matched packet in scapy on tester, check the port 2 of DUT received this packet.
 
 Tester::
 
@@ -1651,11 +1651,11 @@ Tester::
 
 DUT::
 
-    testpmd> port 1/queue 0: received 1 packets
+    testpmd> port 2/queue 0: received 1 packets
   src=A4:BF:01:4D:6F:32 - dst=00:11:22:33:44:55 - type=0x8100 - length=122 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER_VLAN INNER_L2_ETHER_VLAN INNER_L3_IPV4  - l2_len=18 - inner_l2_len=4 - inner_l3_len=20 - Receive queue=0x0
   ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN
 
-4. Send mismatched packet in scapy on tester, check the port 1 of DUT could not receive this packet.
+4. Send mismatched packet in scapy on tester, check the port 2 of DUT could not receive this packet.
 
 Tester::
 
@@ -1680,7 +1680,7 @@ Tester::
      testpmd> flow list 0
 
    Check the rule not exists in the list.
-   Send matched packets in step 3, check the packets are not to port 1.
+   Send matched packets in step 3, check the packets are not to port 2.
 
 Test Case 2: MAC_QINQ_IPV6
 --------------------------
@@ -1690,7 +1690,7 @@ Test Steps
 ~~~~~~~~~~
 1. Validate a rule::
    
-     testpmd> flow validate 0 ingress pattern eth dst is <dst mac> / vlan tci is <outer vlan tci> / vlan tci is <inner vlan tci> / ipv6 dst is <ipv6 dst> / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth dst is <dst mac> / vlan tci is <outer vlan tci> / vlan tci is <inner vlan tci> / ipv6 dst is <ipv6 dst> / end actions represented_port ethdev_port_id1 / end
 
    Get the message::
 
@@ -1698,7 +1698,7 @@ Test Steps
 
 2. Create a rule and list rules::
 
-     testpmd> flow create 0 ingress pattern eth dst is <dst mac> / vlan tci is <outer vlan tci> / vlan tci is <inner vlan tci> / ipv6 dst is <ipv6 dst> / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is <dst mac> / vlan tci is <outer vlan tci> / vlan tci is <inner vlan tci> / ipv6 dst is <ipv6 dst> / end actions represented_port ethdev_port_id1 / end
 
    Get the message::
 
@@ -1711,7 +1711,7 @@ Test Steps
    ID      Group   Prio    Attr    Rule
    0       0       0       i--     ETH VLAN VLAN IPV6 => VF
 
-3. Send matched packet in scapy on tester, check the port 1 of DUT received this packet.
+3. Send matched packet in scapy on tester, check the port 2 of DUT received this packet.
 
 Tester::
 
@@ -1719,11 +1719,11 @@ Tester::
 
 DUT::
 
-    testpmd> port 1/queue 0: received 1 packets
+    testpmd> port 2/queue 0: received 1 packets
   src=00:00:00:00:00:00 - dst=00:11:22:33:44:55 - type=0x8100 - length=142 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV6_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER_VLAN INNER_L2_ETHER_VLAN INNER_L3_IPV6  - l2_len=18 - inner_l2_len=4 - inner_l3_len=40 - Receive queue=0x0
   ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN
 
-4. Send mismatched packet in scapy on tester, check the port 1 of DUT could not receive this packet.
+4. Send mismatched packet in scapy on tester, check the port 2 of DUT could not receive this packet.
 
 Tester::
 
@@ -1748,7 +1748,7 @@ Tester::
      testpmd> flow list 0
 
    Check the rule not exists in the list.
-   Send matched packets in step 3, check the packets are not to port 1.
+   Send matched packets in step 3, check the packets are not to port 2.
 
 Test Case 3: MAC_QINQ_IPV4_UDP
 ------------------------------
@@ -1758,7 +1758,7 @@ Test steps
 ~~~~~~~~~~
 1. Validate a rule::
    
-     testpmd> flow validate 0 ingress pattern eth dst is <dst mac> / vlan tci is <outer vlan tci> / vlan tci is <inner vlan tci> / ipv4 / udp src is <sport> dst is <dport> / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth dst is <dst mac> / vlan tci is <outer vlan tci> / vlan tci is <inner vlan tci> / ipv4 / udp src is <sport> dst is <dport> / end actions represented_port ethdev_port_id1 / end
 
    Get the message::
 
@@ -1766,7 +1766,7 @@ Test steps
 
 2. Create a rule and list rules::
 
-     testpmd> flow create 0 ingress pattern eth dst is <dst mac> / vlan tci is <outer vlan tci> / vlan tci is <inner vlan tci> / ipv4 / udp src is <sport> dst is <dport> / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is <dst mac> / vlan tci is <outer vlan tci> / vlan tci is <inner vlan tci> / ipv4 / udp src is <sport> dst is <dport> / end actions represented_port ethdev_port_id1 / end
 
    Get the message::
 
@@ -1779,7 +1779,7 @@ Test steps
    ID      Group   Prio    Attr    Rule
    0       0       0       i--     ETH VLAN VLAN IPV4 UDP => VF
 
-3. Send matched packet in scapy on tester, check the port 1 of DUT received this packet.
+3. Send matched packet in scapy on tester, check the port 2 of DUT received this packet.
 
 Tester::
 
@@ -1787,11 +1787,11 @@ Tester::
 
 DUT::
 
-    testpmd> port 1/queue 0: received 1 packets
+    testpmd> port 2/queue 0: received 1 packets
   src=00:00:00:00:00:00 - dst=00:11:22:33:44:55 - type=0x8100 - length=130 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_UDP  - sw ptype: L2_ETHER_VLAN INNER_L2_ETHER_VLAN INNER_L3_IPV4 INNER_L4_UDP  - l2_len=18 - inner_l2_len=4 - inner_l3_len=20 - inner_l4_len=8 - Receive queue=0x0
   ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN
 
-4. Send mismatched packet in scapy on tester, check the port 1 of DUT could not receive this packet.
+4. Send mismatched packet in scapy on tester, check the port 2 of DUT could not receive this packet.
 
 Tester::
 
@@ -1816,7 +1816,7 @@ Tester::
      testpmd> flow list 0
 
    Check the rule not exists in the list.
-   Send matched packets in step 3, check the packets are not to port 1.
+   Send matched packets in step 3, check the packets are not to port 2.
 
 Test Case 4: MAC_QINQ_IPV4_TCP
 ------------------------------
@@ -1826,7 +1826,7 @@ Test Steps
 ~~~~~~~~~~
 1. Validate a rule::
    
-     testpmd> flow validate 0 ingress pattern eth dst is <dst mac> / vlan tci is <outer vlan tci> / vlan tci is <inner vlan tci> / ipv4 / tcp src is <sport> dst is <dport> / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth dst is <dst mac> / vlan tci is <outer vlan tci> / vlan tci is <inner vlan tci> / ipv4 / tcp src is <sport> dst is <dport> / end actions represented_port ethdev_port_id1 / end
 
    Get the message::
 
@@ -1834,7 +1834,7 @@ Test Steps
 
 2. Create a rule and list rules::
 
-     testpmd> flow create 0 ingress pattern eth dst is <dst mac> / vlan tci is <outer vlan tci> / vlan tci is <inner vlan tci> / ipv4 / tcp src is <sport> dst is <dport> / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is <dst mac> / vlan tci is <outer vlan tci> / vlan tci is <inner vlan tci> / ipv4 / tcp src is <sport> dst is <dport> / end actions represented_port ethdev_port_id1 / end
 
    Get the message::
 
@@ -1847,7 +1847,7 @@ Test Steps
    ID      Group   Prio    Attr    Rule
    0       0       0       i--     ETH VLAN VLAN IPV4 TCP => VF
 
-3. Send matched packet in scapy on tester, check the port 1 of DUT received this packet.
+3. Send matched packet in scapy on tester, check the port 2 of DUT received this packet.
 
 Tester::
 
@@ -1855,11 +1855,11 @@ Tester::
 
 DUT::
 
-    testpmd> port 1/queue 0: received 1 packets
+    testpmd> port 2/queue 0: received 1 packets
   src=00:00:00:00:00:00 - dst=00:11:22:33:44:55 - type=0x8100 - length=142 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_TCP  - sw ptype: L2_ETHER_VLAN INNER_L2_ETHER_VLAN INNER_L3_IPV4 INNER_L4_TCP  - l2_len=18 - inner_l2_len=4 - inner_l3_len=20 - inner_l4_len=20 - Receive queue=0x0
   ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN
 
-4. Send mismatched packet in scapy on tester, check the port 1 of DUT could not receive this packet.
+4. Send mismatched packet in scapy on tester, check the port 2 of DUT could not receive this packet.
 
 Tester::
 
@@ -1884,7 +1884,7 @@ Tester::
      testpmd> flow list 0
 
    Check the rule not exists in the list.
-   Send matched packets in step 3, check the packets are not to port 1.
+   Send matched packets in step 3, check the packets are not to port 2.
 
 #Pipeline mode
 
@@ -1896,7 +1896,7 @@ Test Steps
 ~~~~~~~~~~
 1. Validate a rule::
    
-     testpmd> flow validate 0 priority 0 ingress pattern eth dst is <dst mac> / vlan tci is <outer vlan tci> / vlan tci is <inner vlan tci> / ipv6 dst is <ipv6 dst> / udp src is <sport> dst is <dport> / end actions vf id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth dst is <dst mac> / vlan tci is <outer vlan tci> / vlan tci is <inner vlan tci> / ipv6 dst is <ipv6 dst> / udp src is <sport> dst is <dport> / end actions represented_port ethdev_port_id1 / end
 
    Get the message::
 
@@ -1904,7 +1904,7 @@ Test Steps
 
 2. Create a rule and list rules::
 
-     testpmd> flow create 0 priority 0 ingress pattern eth dst is <dst mac> / vlan tci is <outer vlan tci> / vlan tci is <inner vlan tci> / ipv6 dst is <ipv6 dst> / udp src is <sport> dst is <dport> / end actions vf id 1 / end
+     testpmd> flow create 0 priority 0 ingress pattern eth dst is <dst mac> / vlan tci is <outer vlan tci> / vlan tci is <inner vlan tci> / ipv6 dst is <ipv6 dst> / udp src is <sport> dst is <dport> / end actions represented_port ethdev_port_id1 / end
 
    Get the message::
 
@@ -1917,7 +1917,7 @@ Test Steps
    ID      Group   Prio    Attr    Rule
    0       0       0       i--     ETH VLAN VLAN IPV6 UDP => VF
 
-3. Send matched packet in scapy on tester, check the port 1 of DUT received this packet.
+3. Send matched packet in scapy on tester, check the port 2 of DUT received this packet.
 
 Tester::
 
@@ -1925,11 +1925,11 @@ Tester::
 
 DUT::
 
-    testpmd> port 1/queue 0: received 1 packets
+    testpmd> port 2/queue 0: received 1 packets
   src=00:00:00:00:00:00 - dst=00:11:22:33:44:55 - type=0x8100 - length=150 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV6_EXT_UNKNOWN L4_UDP  - sw ptype: L2_ETHER_VLAN INNER_L2_ETHER_VLAN INNER_L3_IPV6 INNER_L4_UDP  - l2_len=18 - inner_l2_len=4 - inner_l3_len=40 - inner_l4_len=8 - Receive queue=0x0
   ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN
 
-4. Send mismatched packet in scapy on tester, check the port 1 of DUT could not receive this packet.
+4. Send mismatched packet in scapy on tester, check the port 2 of DUT could not receive this packet.
 
 Tester::
 
@@ -1954,7 +1954,7 @@ Tester::
      testpmd> flow list 0
 
    Check the rule not exists in the list.
-   Send matched packets in step 3, check the packets are not to port 1.
+   Send matched packets in step 3, check the packets are not to port 2.
 
 Test case 6: MAC_QINQ_IPV6_TCP
 ------------------------------
@@ -1964,7 +1964,7 @@ Test steps
 ~~~~~~~~~~
 1. Validate a rule::
    
-     testpmd> flow validate 0 priority 0 ingress pattern eth dst is <dst mac> / vlan tci is <outer vlan tci> / vlan tci is <inner vlan tci> / ipv6 dst is <ipv6 dst> / tcp src is <sport> dst is <dport> / end actions vf id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth dst is <dst mac> / vlan tci is <outer vlan tci> / vlan tci is <inner vlan tci> / ipv6 dst is <ipv6 dst> / tcp src is <sport> dst is <dport> / end actions represented_port ethdev_port_id1 / end
 
    Get the message::
 
@@ -1972,7 +1972,7 @@ Test steps
 
 2. Create a rule and list rules::
 
-     testpmd> flow create 0 priority 0 ingress pattern eth dst is <dst mac> / vlan tci is <outer vlan tci> / vlan tci is <inner vlan tci> / ipv6 dst is <ipv6 dst> / tcp src is <sport> dst is <dport> / end actions vf id 1 / end
+     testpmd> flow create 0 priority 0 ingress pattern eth dst is <dst mac> / vlan tci is <outer vlan tci> / vlan tci is <inner vlan tci> / ipv6 dst is <ipv6 dst> / tcp src is <sport> dst is <dport> / end actions represented_port ethdev_port_id1 / end
 
    Get the message::
 
@@ -1985,7 +1985,7 @@ Test steps
    ID      Group   Prio    Attr    Rule
    0       0       0       i--     ETH VLAN VLAN IPV6 TCP => VF
    
-3. Send matched packet in scapy on tester, check the port 1 of DUT received this packet.
+3. Send matched packet in scapy on tester, check the port 2 of DUT received this packet.
 
 Tester::
 
@@ -1993,11 +1993,11 @@ Tester::
 
 DUT::
 
-    testpmd> port 1/queue 0: received 1 packets
+    testpmd> port 2/queue 0: received 1 packets
   src=00:00:00:00:00:00 - dst=00:11:22:33:44:55 - type=0x8100 - length=162 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV6_EXT_UNKNOWN L4_TCP  - sw ptype: L2_ETHER_VLAN INNER_L2_ETHER_VLAN INNER_L3_IPV6 INNER_L4_TCP  - l2_len=18 - inner_l2_len=4 - inner_l3_len=40 - inner_l4_len=20 - Receive queue=0x0
   ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN
 
-4. Send mismatched packet in scapy on tester, check the port 1 of DUT could not receive this packet.
+4. Send mismatched packet in scapy on tester, check the port 2 of DUT could not receive this packet.
 
 Tester::
 
@@ -2022,6 +2022,6 @@ Tester::
      testpmd> flow list 0
 
    Check the rule not exists in the list.
-   Send matched packets in step 3, check the packets are not to port 1.
+   Send matched packets in step 3, check the packets are not to port 2.
 
 
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [DTS][PATCH V1 08/21] test_plans/ice_dcf_acl_filter: remove redundant white space
  2022-09-28  3:18 [DTS][PATCH V1 00/21] update test plans and tests to support represented port action and port representor action from deprecated vf action on DCF cases Ke Xu
                   ` (6 preceding siblings ...)
  2022-09-28  3:18 ` [DTS][PATCH V1 07/21] test_plans/ice_qinq: " Ke Xu
@ 2022-09-28  3:18 ` Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 09/21] test_plans/dcf_lifecycle: " Ke Xu
                   ` (12 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Ke Xu @ 2022-09-28  3:18 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, jin.ling, zhiminx.huang, weiyuanx.li, qi.fu, Ke Xu

Signed-off-by: Jin Ling <jin.ling@intel.com>
Reviewed-by: Ke Xu <ke1.xu@intel.com>
---
 test_plans/ice_dcf_acl_filter_test_plan.rst | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/test_plans/ice_dcf_acl_filter_test_plan.rst b/test_plans/ice_dcf_acl_filter_test_plan.rst
index f047598d..893c1078 100644
--- a/test_plans/ice_dcf_acl_filter_test_plan.rst
+++ b/test_plans/ice_dcf_acl_filter_test_plan.rst
@@ -522,14 +522,14 @@ while we can create 256 ipv4-udp/ipv4-tcp/ipv4-sctp rules at most.
     sendp([Ether(dst="00:01:23:45:67:89")/IP(src="192.168.1.0", dst="192.168.100.2")/UDP(sport=8010,dport=8017)/Raw(load='X'*30)], iface="enp134s0f1")
 
    check the packet can't be received by VF1. stop the forward::
- 
+
     ---------------------- Forward statistics for port 1  ----------------------
     RX-packets: 0              RX-dropped: 0             RX-total: 0
     TX-packets: 0              TX-dropped: 0             TX-total: 0
     ----------------------------------------------------------------------------
 
 8. delete the rule 256 and 257::
- 
+
     flow destroy 0 rule 256
     flow destroy 0 rule 257
 
@@ -542,7 +542,7 @@ while we can create 256 ipv4-udp/ipv4-tcp/ipv4-sctp rules at most.
 9. create the rule in the step6 again,
    check the rule can be created as acl rule successfully.
    list the rules, there are rule 0-256 listed.
- 
+
 10.send packet2 again, check the packet dropped. stop the forward::
 
     ---------------------- Forward statistics for port 1  ----------------------
@@ -565,7 +565,7 @@ Test Case 6: max entry number ipv4-other
     flow create 0 ingress pattern eth / ipv4 src spec 192.168.0.1 src mask 255.255.255.255 / end actions drop / end
 
 3. create 64 ipv4-other ACL rules::
- 
+
     flow create 0 ingress pattern eth / ipv4 src spec 192.168.1.1 src mask 255.255.0.255 / end actions drop / end
     flow create 0 ingress pattern eth / ipv4 src spec 192.168.1.2 src mask 255.255.0.255 / end actions drop / end
     flow create 0 ingress pattern eth / ipv4 src spec 192.168.1.3 src mask 255.255.0.255 / end actions drop / end
@@ -599,12 +599,12 @@ Test Case 6: max entry number ipv4-other
     sendp([Ether(dst="00:01:23:45:67:89")/IP(src="192.168.0.2", dst="192.168.1.2")/Raw(load='X'*30)], iface="enp134s0f1")
 
    check the packet can't be received by vf1. stop forward::
- 
+
     ---------------------- Forward statistics for port 1  ----------------------
     RX-packets: 0              RX-dropped: 0             RX-total: 0
     TX-packets: 0              TX-dropped: 0             TX-total: 0
     ----------------------------------------------------------------------------
- 
+
 8. delete the rule 64 and 65::
 
     flow destroy 0 rule 64
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [DTS][PATCH V1 09/21] test_plans/dcf_lifecycle: remove redundant white space
  2022-09-28  3:18 [DTS][PATCH V1 00/21] update test plans and tests to support represented port action and port representor action from deprecated vf action on DCF cases Ke Xu
                   ` (7 preceding siblings ...)
  2022-09-28  3:18 ` [DTS][PATCH V1 08/21] test_plans/ice_dcf_acl_filter: remove redundant white space Ke Xu
@ 2022-09-28  3:18 ` Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 10/21] test_plans/ice_dcf_data_path: update test plan to support port representor action from deprecated vf action Ke Xu
                   ` (11 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Ke Xu @ 2022-09-28  3:18 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, jin.ling, zhiminx.huang, weiyuanx.li, qi.fu, Ke Xu

Signed-off-by: Jin Ling <jin.ling@intel.com>
Reviewed-by: Ke Xu <ke1.xu@intel.com>
---
 test_plans/dcf_lifecycle_test_plan.rst | 112 ++++++++++++-------------
 1 file changed, 55 insertions(+), 57 deletions(-)

diff --git a/test_plans/dcf_lifecycle_test_plan.rst b/test_plans/dcf_lifecycle_test_plan.rst
index d1b19fe1..8475698a 100644
--- a/test_plans/dcf_lifecycle_test_plan.rst
+++ b/test_plans/dcf_lifecycle_test_plan.rst
@@ -1046,9 +1046,9 @@ ICE DCF enable device reset API
 
 Description
 ===========
-DCF PMD need to support rte_eth_dev_reset.The reason is that when a DCF instance be killed, all the flow rules still exist in hardware. when DCF gets to reconnect, 
-It has already lost the flow context, and if the application wants to create new rules, they may fail because FW reports that the rules already exist.The current 
-workaround assumes that the user can turn off / turn on VF trust mode, so kernel PF will reset DCF by removing all old rules.The rte_eth_dev_reset API provides 
+DCF PMD need to support rte_eth_dev_reset.The reason is that when a DCF instance be killed, all the flow rules still exist in hardware. when DCF gets to reconnect,
+It has already lost the flow context, and if the application wants to create new rules, they may fail because FW reports that the rules already exist.The current
+workaround assumes that the user can turn off / turn on VF trust mode, so kernel PF will reset DCF by removing all old rules.The rte_eth_dev_reset API provides
 a more elegant way for the application to reset DCF through the command "port reset all" when reconnecting.
 
 Prerequisites
@@ -1070,7 +1070,7 @@ General Set Up
     # CC=gcc meson --werror -Denable_kmods=True -Dlibdir=lib --default-library=static <dpdk build dir>
     # ninja -C <dpdk build dir> -j 110
 
-2. Get the pci device id and interface of DUT and tester. 
+2. Get the pci device id and interface of DUT and tester.
    For example, 0000:3b:00.0 and 0000:af:00.0 is pci device id,
    ens785f0 and ens260f0 is interface::
 
@@ -1097,7 +1097,7 @@ General Set Up
 6. Bind the DUT port to dpdk::
 
     <dpdk dir># ./usertools/dpdk-devbind.py -b vfio-pci <DUT port pci device id>
-    
+
 Test case
 =========
 
@@ -1107,26 +1107,26 @@ The common steps launch two testpmds and kill DCF process, then relaunch two tes
 
 1. Launch the userland ``testpmd`` application on DUT as follows::
 
-    <dpdk build dir>/app/dpdk-testpmd <EAL options> -a <DUT port pci device id> -- -i 
+    <dpdk build dir>/app/dpdk-testpmd <EAL options> -a <DUT port pci device id> -- -i
 
-..note:: 
+..note::
 
     For <EAL options>, you can use "-c 0x6 -n 4", you can also refer to testpmd doc for other setings.
     For <DUT port pci device id>, you can use "0000:3b:01.0,cap=dcf,representor=vf[1] --file-prefix=dcf" for this test plan.
-  
+
 2. Launch another ``testpmd`` application on the VF1 of DUT as follows::
 
-    <dpdk build dir>/app/dpdk-testpmd <EAL options> -a <DUT port pci device id> -- -i 
+    <dpdk build dir>/app/dpdk-testpmd <EAL options> -a <DUT port pci device id> -- -i
 
-..note:: 
+..note::
 
     For <EAL options>, you can use "-c 0x18 -n 4", you can also refer to testpmd doc for other setings.
-    For this test plan, you can use "0000:3b:01.1 --file-prefix=vf" for this test plan. 
+    For this test plan, you can use "0000:3b:01.1 --file-prefix=vf" for this test plan.
 
 3. Set verbose in VF testpmd::
-    
+
      testpmd> set verbose 1
-    
+
 4. Set fwd engine and start in VF testpmd::
 
      testpmd> set fwd mac
@@ -1151,7 +1151,7 @@ The common steps launch two testpmds and kill DCF process, then relaunch two tes
    Check the flow list::
 
      testpmd> flow list 0
-   
+
    ID      Group   Prio    Attr    Rule
    0       0       0       i--     ETH IPV4 => VF
 
@@ -1181,14 +1181,14 @@ Test Steps
 ~~~~~~~~~~
 1. Check the process ID and kill DCF process::
 
-    # ps -ef |grep testpmd 
+    # ps -ef |grep testpmd
     # kill -9 #####
 
 2. Relaunch the userland ``testpmd`` application on DUT as follows::
 
-    <dpdk build dir>/app/dpdk-testpmd <EAL options> -a <DUT port pci device id> -- -i 
+    <dpdk build dir>/app/dpdk-testpmd <EAL options> -a <DUT port pci device id> -- -i
 
-..note:: 
+..note::
 
     For <EAL options>, you can use "-c 0x6 -n 4", you can also refer to testpmd doc for other setings.
     For <DUT port pci device id>, you can use "0000:3b:01.0,cap=dcf,representor=vf[1] --file-prefix=dcf" for this test plan.
@@ -1233,7 +1233,7 @@ the VF1 of DUT::
    Check the flow list::
 
      testpmd> flow list 0
-   
+
    ID      Group   Prio    Attr    Rule
    0       0       0       i--     ETH IPV4 => VF
 
@@ -1260,7 +1260,7 @@ Test Steps
     # echo 1 > /sys/bus/pci/devices/0000:3b:01.0/reset
 
 2. Reset port in DCF testpmd::
-   
+
     testpmd> stop
     testpmd> port stop all
     testpmd> port reset all
@@ -1287,7 +1287,7 @@ Test Steps
    Check the flow list::
 
      testpmd> flow list 0
-   
+
    ID      Group   Prio    Attr    Rule
    0       0       0       i--     ETH IPV4 => VF
 
@@ -1314,8 +1314,8 @@ Test Steps
     # echo 1 > /sys/bus/pci/devices/0000:3b:01.0/reset
 
 2. Detach and reset port in DCF testpmd::
-    
-    testpmd> stop 
+
+    testpmd> stop
     testpmd> port stop 0
     testpmd> port detach 0
     testpmd> port attach 3b:01.0,cap=dcf
@@ -1343,7 +1343,7 @@ Test Steps
    Check the flow list::
 
      testpmd> flow list 0
-   
+
    ID      Group   Prio    Attr    Rule
    0       0       0       i--     ETH IPV4 => VF
 
@@ -1357,7 +1357,7 @@ the VF1 of DUT::
 
      testpmd> port 0/queue 0: received 1 packets
   src=00:11:22:33:44:55 - dst=C6:44:32:0A:EC:E1 - type=0x0800 - length=98 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV4  - l2_len=14 - l3_len=20 - Receive queue=0x0
-  ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN    
+  ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN
 
 Test Case 4: two_testpmd_dcf_reset_mtu
 --------------------------------------
@@ -1370,14 +1370,14 @@ Test Steps
     # ifconfig ens785f0 mtu 3000
 
 2. Reset port in DCF testpmd::
-   
+
     testpmd> stop
     testpmd> port stop all
     testpmd> port reset all
     testpmd> port start all
     testpmd> start
     testpmd> flow list 0
-   
+
 3. Validate a switch rule to VF1 in DCF testpmd::
 
      testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is <ipv4 src> dst is <ipv4 dst> / end actions represented_port ethdev_port_id 1 / end
@@ -1397,7 +1397,7 @@ Test Steps
    Check the flow list::
 
      testpmd> flow list 0
-   
+
    ID      Group   Prio    Attr    Rule
    0       0       0       i--     ETH IPV4 => VF
 
@@ -1412,7 +1412,7 @@ the VF1 of DUT::
      testpmd> port 0/queue 0: received 1 packets
   src=00:11:22:33:44:55 - dst=C6:44:32:0A:EC:E1 - type=0x0800 - length=98 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV4  - l2_len=14 - l3_len=20 - Receive queue=0x0
   ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN
-  
+
 Test Case 5: two_testpmd_dcf_reset_mac
 --------------------------------------
 The test case resets DCF by resetting mac addr, and DCF should clean up all old rules.
@@ -1424,7 +1424,7 @@ Test Steps
     # ip link set ens785f0 vf 0 mac 00:01:02:03:04:05
 
 2. Reset port in DCF testpmd::
-   
+
     testpmd> stop
     testpmd> port stop all
     testpmd> port reset all
@@ -1451,7 +1451,7 @@ Test Steps
    Check the flow list::
 
      testpmd> flow list 0
-   
+
    ID      Group   Prio    Attr    Rule
    0       0       0       i--     ETH IPV4 => VF
 
@@ -1473,17 +1473,17 @@ The common steps launch one testpmd and kill DCF process, then relaunch one test
 
 1. Launch the userland ``testpmd`` application on DUT as follows::
 
-    <dpdk build dir>/app/dpdk-testpmd <EAL options> -a <DUT port pci device id> -- -i 
+    <dpdk build dir>/app/dpdk-testpmd <EAL options> -a <DUT port pci device id> -- -i
 
-..note:: 
+..note::
 
     For <EAL options>, you can use "-c 0x6 -n 4", you can also refer to testpmd doc for other setings.
     For <DUT port pci device id>, you can use"-a 3b:01.0,cap=dcf,representor=vf[1] -a 3b:01.1 --file-prefix=dcf" for this test plan.
 
 2. Set verbose::
-    
+
      testpmd> set verbose 1
-    
+
 3. Set fwd engine and start::
 
      testpmd> set fwd mac
@@ -1508,7 +1508,7 @@ The common steps launch one testpmd and kill DCF process, then relaunch one test
    Check the flow list::
 
      testpmd> flow list 0
-   
+
    ID      Group   Prio    Attr    Rule
    0       0       0       i--     ETH IPV4 => VF
 
@@ -1532,22 +1532,22 @@ Test Steps
 ~~~~~~~~~~
 1. Check the process ID and kill DCF process::
 
-    # ps -ef |grep testpmd 
+    # ps -ef |grep testpmd
     # kill -9 #####
 
 2. Relaunch the userland ``testpmd`` application on DUT as follows::
 
-    <dpdk build dir>/app/dpdk-testpmd <EAL options> -a <DUT port pci device id> -- -i 
+    <dpdk build dir>/app/dpdk-testpmd <EAL options> -a <DUT port pci device id> -- -i
 
-..note:: 
+..note::
 
     For <EAL options>, you can use "-c 0x6 -n 4", you can also refer to testpmd doc for other setings.
     For <DUT port pci device id>, you can use"-a 3b:01.0,cap=dcf,representor=vf[1] -a 3b:01.1 --file-prefix=dcf" for this test plan.
 
 3. Set verbose::
-    
+
      testpmd> set verbose 1
-    
+
 4. Set fwd engine and start::
 
      testpmd> set fwd mac
@@ -1562,10 +1562,10 @@ Tester::
 
 DUT::
 
-    testpmd> 
+    testpmd>
 
 6. Reset port in testpmd::
-   
+
     testpmd> stop
     testpmd> port stop all
     testpmd> port reset all
@@ -1591,7 +1591,7 @@ DUT::
    Check the flow list::
 
      testpmd> flow list 0
-   
+
    ID      Group   Prio    Attr    Rule
    0       0       0       i--     ETH IPV4 => VF
 
@@ -1605,7 +1605,7 @@ DUT::
 
     testpmd> port 1/queue 0: received 1 packets
   src=00:11:22:33:44:55 - dst=C6:44:32:0A:EC:E1 - type=0x0800 - length=98 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV4  - l2_len=14 - l3_len=20 - Receive queue=0x0
-  ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN    
+  ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN
 
 Test Case 7: one_testpmd_dcf_reset_device
 -----------------------------------------
@@ -1618,7 +1618,7 @@ Test Steps
     # echo 1 > /sys/bus/pci/devices/0000:3b:01.0/reset
 
 2. Reset port in testpmd::
-   
+
     testpmd> stop
     testpmd> port stop all
     testpmd> port reset all
@@ -1645,7 +1645,7 @@ Test Steps
    Check the flow list::
 
      testpmd> flow list 0
-   
+
    ID      Group   Prio    Attr    Rule
    0       0       0       i--     ETH IPV4 => VF
 
@@ -1672,8 +1672,8 @@ Test Steps
     # echo 1 > /sys/bus/pci/devices/0000:3b:01.0/reset
 
 2. Detach and reset port in DCF testpmd::
-    
-    testpmd> stop 
+
+    testpmd> stop
     testpmd> port stop 0
     testpmd> port detach 0
     testpmd> port attach 3b:01.0,cap=dcf,representor=vf[1]
@@ -1701,7 +1701,7 @@ Test Steps
    Check the flow list::
 
      testpmd> flow list 0
-   
+
    ID      Group   Prio    Attr    Rule
    0       0       0       i--     ETH IPV4 => VF
 
@@ -1715,7 +1715,7 @@ DUT::
 
     testpmd> port 1/queue 0: received 1 packets
   src=00:11:22:33:44:55 - dst=C6:44:32:0A:EC:E1 - type=0x0800 - length=98 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV4  - l2_len=14 - l3_len=20 - Receive queue=0x0
-  ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN    
+  ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN
 
 Test Case 9: one_testpmd_dcf_reset_mtu
 --------------------------------------
@@ -1728,13 +1728,13 @@ Test Steps
     # ifconfig ens785f0 mtu 3000
 
 2. Reset port in DCF testpmd::
-   
+
     testpmd> stop
     testpmd> port stop all
     testpmd> port reset all
     testpmd> port start all
     testpmd> start
-    testpmd> flow list 0    
+    testpmd> flow list 0
 
 3. Validate a switch rule to VF1::
 
@@ -1755,7 +1755,7 @@ Test Steps
    Check the flow list::
 
      testpmd> flow list 0
-   
+
    ID      Group   Prio    Attr    Rule
    0       0       0       i--     ETH IPV4 => VF
 
@@ -1782,7 +1782,7 @@ Test Steps
     # ip link set ens785f0 vf 0 mac 00:01:02:03:04:05
 
 2. Reset port in DCF testpmd::
-   
+
     testpmd> stop
     testpmd> port stop all
     testpmd> port reset all
@@ -1809,7 +1809,7 @@ Test Steps
    Check the flow list::
 
      testpmd> flow list 0
-   
+
    ID      Group   Prio    Attr    Rule
    0       0       0       i--     ETH IPV4 => VF
 
@@ -1824,5 +1824,3 @@ DUT::
     testpmd> port 1/queue 0: received 1 packets
   src=00:11:22:33:44:55 - dst=C6:44:32:0A:EC:E1 - type=0x0800 - length=98 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV4  - l2_len=14 - l3_len=20 - Receive queue=0x0
   ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN
-
-
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [DTS][PATCH V1 10/21] test_plans/ice_dcf_data_path: update test plan to support port representor action from deprecated vf action
  2022-09-28  3:18 [DTS][PATCH V1 00/21] update test plans and tests to support represented port action and port representor action from deprecated vf action on DCF cases Ke Xu
                   ` (8 preceding siblings ...)
  2022-09-28  3:18 ` [DTS][PATCH V1 09/21] test_plans/dcf_lifecycle: " Ke Xu
@ 2022-09-28  3:18 ` Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 11/21] tests/dcf_lifecycle: update test plan to support represented port " Ke Xu
                   ` (10 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Ke Xu @ 2022-09-28  3:18 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, jin.ling, zhiminx.huang, weiyuanx.li, qi.fu, Ke Xu

Signed-off-by: Ke Xu <ke1.xu@intel.com>
---
 test_plans/ice_dcf_data_path_test_plan.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test_plans/ice_dcf_data_path_test_plan.rst b/test_plans/ice_dcf_data_path_test_plan.rst
index bc413d69..71c9793b 100644
--- a/test_plans/ice_dcf_data_path_test_plan.rst
+++ b/test_plans/ice_dcf_data_path_test_plan.rst
@@ -207,7 +207,7 @@ Send a packet, check the DCF can't recieve the packet (Dest mac address is not D
 
 Create a rule to DCF ::
 
-    flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions vf original 1 / end
+    flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions port_representor port_id 0 / end
 
 Send the packet again, check DCF can recieve the packet ::
 
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [DTS][PATCH V1 11/21] tests/dcf_lifecycle: update test plan to support represented port action from deprecated vf action
  2022-09-28  3:18 [DTS][PATCH V1 00/21] update test plans and tests to support represented port action and port representor action from deprecated vf action on DCF cases Ke Xu
                   ` (9 preceding siblings ...)
  2022-09-28  3:18 ` [DTS][PATCH V1 10/21] test_plans/ice_dcf_data_path: update test plan to support port representor action from deprecated vf action Ke Xu
@ 2022-09-28  3:18 ` Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 12/21] tests/ice_dcf_acl_filter: " Ke Xu
                   ` (9 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Ke Xu @ 2022-09-28  3:18 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, jin.ling, zhiminx.huang, weiyuanx.li, qi.fu, Ke Xu

Signed-off-by: Jin Ling <jin.ling@intel.com>
Reviewed-by: Ke Xu <ke1.xu@intel.com>
---
 tests/TestSuite_dcf_lifecycle.py | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/tests/TestSuite_dcf_lifecycle.py b/tests/TestSuite_dcf_lifecycle.py
index 1c97412c..cd7e1824 100644
--- a/tests/TestSuite_dcf_lifecycle.py
+++ b/tests/TestSuite_dcf_lifecycle.py
@@ -239,11 +239,13 @@ class TestDcfLifeCycle(TestCase):
         )
         allowlist = {
             "pf1_vf0_dcf": f"-a {pf1_vf0},cap=dcf",
+            "pf1_vf0_dcf_repre_vf1": f"-a {pf1_vf0},cap=dcf,representor=vf[1]",
             "pf1_vf1_dcf": f"-a {pf1_vf1},cap=dcf",
             "pf1_vf0_pf2_vf0_dcf": f"-a {pf1_vf0},cap=dcf -a {pf2_vf0},cap=dcf",
             "pf1_vf1_vf2": f"-a {pf1_vf1} -a {pf1_vf2}",
             "pf1_vf1": f"-a {pf1_vf1}",
             "pf2_vf0_dcf": f"-a {pf2_vf0},cap=dcf",
+            "pf2_vf0_dcf_repre_vf1": f"-a {pf2_vf0},cap=dcf,representor=vf[1]",
             "pf1_vf0": f"-a {pf1_vf0}",
             "pf1_vf0_dcf_vf1": f"-a {pf1_vf0},cap=dcf -a {pf1_vf1}",
         }
@@ -278,11 +280,11 @@ class TestDcfLifeCycle(TestCase):
             "{port} "
             "priority 0 "
             "ingress pattern eth / ipv4 src is {ip_src} dst is {ip_dst} / end "
-            "actions vf id {vf_id} / end"
+            "actions represented_port ethdev_port_id {vf_id} / end"
         ).format(
             **{
                 "port": dut_port_id,
-                "vf_id": 1,
+                "vf_id": dut_port_id + 1,
                 "ip_src": self.get_ip_layer()["ipv4"]["src"],
                 "ip_dst": self.get_ip_layer()["ipv4"]["dst"],
             }
@@ -664,7 +666,7 @@ class TestDcfLifeCycle(TestCase):
         except_content = None
         try:
             self.vf_set_trust()
-            pmd_opts = [["pf1_vf0_dcf", "dcf"], ["pf1_vf1", "vf"]]
+            pmd_opts = [["pf1_vf0_dcf_repre_vf1", "dcf"], ["pf1_vf1", "vf"]]
             self.run_test_pre(pmd_opts)
             self.vf_dcf_testpmd_set_flow_rule()
             self.check_vf_pmd2_traffic("close_vf_dcf_testpmd")
@@ -684,7 +686,7 @@ class TestDcfLifeCycle(TestCase):
         except_content = None
         try:
             self.vf_set_trust()
-            pmd_opts = [["pf1_vf0_dcf", "dcf"], ["pf1_vf1", "vf"]]
+            pmd_opts = [["pf1_vf0_dcf_repre_vf1", "dcf"], ["pf1_vf1", "vf"]]
             self.run_test_pre(pmd_opts)
             self.vf_dcf_testpmd_set_flow_rule()
             self.check_vf_pmd2_traffic("vf_set_trust_off")
@@ -704,7 +706,7 @@ class TestDcfLifeCycle(TestCase):
         except_content = None
         try:
             self.vf_set_trust()
-            pmd_opts = [["pf1_vf0_dcf", "dcf"], ["pf1_vf1", "vf"]]
+            pmd_opts = [["pf1_vf0_dcf_repre_vf1", "dcf"], ["pf1_vf1", "vf"]]
             self.run_test_pre(pmd_opts)
             self.vf_dcf_testpmd_set_flow_rule()
             self.check_vf_pmd2_traffic(
@@ -760,7 +762,7 @@ class TestDcfLifeCycle(TestCase):
         except_content = None
         try:
             self.vf_set_trust()
-            pmd_opts = [["pf1_vf0_dcf", "dcf"], ["pf1_vf1", "vf"]]
+            pmd_opts = [["pf1_vf0_dcf_repre_vf1", "dcf"], ["pf1_vf1", "vf"]]
             self.run_test_pre(pmd_opts)
             self.vf_dcf_testpmd_set_flow_rule()
             self.check_vf_pmd2_traffic("vf_set_mac_addr", flag=True)
@@ -1642,7 +1644,7 @@ class TestDcfLifeCycle(TestCase):
         except_content = None
         try:
             self.vf_set_trust()
-            pmd_opts = [["pf1_vf0_dcf", "dcf"], ["pf1_vf1", "vf"]]
+            pmd_opts = [["pf1_vf0_dcf_repre_vf1", "dcf"], ["pf1_vf1", "vf"]]
             self.run_test_pre(pmd_opts)
             self.vf_dcf_testpmd_set_flow_rule()
             self.check_vf_traffic(
@@ -1668,7 +1670,7 @@ class TestDcfLifeCycle(TestCase):
         except_content = None
         try:
             self.vf_set_trust()
-            pmd_opts = [["pf1_vf0_dcf", "dcf"], ["pf1_vf1", "vf"]]
+            pmd_opts = [["pf1_vf0_dcf_repre_vf1", "dcf"], ["pf1_vf1", "vf"]]
             self.run_test_pre(pmd_opts)
             self.vf_dcf_testpmd_set_flow_rule()
             self.check_vf_traffic("vf_dcf_reset_device")
@@ -1690,7 +1692,7 @@ class TestDcfLifeCycle(TestCase):
         except_content = None
         try:
             self.vf_set_trust()
-            pmd_opts = [["pf1_vf0_dcf", "dcf"], ["pf1_vf1", "vf"]]
+            pmd_opts = [["pf1_vf0_dcf_repre_vf1", "dcf"], ["pf1_vf1", "vf"]]
             self.run_test_pre(pmd_opts)
             self.vf_dcf_testpmd_set_flow_rule()
             self.check_vf_traffic("vf_dcf_reset_port_detach")
@@ -1712,7 +1714,7 @@ class TestDcfLifeCycle(TestCase):
         except_content = None
         try:
             self.vf_set_trust()
-            pmd_opts = [["pf1_vf0_dcf", "dcf"], ["pf1_vf1", "vf"]]
+            pmd_opts = [["pf1_vf0_dcf_repre_vf1", "dcf"], ["pf1_vf1", "vf"]]
             self.run_test_pre(pmd_opts)
             self.vf_dcf_testpmd_set_flow_rule()
             self.check_vf_traffic("vf_dcf_reset_mtu")
@@ -1734,7 +1736,7 @@ class TestDcfLifeCycle(TestCase):
         except_content = None
         try:
             self.vf_set_trust()
-            pmd_opts = [["pf1_vf0_dcf", "dcf"], ["pf1_vf1", "vf"]]
+            pmd_opts = [["pf1_vf0_dcf_repre_vf1", "dcf"], ["pf1_vf1", "vf"]]
             self.run_test_pre(pmd_opts)
             self.vf_dcf_testpmd_set_flow_rule()
             self.check_vf_traffic("vf_dcf_set_mac_addr")
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [DTS][PATCH V1 12/21] tests/ice_dcf_acl_filter: update test plan to support represented port action from deprecated vf action
  2022-09-28  3:18 [DTS][PATCH V1 00/21] update test plans and tests to support represented port action and port representor action from deprecated vf action on DCF cases Ke Xu
                   ` (10 preceding siblings ...)
  2022-09-28  3:18 ` [DTS][PATCH V1 11/21] tests/dcf_lifecycle: update test plan to support represented port " Ke Xu
@ 2022-09-28  3:18 ` Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 13/21] tests/ice_limit_value_test: " Ke Xu
                   ` (8 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Ke Xu @ 2022-09-28  3:18 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, jin.ling, zhiminx.huang, weiyuanx.li, qi.fu, Ke Xu

Signed-off-by: Jin Ling <jin.ling@intel.com>
Reviewed-by: Ke Xu <ke1.xu@intel.com>
---
 tests/TestSuite_ice_dcf_acl_filter.py | 104 ++++++++++++++------------
 1 file changed, 57 insertions(+), 47 deletions(-)

diff --git a/tests/TestSuite_ice_dcf_acl_filter.py b/tests/TestSuite_ice_dcf_acl_filter.py
index 4fcca800..6c1ff54e 100644
--- a/tests/TestSuite_ice_dcf_acl_filter.py
+++ b/tests/TestSuite_ice_dcf_acl_filter.py
@@ -540,9 +540,9 @@ tv_mac_ipv4_pay_src_mac = {
 tv_mac_ipv4_pay_dst_mac = {
     "name": "test_mac_ipv4_pay_dst_mac",
     "rules": [
-        "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 00:11:22:33:44:66 / ipv4 / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 00:11:22:33:66:55 / ipv4 / end actions vf id 1 / end",
+        "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 00:11:22:33:44:66 / ipv4 / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 00:11:22:33:66:55 / ipv4 / end actions represented_port ethdev_port_id 1 / end",
         "flow create 0 ingress pattern eth dst spec 00:11:22:33:44:55 dst mask ff:ff:ff:ff:ff:00 / ipv4 / end actions drop / end",
     ],
     "scapy_str": MAC_IPV4_PAY_DST_MAC,
@@ -573,9 +573,9 @@ tv_mac_ipv4_pay_src_dst_ip = {
 tv_mac_ipv4_pay_src_dst_mac_src_dst_ip = {
     "name": "test_mac_ipv4_pay_src_dst_mac_src_dst_ip",
     "rules": [
-        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:01 / ipv4 / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:02 / ipv4 / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:03 / ipv4 / end actions vf id 1 / end",
+        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:01 / ipv4 / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:02 / ipv4 / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:03 / ipv4 / end actions represented_port ethdev_port_id 1 / end",
         "flow create 0 ingress pattern eth src spec 00:11:22:33:44:55 src mask ff:ff:ff:ff:ff:00 dst spec 33:00:00:00:00:02 dst mask ff:ff:ff:ff:ff:fe / ipv4 src spec 192.168.0.1 src mask 255.255.255.0 dst spec 192.168.0.2 dst mask 255.255.0.255 / end actions drop / end",
     ],
     "scapy_str": MAC_IPV4_PAY_SRC_DST_MAC_SRC_DST_IP,
@@ -592,9 +592,9 @@ tv_mac_ipv4_tcp_src_mac = {
 tv_mac_ipv4_tcp_dst_mac = {
     "name": "test_mac_ipv4_tcp_dst_mac",
     "rules": [
-        "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 / tcp / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 00:11:22:33:44:66 / ipv4 / tcp / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 00:11:22:33:66:55 / ipv4 / tcp / end actions vf id 1 / end",
+        "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 / tcp / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 00:11:22:33:44:66 / ipv4 / tcp / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 00:11:22:33:66:55 / ipv4 / tcp / end actions represented_port ethdev_port_id 1 / end",
         "flow create 0 ingress pattern eth dst spec 00:11:22:33:44:55 dst mask ff:ff:ff:ff:ff:00 / ipv4 / tcp / end actions drop / end",
     ],
     "scapy_str": MAC_IPV4_TCP_DST_MAC,
@@ -639,9 +639,9 @@ tv_mac_ipv4_tcp_src_dst_ip_src_dst_port = {
 tv_mac_ipv4_tcp_src_dst_mac_src_dst_ip_src_dst_port = {
     "name": "test_mac_ipv4_tcp_src_dst_mac_src_dst_ip_src_dst_port",
     "rules": [
-        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:01 / ipv4 / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:02 / ipv4 / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:03 / ipv4 / end actions vf id 1 / end",
+        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:01 / ipv4 / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:02 / ipv4 / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:03 / ipv4 / end actions represented_port ethdev_port_id 1 / end",
         "flow create 0 priority 0 ingress pattern eth src spec 00:11:22:33:44:55 src mask ff:ff:ff:ff:ff:00 dst spec 33:00:00:00:00:02 dst mask ff:ff:ff:ff:ff:fe / ipv4 src spec 192.168.0.1 src mask 255.255.255.0 dst spec 192.168.0.2 dst mask 255.255.0.255 / tcp src spec 8010 src mask 65520 dst spec 8017 dst mask 65520 / end actions drop / end",
     ],
     "scapy_str": MAC_IPV4_TCP_SRC_DST_MAC_SRC_DST_IP_SRC_DST_PORT,
@@ -658,9 +658,9 @@ tv_mac_ipv4_udp_src_mac = {
 tv_mac_ipv4_udp_dst_mac = {
     "name": "test_mac_ipv4_udp_dst_mac",
     "rules": [
-        "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 / udp / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 00:11:22:33:44:66 / ipv4 / udp / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 00:11:22:33:66:55 / ipv4 / udp / end actions vf id 1 / end",
+        "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 / udp / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 00:11:22:33:44:66 / ipv4 / udp / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 00:11:22:33:66:55 / ipv4 / udp / end actions represented_port ethdev_port_id 1 / end",
         "flow create 0 ingress pattern eth dst spec 00:11:22:33:44:55 dst mask ff:ff:ff:ff:ff:00 / ipv4 / udp / end actions drop / end",
     ],
     "scapy_str": MAC_IPV4_UDP_DST_MAC,
@@ -705,9 +705,9 @@ tv_mac_ipv4_udp_src_dst_ip_src_dst_port = {
 tv_mac_ipv4_udp_src_dst_mac_src_dst_ip_src_dst_port = {
     "name": "test_mac_ipv4_udp_src_dst_mac_src_dst_ip_src_dst_port",
     "rules": [
-        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:01 / ipv4 / udp / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:02 / ipv4 / udp / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:03 / ipv4 / udp / end actions vf id 1 / end",
+        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:01 / ipv4 / udp / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:02 / ipv4 / udp / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:03 / ipv4 / udp / end actions represented_port ethdev_port_id 1 / end",
         "flow create 0 priority 0 ingress pattern eth src spec 00:11:22:33:44:55 src mask ff:ff:ff:ff:ff:00 dst spec 33:00:00:00:00:03 dst mask ff:ff:ff:ff:ff:fe / ipv4 src spec 192.168.0.1 src mask 255.255.255.0 dst spec 192.168.0.2 dst mask 255.255.0.255 / udp src spec 8010 src mask 65520 dst spec 8017 dst mask 65520 / end actions drop / end",
     ],
     "scapy_str": MAC_IPV4_UDP_SRC_DST_MAC_SRC_DST_IP_SRC_DST_PORT,
@@ -930,28 +930,36 @@ class ICEDCFACLFilterTest(TestCase):
         Run before each test case.
         """
 
-    def create_testpmd_command(self, param):
+    def create_testpmd_command(self,param="",repre_vf=False):
         """
         Create testpmd command
         """
-        # Prepare testpmd EAL and parameters
-        all_eal_param = self.dut.create_eal_parameters(
+        if repre_vf:
+            all_eal_param = self.dut.create_eal_parameters(
             cores="1S/4C/1T",
             ports=[self.vf0_pci, self.vf1_pci],
-            port_options={self.vf0_pci: "cap=dcf"},
+            port_options={self.vf0_pci: "cap=dcf,representor=vf[1]"},
         )
+        else:
+        # Prepare testpmd EAL and parametes
+            all_eal_param = self.dut.create_eal_parameters(
+                cores="1S/4C/1T",
+                ports=[self.vf0_pci, self.vf1_pci],
+                port_options={self.vf0_pci: "cap=dcf"},
+            )
         command = self.path + all_eal_param + "--log-level='ice,7'" + " -- -i" + param
         return command
 
-    def launch_testpmd(self, param=""):
+    def launch_testpmd(self, param="",repre_vf=False,):
         """
         launch testpmd with the command
         """
         time.sleep(5)
-        command = self.create_testpmd_command(param)
+        command = self.create_testpmd_command(param,repre_vf)
+        port_id = 2 if repre_vf else 1
         out = self.dut.send_expect(command, "testpmd> ", 20)
         self.testpmd_status = "running"
-        self.dut.send_expect("set portlist 1", "testpmd> ", 15)
+        self.dut.send_expect("set portlist {}".format(port_id), "testpmd> ", 15)
         self.dut.send_expect("set fwd rxonly", "testpmd> ", 15)
         self.dut.send_expect("set verbose 1", "testpmd> ", 15)
         self.pmd_output.execute_cmd("start")
@@ -1115,15 +1123,17 @@ class ICEDCFACLFilterTest(TestCase):
         else:
             return destroy_list
 
-    def common_process(self, vectors, launch_testpmd=True):
+    def common_process(self, vectors,launch_testpmd=True,repre_vf=False):
 
         if launch_testpmd:
             # launch testpmd
-            self.launch_testpmd()
+            self.launch_testpmd(repre_vf=repre_vf)
 
         test_results = {}
         for test_vector in vectors:
             try:
+                if repre_vf:
+                    test_vector["check_param"]["port_id"] = 2
                 self.dut.send_expect("flow flush 0", "testpmd> ", 120)
 
                 # create a rule
@@ -1169,19 +1179,19 @@ class ICEDCFACLFilterTest(TestCase):
         if self.nic == "ICE_25G-E810C_SFP":
             self.common_process(vectors_ipv4_pay_4ports)
         else:
-            self.common_process(vectors_ipv4_pay_2ports)
+            self.common_process(vectors_ipv4_pay_2ports,repre_vf=True)
 
     def test_mac_ipv4_tcp(self):
         if self.nic == "ICE_25G-E810C_SFP":
             self.common_process(vectors_ipv4_tcp_4ports)
         else:
-            self.common_process(vectors_ipv4_tcp_2ports)
+            self.common_process(vectors_ipv4_tcp_2ports,repre_vf=True)
 
     def test_mac_ipv4_udp(self):
         if self.nic == "ICE_25G-E810C_SFP":
             self.common_process(vectors_ipv4_udp_4ports)
         else:
-            self.common_process(vectors_ipv4_udp_2ports)
+            self.common_process(vectors_ipv4_udp_2ports,repre_vf=True)
 
     def test_mac_ipv4_sctp(self):
         if self.nic == "ICE_25G-E810C_SFP":
@@ -1289,7 +1299,7 @@ class ICEDCFACLFilterTest(TestCase):
 
         # start testpmd with creating 512 ACL rules
         param = " --cmdline-file=%s" % (self.dut_file_dir + src_file)
-        out_testpmd = self.launch_testpmd(param)
+        out_testpmd = self.launch_testpmd(param=param)
         self.check_dcf_status(out_testpmd, stats=True)
         rule_list = self.dut.send_expect("flow list 0", "testpmd> ", 15)
         self.verify("159" in rule_list, "160 rules failed to be created")
@@ -1341,7 +1351,7 @@ class ICEDCFACLFilterTest(TestCase):
 
         # start testpmd with creating 255 ACL rules
         param = " --cmdline-file=%s" % (self.dut_file_dir + src_file)
-        out_testpmd = self.launch_testpmd(param)
+        out_testpmd = self.launch_testpmd(param=param)
         self.check_dcf_status(out_testpmd, stats=True)
         rule_list = self.dut.send_expect("flow list 0", "testpmd> ", 15)
         self.verify("254" in rule_list, "255 rules failed to be created")
@@ -1636,23 +1646,23 @@ class ICEDCFACLFilterTest(TestCase):
         create switch, acl and fdir rules simultaneously.
         """
         param = " --rxq=16 --txq=16"
-        out_testpmd = self.launch_testpmd(param)
+        out_testpmd = self.launch_testpmd(repre_vf=True,param=param)
         self.check_dcf_status(out_testpmd, stats=True)
         rules = {
             "switch": [
-                "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.20 / tcp / end actions vf id 1 / end",
-                "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.20 / tcp / end actions vf id 1 / end",
-                "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.3 dst is 192.168.0.20 / tcp / end actions vf id 1 / end",
-                "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.4 dst is 192.168.0.20 / tcp / end actions vf id 1 / end",
+                "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.20 / tcp / end actions represented_port ethdev_port_id 1 / end",
+                "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.20 / tcp / end actions represented_port ethdev_port_id 1 / end",
+                "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.3 dst is 192.168.0.20 / tcp / end actions represented_port ethdev_port_id 1 / end",
+                "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.4 dst is 192.168.0.20 / tcp / end actions represented_port ethdev_port_id 1 / end",
             ],
             "acl": [
                 "flow create 0 ingress pattern eth / ipv4 src spec 192.168.0.2 src mask 255.255.255.254 / tcp / end actions drop / end",
                 "flow create 0 ingress pattern eth / ipv4 dst spec 192.168.0.21 dst mask 255.255.0.255 / tcp / end actions drop / end",
             ],
             "fdir": [
-                "flow create 1 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.20 / tcp src is 22 dst is 23 / end actions queue index 3 / mark / end",
-                "flow create 1 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.20 / tcp src is 22 dst is 23 / end actions queue index 3 / mark / end",
-                "flow create 1 ingress pattern eth / ipv4 src is 192.168.1.1 dst is 192.168.0.20 / tcp src is 22 dst is 23 / end actions queue index 3 / mark / end",
+                "flow create 2 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.20 / tcp src is 22 dst is 23 / end actions queue index 3 / mark / end",
+                "flow create 2 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.20 / tcp src is 22 dst is 23 / end actions queue index 3 / mark / end",
+                "flow create 2 ingress pattern eth / ipv4 src is 192.168.1.1 dst is 192.168.0.20 / tcp src is 22 dst is 23 / end actions queue index 3 / mark / end",
             ],
         }
         switch_rule_list = self.create_other_filter_rule(
@@ -1662,7 +1672,7 @@ class ICEDCFACLFilterTest(TestCase):
         acl_rule_list = self.create_acl_filter_rule(rules["acl"], check_stats=True)
         self.check_filter_rule_list(0, switch_rule_list + acl_rule_list)
         fdir_rule_list = self.create_other_filter_rule(rules["fdir"], check_stats=True)
-        self.check_filter_rule_list(1, fdir_rule_list)
+        self.check_filter_rule_list(2, fdir_rule_list)
 
         packets = {
             "drop": [
@@ -1687,7 +1697,7 @@ class ICEDCFACLFilterTest(TestCase):
         rfc.check_drop(
             out_drop,
             pkt_num=len(packets["drop"]),
-            check_param={"port_id": 1, "drop": 1},
+            check_param={"port_id": 2, "drop": 1},
             stats=True,
         )
 
@@ -1695,19 +1705,19 @@ class ICEDCFACLFilterTest(TestCase):
         rfc.check_iavf_fdir_mark(
             out_mark,
             pkt_num=len(packets["mark"]),
-            check_param={"port_id": 1, "queue": 3, "mark_id": 0},
+            check_param={"port_id": 2, "queue": 3, "mark_id": 0},
         )
 
         out_rss = self.send_pkts_getouput(pkts=packets["rss"])
         rfc.check_iavf_fdir_mark(
             out_rss,
             pkt_num=len(packets["rss"]),
-            check_param={"port_id": 1, "passthru": 1},
+            check_param={"port_id": 2, "passthru": 1},
         )
 
         out_noreceived = self.send_pkts_getouput(pkts=packets["noreceived"])
         rfc.check_iavf_fdir_mark(
-            out_noreceived, pkt_num=0, check_param={"port_id": 1, "passthru": 1}
+            out_noreceived, pkt_num=0, check_param={"port_id": 2, "passthru": 1}
         )
 
         self.dut.send_expect("flow destroy 0 rule 4", "testpmd> ", 15)
@@ -1719,12 +1729,12 @@ class ICEDCFACLFilterTest(TestCase):
 
         out_mark = self.send_pkts_getouput(pkts=packets["mark"])
         rfc.check_iavf_fdir_mark(
-            out_mark, pkt_num=1, check_param={"port_id": 1, "queue": 3, "mark_id": 0}
+            out_mark, pkt_num=1, check_param={"port_id": 2, "queue": 3, "mark_id": 0}
         )
 
         out_rss = self.send_pkts_getouput(pkts=packets["rss"])
         rfc.check_iavf_fdir_mark(
-            out_rss, pkt_num=1, check_param={"port_id": 1, "passthru": 1}
+            out_rss, pkt_num=1, check_param={"port_id": 2, "passthru": 1}
         )
 
     def check_dcf_status(self, out_testpmd, stats=True):
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [DTS][PATCH V1 13/21] tests/ice_limit_value_test: update test plan to support represented port action from deprecated vf action
  2022-09-28  3:18 [DTS][PATCH V1 00/21] update test plans and tests to support represented port action and port representor action from deprecated vf action on DCF cases Ke Xu
                   ` (11 preceding siblings ...)
  2022-09-28  3:18 ` [DTS][PATCH V1 12/21] tests/ice_dcf_acl_filter: " Ke Xu
@ 2022-09-28  3:18 ` Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 14/21] tests/ice_dcf_flow_priority: " Ke Xu
                   ` (7 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Ke Xu @ 2022-09-28  3:18 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, jin.ling, zhiminx.huang, weiyuanx.li, qi.fu, Ke Xu

Signed-off-by: Jin Ling <jin.ling@intel.com>
Reviewed-by: Ke Xu <ke1.xu@intel.com>
---
 tests/TestSuite_ice_limit_value_test.py | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/tests/TestSuite_ice_limit_value_test.py b/tests/TestSuite_ice_limit_value_test.py
index b75cea84..06160c0a 100644
--- a/tests/TestSuite_ice_limit_value_test.py
+++ b/tests/TestSuite_ice_limit_value_test.py
@@ -23,7 +23,7 @@ tv_max_rule_number = {
         "scapy_str": [],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1},
+            "param": {"expect_port": 2},
         },
         "expect_results": {"expect_pkts": 32500},
     },
@@ -33,7 +33,7 @@ tv_max_rule_number = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1},
+            "param": {"expect_port": 2},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1166,7 +1166,7 @@ class TestICELimitValue(TestCase):
             for j in range(0, 255):
                 if not rule_count > 32500:
                     flows.write(
-                        "flow create 0 ingress pattern eth / ipv4 src is 192.168.%d.%d / end actions vf id 1 / end \n"
+                        "flow create 0 ingress pattern eth / ipv4 src is 192.168.%d.%d / end actions represented_port ethdev_port_id 1 / end \n"
                         % (i, j)
                     )
                     matched_scapy_str = (
@@ -1188,7 +1188,7 @@ class TestICELimitValue(TestCase):
         all_eal_param = self.dut.create_eal_parameters(
             cores="1S/4C/1T",
             ports=[vf0_pci, vf1_pci],
-            port_options={vf0_pci: "cap=dcf"},
+            port_options={vf0_pci: "cap=dcf,representor=vf[1]"},
         )
         command = (
             self.path
@@ -1197,7 +1197,7 @@ class TestICELimitValue(TestCase):
         )
         out = self.dut.send_expect(command, "testpmd> ", 360)
         self.testpmd_status = "running"
-        self.dut.send_expect("set portlist 1", "testpmd> ", 15)
+        self.dut.send_expect("set portlist 2", "testpmd> ", 15)
         self.dut.send_expect("set fwd rxonly", "testpmd> ", 15)
         # check the rule list with 32500 rules
         rule_list_num = list(range(0, 32500))
@@ -1212,7 +1212,7 @@ class TestICELimitValue(TestCase):
         for i in range(m, 255):
             for j in range(t, 255):
                 rule = (
-                    "flow create 0 ingress pattern eth / ipv4 src is 192.168.%d.%d / end actions vf id 1 / end \n"
+                    "flow create 0 ingress pattern eth / ipv4 src is 192.168.%d.%d / end actions represented_port ethdev_port_id 1 / end \n"
                     % (i, j)
                 )
                 matched_packet = (
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [DTS][PATCH V1 14/21] tests/ice_dcf_flow_priority: update test plan to support represented port action from deprecated vf action
  2022-09-28  3:18 [DTS][PATCH V1 00/21] update test plans and tests to support represented port action and port representor action from deprecated vf action on DCF cases Ke Xu
                   ` (12 preceding siblings ...)
  2022-09-28  3:18 ` [DTS][PATCH V1 13/21] tests/ice_limit_value_test: " Ke Xu
@ 2022-09-28  3:18 ` Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 15/21] tests/ice_dcf_switch_filter_gtpu: " Ke Xu
                   ` (6 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Ke Xu @ 2022-09-28  3:18 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, jin.ling, zhiminx.huang, weiyuanx.li, qi.fu, Ke Xu

Signed-off-by: Weiyuan Li <weiyuanx.li@intel.com>
Reviewed-by: Ke Xu <ke1.xu@intel.com>
---
 tests/TestSuite_ice_dcf_flow_priority.py | 460 ++++++++++++-----------
 1 file changed, 234 insertions(+), 226 deletions(-)

diff --git a/tests/TestSuite_ice_dcf_flow_priority.py b/tests/TestSuite_ice_dcf_flow_priority.py
index 939ef96d..e06c6462 100644
--- a/tests/TestSuite_ice_dcf_flow_priority.py
+++ b/tests/TestSuite_ice_dcf_flow_priority.py
@@ -16,14 +16,14 @@ from framework.utils import BLUE, GREEN, RED
 
 tv_mac_pay = {
     "name": "tv_mac_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 dst is 00:11:22:33:44:55 type is 0x0800 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 dst is 00:11:22:33:44:55 type is 0x0800 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="00:00:00:00:00:01",dst="00:11:22:33:44:55")/IP()/Raw("x" *80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -35,7 +35,7 @@ tv_mac_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -43,14 +43,14 @@ tv_mac_pay = {
 
 tv_mac_ipv4_frag = {
     "name": "tv_mac_ipv4_frag",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 2 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 2 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2,frag=5)/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -64,7 +64,7 @@ tv_mac_ipv4_frag = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -72,14 +72,14 @@ tv_mac_ipv4_frag = {
 
 tv_mac_ipv4_pay = {
     "name": "tv_mac_ipv4_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 proto is 6 tos is 4 ttl is 2 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 proto is 6 tos is 4 ttl is 2 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -94,7 +94,7 @@ tv_mac_ipv4_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -102,14 +102,14 @@ tv_mac_ipv4_pay = {
 
 tv_mac_ipv4_udp_pay = {
     "name": "tv_mac_ipv4_udp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/UDP(sport=25,dport=23)/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -125,7 +125,7 @@ tv_mac_ipv4_udp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -133,14 +133,14 @@ tv_mac_ipv4_udp_pay = {
 
 tv_mac_ipv4_tcp_pay = {
     "name": "tv_mac_ipv4_tcp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/TCP(sport=25,dport=23)/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -156,7 +156,7 @@ tv_mac_ipv4_tcp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -164,12 +164,12 @@ tv_mac_ipv4_tcp_pay = {
 
 tv_mac_ipv4_igmp = {
     "name": "tv_mac_ipv4_igmp",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 proto is 0x02 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 proto is 0x02 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": ['Ether(dst="00:11:22:33:44:55")/IP()/IGMP()/Raw("X"*480)'],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -180,7 +180,7 @@ tv_mac_ipv4_igmp = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -188,7 +188,7 @@ tv_mac_ipv4_igmp = {
 
 tv_mac_ipv6_srcip_dstip = {
     "name": "tv_mac_ipv6_srcip_dstip",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X"*480)',
@@ -196,7 +196,7 @@ tv_mac_ipv6_srcip_dstip = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 2},
     },
@@ -209,7 +209,7 @@ tv_mac_ipv6_srcip_dstip = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -217,7 +217,7 @@ tv_mac_ipv6_srcip_dstip = {
 
 tv_mac_ipv6_dstip_tc = {
     "name": "tv_mac_ipv6_dstip_tc",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/("X"*480)',
@@ -225,7 +225,7 @@ tv_mac_ipv6_dstip_tc = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 2},
     },
@@ -240,7 +240,7 @@ tv_mac_ipv6_dstip_tc = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -248,14 +248,14 @@ tv_mac_ipv6_dstip_tc = {
 
 tv_mac_ipv6_udp_pay = {
     "name": "tv_mac_ipv6_udp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/UDP(sport=25,dport=23)/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -269,7 +269,7 @@ tv_mac_ipv6_udp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -277,14 +277,14 @@ tv_mac_ipv6_udp_pay = {
 
 tv_mac_ipv6_tcp = {
     "name": "tv_mac_ipv6_tcp",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/TCP(sport=25,dport=23)/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -298,7 +298,7 @@ tv_mac_ipv6_tcp = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -306,7 +306,7 @@ tv_mac_ipv6_tcp = {
 
 tv_mac_ipv4_nvgre_ipv4_pay = {
     "name": "tv_mac_ipv4_nvgre_ipv4_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.2", dst="192.168.1.3")/Raw("x"*80)',
@@ -314,7 +314,7 @@ tv_mac_ipv4_nvgre_ipv4_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 2},
     },
@@ -331,7 +331,7 @@ tv_mac_ipv4_nvgre_ipv4_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -339,14 +339,14 @@ tv_mac_ipv4_nvgre_ipv4_pay = {
 
 tv_mac_ipv4_nvgre_ipv4_udp_pay = {
     "name": "tv_mac_ipv4_nvgre_ipv4_udp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=0x8)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=50,dport=23)/Raw("x"*80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -361,7 +361,7 @@ tv_mac_ipv4_nvgre_ipv4_udp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -369,14 +369,14 @@ tv_mac_ipv4_nvgre_ipv4_udp_pay = {
 
 tv_mac_ipv4_nvgre_ipv4_tcp = {
     "name": "tv_mac_ipv4_nvgre_ipv4_tcp",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.2", dst="192.168.1.3")/TCP(sport=25,dport=23)/Raw("x"*80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -391,7 +391,7 @@ tv_mac_ipv4_nvgre_ipv4_tcp = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -399,7 +399,7 @@ tv_mac_ipv4_nvgre_ipv4_tcp = {
 
 tv_mac_ipv4_nvgre_mac_ipv4_pay = {
     "name": "tv_mac_ipv4_nvgre_mac_ipv4_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/Raw("x"*80)',
@@ -407,7 +407,7 @@ tv_mac_ipv4_nvgre_mac_ipv4_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 2},
     },
@@ -426,7 +426,7 @@ tv_mac_ipv4_nvgre_mac_ipv4_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -434,14 +434,14 @@ tv_mac_ipv4_nvgre_mac_ipv4_pay = {
 
 tv_mac_ipv4_nvgre_mac_ipv4_udp_pay = {
     "name": "tv_mac_ipv4_nvgre_mac_ipv4_udp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 /  eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 /  eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=0x8)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/UDP(sport=25,dport=23)/Raw("x"*80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -457,7 +457,7 @@ tv_mac_ipv4_nvgre_mac_ipv4_udp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -465,14 +465,14 @@ tv_mac_ipv4_nvgre_mac_ipv4_udp_pay = {
 
 tv_mac_ipv4_nvgre_mac_ipv4_tcp = {
     "name": "tv_mac_ipv4_nvgre_mac_ipv4_tcp",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/TCP(sport=25,dport=23)/Raw("x"*80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -488,7 +488,7 @@ tv_mac_ipv4_nvgre_mac_ipv4_tcp = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -496,12 +496,12 @@ tv_mac_ipv4_nvgre_mac_ipv4_tcp = {
 
 tv_ip_multicast = {
     "name": "tv_ip_multicast",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst spec 224.0.0.0 dst mask 240.0.0.0 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst spec 224.0.0.0 dst mask 240.0.0.0 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": ['Ether()/IP(dst="239.0.0.0")/TCP()/Raw("x"*80)'],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -509,7 +509,7 @@ tv_ip_multicast = {
         "scapy_str": ['Ether()/IP(dst="128.0.0.0")/TCP()/Raw("x"*80)'],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -517,12 +517,12 @@ tv_ip_multicast = {
 
 tv_l2_multicast = {
     "name": "tv_l2_multicast",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst spec 01:00:5e:00:00:00 dst mask ff:ff:ff:80:00:00 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst spec 01:00:5e:00:00:00 dst mask ff:ff:ff:80:00:00 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": ['Ether(dst="01:00:5e:7f:00:00")/IP()/TCP()/Raw("x"*80)'],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -530,7 +530,7 @@ tv_l2_multicast = {
         "scapy_str": ['Ether(dst="01:00:5e:ff:00:00")/IP()/TCP()/Raw("x"*80)'],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -538,14 +538,14 @@ tv_l2_multicast = {
 
 tv_ethertype_filter_pppod = {
     "name": "tv_ethertype_filter_pppod",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth type is 0x8863 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth type is 0x8863 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55")/PPPoED()/PPP()/IP()/Raw("x" *80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -553,7 +553,7 @@ tv_ethertype_filter_pppod = {
         "scapy_str": ['Ether(dst="00:11:22:33:44:55")/PPPoE()/PPP()/IP()/Raw("x" *80)'],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -561,12 +561,12 @@ tv_ethertype_filter_pppod = {
 
 tv_ethertype_filter_pppoe = {
     "name": "tv_ethertype_filter_pppoe",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth type is 0x8864 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth type is 0x8864 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": ['Ether(dst="00:11:22:33:44:55")/PPPoE()/PPP()/IP()/Raw("x"*80)'],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -574,7 +574,7 @@ tv_ethertype_filter_pppoe = {
         "scapy_str": ['Ether(dst="00:11:22:33:44:55")/PPPoED()/PPP()/IP()/Raw("x"*80)'],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -582,7 +582,7 @@ tv_ethertype_filter_pppoe = {
 
 tv_ethertype_filter_ipv6 = {
     "name": "tv_ethertype_filter_ipv6",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth type is 0x86dd / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth type is 0x86dd / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020", tc=3)/TCP(dport=23)/("X"*480)',
@@ -590,7 +590,7 @@ tv_ethertype_filter_ipv6 = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 2},
     },
@@ -598,7 +598,7 @@ tv_ethertype_filter_ipv6 = {
         "scapy_str": ['Ether(dst="00:11:22:33:44:55")/IP()/TCP(dport=23)/("X"*480)'],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -606,14 +606,14 @@ tv_ethertype_filter_ipv6 = {
 
 tv_udp_port_filter_dhcp_discovery = {
     "name": "tv_udp_port_filter_dhcp_discovery",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp src is 68 dst is 67 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp src is 68 dst is 67 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55")/IP()/UDP(sport=68,dport=67)/BOOTP(chaddr="3c:fd:fe:b2:43:90")/DHCP(options=[("message-type","discover"),"end"])/Raw("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -624,7 +624,7 @@ tv_udp_port_filter_dhcp_discovery = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -632,14 +632,14 @@ tv_udp_port_filter_dhcp_discovery = {
 
 tv_udp_port_filter_dhcp_offer = {
     "name": "tv_udp_port_filter_dhcp_offer",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp src is 67 dst is 68 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp src is 67 dst is 68 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55")/IP()/UDP(sport=67,dport=68)/BOOTP(chaddr="3c:fd:fe:b2:43:90",yiaddr="192.168.1.0")/DHCP(options=[("message-type","offer"),"end"])/Raw("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -650,7 +650,7 @@ tv_udp_port_filter_dhcp_offer = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -658,14 +658,14 @@ tv_udp_port_filter_dhcp_offer = {
 
 tv_udp_port_filter_vxlan = {
     "name": "tv_udp_port_filter_vxlan",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp dst is 4789 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp dst is 4789 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3",frag=5)/TCP()/Raw("x"*80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -675,7 +675,7 @@ tv_udp_port_filter_vxlan = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -683,14 +683,14 @@ tv_udp_port_filter_vxlan = {
 
 tv_mac_vlan_filter = {
     "name": "tv_mac_vlan_filter",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1)/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/Raw("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -701,7 +701,7 @@ tv_mac_vlan_filter = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -709,14 +709,14 @@ tv_mac_vlan_filter = {
 
 tv_vlan_filter = {
     "name": "tv_vlan_filter",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1)/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/Raw("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -726,7 +726,7 @@ tv_vlan_filter = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -734,14 +734,14 @@ tv_vlan_filter = {
 
 tv_mac_ipv4_l2tpv3 = {
     "name": "tv_mac_ipv4_l2tpv3",
-    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             "Ether(dst='00:11:22:33:44:12')/IP(src='192.168.0.2', proto=115)/L2TP(b'\\x00\\x00\\x00\\x01')/('X'*480)"
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -753,7 +753,7 @@ tv_mac_ipv4_l2tpv3 = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -761,14 +761,14 @@ tv_mac_ipv4_l2tpv3 = {
 
 tv_mac_ipv6_l2tpv3 = {
     "name": "tv_mac_ipv6_l2tpv3",
-    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / l2tpv3oip session_id is 1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             "Ether(dst='00:11:22:33:44:13')/IPv6(dst='1111:2222:3333:4444:5555:6666:7777:8888', nh=115)/L2TP(b'\\x00\\x00\\x00\\x01')/('X'*480)"
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -780,7 +780,7 @@ tv_mac_ipv6_l2tpv3 = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -788,14 +788,14 @@ tv_mac_ipv6_l2tpv3 = {
 
 tv_mac_ipv4_esp = {
     "name": "tv_mac_ipv4_esp",
-    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:13")/IP(src="192.168.0.2", proto=50)/ESP(spi=1)/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -807,7 +807,7 @@ tv_mac_ipv4_esp = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -815,14 +815,14 @@ tv_mac_ipv4_esp = {
 
 tv_mac_ipv6_esp = {
     "name": "tv_mac_ipv6_esp",
-    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / esp spi is 1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888", nh=50)/ESP(spi=1)/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -834,7 +834,7 @@ tv_mac_ipv6_esp = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -842,14 +842,14 @@ tv_mac_ipv6_esp = {
 
 tv_mac_ipv4_ah = {
     "name": "tv_mac_ipv4_ah",
-    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:13")/IP(src="192.168.0.2", proto=51)/AH(spi=1)/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -861,7 +861,7 @@ tv_mac_ipv4_ah = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -869,14 +869,14 @@ tv_mac_ipv4_ah = {
 
 tv_mac_ipv6_ah = {
     "name": "tv_mac_ipv6_ah",
-    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / ah spi is 1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / ah spi is 1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888", nh=51)/AH(spi=1)/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -888,7 +888,7 @@ tv_mac_ipv6_ah = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -896,14 +896,14 @@ tv_mac_ipv6_ah = {
 
 tv_mac_ipv4_nat_t_esp = {
     "name": "tv_mac_ipv4_nat_t_esp",
-    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:13")/IP(src="192.168.0.2")/UDP(dport=4500)/ESP(spi=1)/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -915,7 +915,7 @@ tv_mac_ipv4_nat_t_esp = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -923,14 +923,14 @@ tv_mac_ipv4_nat_t_esp = {
 
 tv_mac_ipv6_nat_t_esp = {
     "name": "tv_mac_ipv6_nat_t_esp",
-    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / udp / esp spi is 1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888")/UDP(dport=4500)/ESP(spi=1)/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -942,7 +942,7 @@ tv_mac_ipv6_nat_t_esp = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -950,12 +950,12 @@ tv_mac_ipv6_nat_t_esp = {
 
 tv_mac_ipv4_pfcp_node = {
     "name": "tv_mac_ipv4_pfcp_node",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": ['Ether(dst="00:11:22:33:44:11")/IP()/UDP(dport=8805)/PFCP(S=0)'],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -967,7 +967,7 @@ tv_mac_ipv4_pfcp_node = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -975,12 +975,12 @@ tv_mac_ipv4_pfcp_node = {
 
 tv_mac_ipv4_pfcp_session = {
     "name": "tv_mac_ipv4_pfcp_session",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": ['Ether(dst="00:11:22:33:44:11")/IP()/UDP(dport=8805)/PFCP(S=1)'],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -992,7 +992,7 @@ tv_mac_ipv4_pfcp_session = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1000,14 +1000,14 @@ tv_mac_ipv4_pfcp_session = {
 
 tv_mac_ipv6_pfcp_node = {
     "name": "tv_mac_ipv6_pfcp_node",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:11")/IPv6()/UDP(dport=8805)/PFCP(S=0)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1019,7 +1019,7 @@ tv_mac_ipv6_pfcp_node = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1027,14 +1027,14 @@ tv_mac_ipv6_pfcp_node = {
 
 tv_mac_ipv6_pfcp_session = {
     "name": "tv_mac_ipv6_pfcp_session",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:11")/IPv6()/UDP(dport=8805)/PFCP(S=1)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1046,7 +1046,7 @@ tv_mac_ipv6_pfcp_session = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1054,14 +1054,14 @@ tv_mac_ipv6_pfcp_session = {
 
 tv_mac_vlan_pppoe_ipv4_pay_session_id_proto_id = {
     "name": "tv_mac_vlan_pppoe_ipv4_pay_session_id_proto_id",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP()/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1074,7 +1074,7 @@ tv_mac_vlan_pppoe_ipv4_pay_session_id_proto_id = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1082,14 +1082,14 @@ tv_mac_vlan_pppoe_ipv4_pay_session_id_proto_id = {
 
 tv_mac_vlan_pppoe_ipv6_pay_session_id_proto_id = {
     "name": "tv_mac_vlan_pppoe_ipv6_pay_session_id_proto_id",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6()/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1102,7 +1102,7 @@ tv_mac_vlan_pppoe_ipv6_pay_session_id_proto_id = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1110,14 +1110,14 @@ tv_mac_vlan_pppoe_ipv6_pay_session_id_proto_id = {
 
 tv_mac_pppoe_ipv4_pay_session_id_proto_id = {
     "name": "tv_mac_pppoe_ipv4_pay_session_id_proto_id",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP()/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1129,7 +1129,7 @@ tv_mac_pppoe_ipv4_pay_session_id_proto_id = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1137,14 +1137,14 @@ tv_mac_pppoe_ipv4_pay_session_id_proto_id = {
 
 tv_mac_pppoe_ipv6_pay_session_id_proto_id = {
     "name": "tv_mac_pppoe_ipv6_pay_session_id_proto_id",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6()/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1156,7 +1156,7 @@ tv_mac_pppoe_ipv6_pay_session_id_proto_id = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1164,14 +1164,14 @@ tv_mac_pppoe_ipv6_pay_session_id_proto_id = {
 
 tv_mac_pppoe_ipv4_pay_ip_address = {
     "name": "tv_mac_pppoe_ipv4_pay_ip_address",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x"*80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1182,7 +1182,7 @@ tv_mac_pppoe_ipv4_pay_ip_address = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1190,14 +1190,14 @@ tv_mac_pppoe_ipv4_pay_ip_address = {
 
 tv_mac_pppoe_ipv4_udp_pay = {
     "name": "tv_mac_pppoe_ipv4_udp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1210,7 +1210,7 @@ tv_mac_pppoe_ipv4_udp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1218,14 +1218,14 @@ tv_mac_pppoe_ipv4_udp_pay = {
 
 tv_mac_pppoe_ipv4_udp_pay_non_src_dst_port = {
     "name": "tv_mac_pppoe_ipv4_udp_pay_non_src_dst_port",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1238,7 +1238,7 @@ tv_mac_pppoe_ipv4_udp_pay_non_src_dst_port = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1246,14 +1246,14 @@ tv_mac_pppoe_ipv4_udp_pay_non_src_dst_port = {
 
 tv_mac_pppoe_ipv4_tcp_pay = {
     "name": "tv_mac_pppoe_ipv4_tcp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1266,7 +1266,7 @@ tv_mac_pppoe_ipv4_tcp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1274,14 +1274,14 @@ tv_mac_pppoe_ipv4_tcp_pay = {
 
 tv_mac_pppoe_ipv4_tcp_pay_non_src_dst_port = {
     "name": "tv_mac_pppoe_ipv4_tcp_pay_non_src_dst_port",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1294,7 +1294,7 @@ tv_mac_pppoe_ipv4_tcp_pay_non_src_dst_port = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1302,14 +1302,14 @@ tv_mac_pppoe_ipv4_tcp_pay_non_src_dst_port = {
 
 tv_mac_pppoe_ipv6_pay_ip_address = {
     "name": "tv_mac_pppoe_ipv6_pay_ip_address",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x"*80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1321,7 +1321,7 @@ tv_mac_pppoe_ipv6_pay_ip_address = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1329,14 +1329,14 @@ tv_mac_pppoe_ipv6_pay_ip_address = {
 
 tv_mac_pppoe_ipv6_udp_pay = {
     "name": "tv_mac_pppoe_ipv6_udp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1348,7 +1348,7 @@ tv_mac_pppoe_ipv6_udp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1356,14 +1356,14 @@ tv_mac_pppoe_ipv6_udp_pay = {
 
 tv_mac_pppoe_ipv6_udp_pay_non_src_dst_port = {
     "name": "tv_mac_pppoe_ipv6_udp_pay_non_src_dst_port",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1376,7 +1376,7 @@ tv_mac_pppoe_ipv6_udp_pay_non_src_dst_port = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1384,14 +1384,14 @@ tv_mac_pppoe_ipv6_udp_pay_non_src_dst_port = {
 
 tv_mac_pppoe_ipv6_tcp_pay = {
     "name": "tv_mac_pppoe_ipv6_tcp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1403,7 +1403,7 @@ tv_mac_pppoe_ipv6_tcp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1411,14 +1411,14 @@ tv_mac_pppoe_ipv6_tcp_pay = {
 
 tv_mac_pppoe_ipv6_tcp_pay_non_src_dst_port = {
     "name": "tv_mac_pppoe_ipv6_tcp_pay_non_src_dst_port",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1431,7 +1431,7 @@ tv_mac_pppoe_ipv6_tcp_pay_non_src_dst_port = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1439,14 +1439,14 @@ tv_mac_pppoe_ipv6_tcp_pay_non_src_dst_port = {
 
 tv_mac_vlan_pppoe_ipv4_pay_ip_address = {
     "name": "tv_mac_vlan_pppoe_ipv4_pay_ip_address",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x"*80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1458,7 +1458,7 @@ tv_mac_vlan_pppoe_ipv4_pay_ip_address = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1466,14 +1466,14 @@ tv_mac_vlan_pppoe_ipv4_pay_ip_address = {
 
 tv_mac_vlan_pppoe_ipv4_udp_pay = {
     "name": "tv_mac_vlan_pppoe_ipv4_udp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1487,7 +1487,7 @@ tv_mac_vlan_pppoe_ipv4_udp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1495,14 +1495,14 @@ tv_mac_vlan_pppoe_ipv4_udp_pay = {
 
 tv_mac_vlan_pppoe_ipv4_udp_pay_non_src_dst_port = {
     "name": "tv_mac_vlan_pppoe_ipv4_udp_pay_non_src_dst_port",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1516,7 +1516,7 @@ tv_mac_vlan_pppoe_ipv4_udp_pay_non_src_dst_port = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1524,14 +1524,14 @@ tv_mac_vlan_pppoe_ipv4_udp_pay_non_src_dst_port = {
 
 tv_mac_vlan_pppoe_ipv4_tcp_pay = {
     "name": "tv_mac_vlan_pppoe_ipv4_tcp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1545,7 +1545,7 @@ tv_mac_vlan_pppoe_ipv4_tcp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1553,14 +1553,14 @@ tv_mac_vlan_pppoe_ipv4_tcp_pay = {
 
 tv_mac_vlan_pppoe_ipv4_tcp_pay_non_src_dst_port = {
     "name": "tv_mac_vlan_pppoe_ipv4_tcp_pay_non_src_dst_port",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1574,7 +1574,7 @@ tv_mac_vlan_pppoe_ipv4_tcp_pay_non_src_dst_port = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1582,14 +1582,14 @@ tv_mac_vlan_pppoe_ipv4_tcp_pay_non_src_dst_port = {
 
 tv_mac_vlan_pppoe_ipv6_pay_ip_address = {
     "name": "tv_mac_vlan_pppoe_ipv6_pay_ip_address",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x"*80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1600,7 +1600,7 @@ tv_mac_vlan_pppoe_ipv6_pay_ip_address = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1608,14 +1608,14 @@ tv_mac_vlan_pppoe_ipv6_pay_ip_address = {
 
 tv_mac_vlan_pppoe_ipv6_udp_pay = {
     "name": "tv_mac_vlan_pppoe_ipv6_udp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1628,7 +1628,7 @@ tv_mac_vlan_pppoe_ipv6_udp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1636,14 +1636,14 @@ tv_mac_vlan_pppoe_ipv6_udp_pay = {
 
 tv_mac_vlan_pppoe_ipv6_udp_pay_non_src_dst_port = {
     "name": "tv_mac_vlan_pppoe_ipv6_udp_pay_non_src_dst_port",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / udp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / udp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1656,7 +1656,7 @@ tv_mac_vlan_pppoe_ipv6_udp_pay_non_src_dst_port = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1664,14 +1664,14 @@ tv_mac_vlan_pppoe_ipv6_udp_pay_non_src_dst_port = {
 
 tv_mac_vlan_pppoe_ipv6_tcp_pay = {
     "name": "tv_mac_vlan_pppoe_ipv6_tcp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1684,7 +1684,7 @@ tv_mac_vlan_pppoe_ipv6_tcp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1692,14 +1692,14 @@ tv_mac_vlan_pppoe_ipv6_tcp_pay = {
 
 tv_mac_vlan_pppoe_ipv6_tcp_pay_non_src_dst_port = {
     "name": "tv_mac_vlan_pppoe_ipv6_tcp_pay_non_src_dst_port",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / tcp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / tcp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1712,7 +1712,7 @@ tv_mac_vlan_pppoe_ipv6_tcp_pay_non_src_dst_port = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1720,14 +1720,14 @@ tv_mac_vlan_pppoe_ipv6_tcp_pay_non_src_dst_port = {
 
 tv_mac_pppoe_lcp_pay = {
     "name": "tv_mac_pppoe_lcp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\xc0\\x21\')/PPP_LCP()/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1739,7 +1739,7 @@ tv_mac_pppoe_lcp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1747,14 +1747,14 @@ tv_mac_pppoe_lcp_pay = {
 
 tv_mac_pppoe_ipcp_pay = {
     "name": "tv_mac_pppoe_ipcp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x80\\x21\')/PPP_IPCP()/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1766,7 +1766,7 @@ tv_mac_pppoe_ipcp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1774,14 +1774,14 @@ tv_mac_pppoe_ipcp_pay = {
 
 tv_mac_vlan_pppoe_lcp_pay = {
     "name": "tv_mac_vlan_pppoe_lcp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\xc0\\x21\')/PPP_LCP()/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1794,7 +1794,7 @@ tv_mac_vlan_pppoe_lcp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1802,14 +1802,14 @@ tv_mac_vlan_pppoe_lcp_pay = {
 
 tv_mac_vlan_pppoe_ipcp_pay = {
     "name": "tv_mac_vlan_pppoe_ipcp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x80\\x21\')/PPP_IPCP()/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1822,7 +1822,7 @@ tv_mac_vlan_pppoe_ipcp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 4, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1831,7 +1831,8 @@ tv_mac_vlan_pppoe_ipcp_pay = {
 
 class ICEDCFFlowPriorityTest(TestCase):
     supported_nic = ["ICE_100G-E810C_QSFP", "ICE_25G-E810C_SFP", "ICE_25G-E810_XXV_SFP"]
-
+    #enable dcf
+    dcf_representor = True
     def bind_nics_driver(self, ports, driver=""):
         # modprobe vfio driver
         if driver == "vfio-pci":
@@ -1916,11 +1917,18 @@ class ICEDCFFlowPriorityTest(TestCase):
         vf1_pci = self.sriov_vfs_port_0[1].pci
         vf2_pci = self.sriov_vfs_port_0[2].pci
         vf3_pci = self.sriov_vfs_port_0[3].pci
-        all_eal_param = self.dut.create_eal_parameters(
-            cores="1S/4C/1T",
-            ports=[vf0_pci, vf1_pci, vf2_pci, vf3_pci],
-            port_options={vf0_pci: "cap=dcf"},
-        )
+        if self.dcf_representor:
+            all_eal_param = self.dut.create_eal_parameters(
+                cores="1S/4C/1T",
+                ports=[vf0_pci, vf1_pci, vf2_pci, vf3_pci],
+                port_options={vf0_pci: "cap=dcf,representor=[1-3]"},
+            )
+        else:
+            all_eal_param = self.dut.create_eal_parameters(
+                cores="1S/4C/1T",
+                ports=[vf0_pci, vf1_pci, vf2_pci, vf3_pci],
+                port_options={vf0_pci: "cap=dcf"},
+            )
         command = self.path + all_eal_param + " -- -i"
         return command
 
@@ -2125,7 +2133,7 @@ class ICEDCFFlowPriorityTest(TestCase):
         self.send_and_check_packets(matched_dic)
         # send mismatched packets and check
         mismatched_dic = test_vector["mismatched"]
-        mismatched_dic["check_func"]["param"]["expect_port"] = [1, 2]
+        mismatched_dic["check_func"]["param"]["expect_port"] = [4, 5]
         mismatched_dic["expect_results"]["expect_pkts"] = [0, 0]
         self.send_and_check_packets(mismatched_dic)
 
@@ -2135,7 +2143,7 @@ class ICEDCFFlowPriorityTest(TestCase):
         self.check_switch_filter_rule_list(0, ["1"])
         # send matched packets and check
         destroy_dict1 = copy.deepcopy(matched_dic)
-        destroy_dict1["check_func"]["param"]["expect_port"] = 2
+        destroy_dict1["check_func"]["param"]["expect_port"] = 5
         self.send_and_check_packets(destroy_dict1)
 
         # recreate rule with priority 0 (rule 2)
@@ -2465,9 +2473,9 @@ class ICEDCFFlowPriorityTest(TestCase):
         # launch testpmd
         self.launch_testpmd()
         negative_rule = [
-            "flow create 0 priority 2 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 1 / end",
-            "flow create 0 priority a ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 1 / end",
-            "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 4 / end",
+            "flow create 0 priority 2 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions represented_port ethdev_port_id 1 / end",
+            "flow create 0 priority a ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions represented_port ethdev_port_id 1 / end",
+            "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions represented_port ethdev_port_id 4 / end",
         ]
         self.create_switch_filter_rule(negative_rule, check_stats=False)
 
@@ -2478,8 +2486,8 @@ class ICEDCFFlowPriorityTest(TestCase):
         # subcase 1: same pattern/input set/action different priority
         self.launch_testpmd()
         rule = [
-            "flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 2 / end",
-            "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 2 / end",
+            "flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions represented_port ethdev_port_id 2 / end",
+            "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions represented_port ethdev_port_id 2 / end",
         ]
         rule_list = self.create_switch_filter_rule(rule)
         matched_dic = {
@@ -2488,7 +2496,7 @@ class ICEDCFFlowPriorityTest(TestCase):
             ],
             "check_func": {
                 "func": rfc.check_vf_rx_packets_number,
-                "param": {"expect_port": 2, "expect_queue": "null"},
+                "param": {"expect_port": 5, "expect_queue": "null"},
             },
             "expect_results": {"expect_pkts": 1},
         }
@@ -2500,8 +2508,8 @@ class ICEDCFFlowPriorityTest(TestCase):
         # subcase 2: same pattern/input set/priority different action
         self.launch_testpmd()
         rule = [
-            "flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 1 / end",
-            "flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 2 / end",
+            "flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions represented_port ethdev_port_id 1 / end",
+            "flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions represented_port ethdev_port_id 2 / end",
         ]
         rule_list = self.create_switch_filter_rule(rule)
         matched_dic = {
@@ -2510,7 +2518,7 @@ class ICEDCFFlowPriorityTest(TestCase):
             ],
             "check_func": {
                 "func": rfc.check_vf_rx_packets_number,
-                "param": {"expect_port": [1, 2], "expect_queue": "null"},
+                "param": {"expect_port": [4, 5], "expect_queue": "null"},
             },
             "expect_results": {"expect_pkts": [1, 1]},
         }
@@ -2522,12 +2530,12 @@ class ICEDCFFlowPriorityTest(TestCase):
         # subcase 3: some rules overlap
         self.launch_testpmd()
         rule = [
-            "flow create 0 priority 1 ingress pattern eth / vlan / vlan / pppoes / pppoe_proto_id is 0x21 / end actions vf id 1 / end",
-            "flow create 0 priority 1 ingress pattern eth / vlan / vlan tci is 2 / end actions vf id 1 / end",
-            "flow create 0 priority 0 ingress pattern eth / vlan / vlan / pppoes seid is 1 / ipv4 / end actions vf id 2 / end",
-            "flow create 0 priority 0 ingress pattern eth dst is 00:00:00:01:03:03 / vlan / vlan / end actions vf id 2 / end",
-            "flow create 0 priority 0 ingress pattern eth dst is 00:00:00:01:03:03 / end actions vf id 3 / end",
-            "flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / vlan tci is 2 / end actions vf id 3 / end",
+            "flow create 0 priority 1 ingress pattern eth / vlan / vlan / pppoes / pppoe_proto_id is 0x21 / end actions represented_port ethdev_port_id 1 / end",
+            "flow create 0 priority 1 ingress pattern eth / vlan / vlan tci is 2 / end actions represented_port ethdev_port_id 1 / end",
+            "flow create 0 priority 0 ingress pattern eth / vlan / vlan / pppoes seid is 1 / ipv4 / end actions represented_port ethdev_port_id 2 / end",
+            "flow create 0 priority 0 ingress pattern eth dst is 00:00:00:01:03:03 / vlan / vlan / end actions represented_port ethdev_port_id 2 / end",
+            "flow create 0 priority 0 ingress pattern eth dst is 00:00:00:01:03:03 / end actions represented_port ethdev_port_id 3 / end",
+            "flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / vlan tci is 2 / end actions represented_port ethdev_port_id 3 / end",
         ]
         rule_list = self.create_switch_filter_rule(rule)
         self.check_switch_filter_rule_list(0, rule_list)
@@ -2537,7 +2545,7 @@ class ICEDCFFlowPriorityTest(TestCase):
             ],
             "check_func": {
                 "func": rfc.check_vf_rx_packets_number,
-                "param": {"expect_port": [2, 3], "expect_queue": "null"},
+                "param": {"expect_port": [5, 6], "expect_queue": "null"},
             },
             "expect_results": {"expect_pkts": [1, 1]},
         }
@@ -2545,11 +2553,11 @@ class ICEDCFFlowPriorityTest(TestCase):
         self.dut.send_expect("flow destroy 0 rule 5", "testpmd> ", 15)
         self.send_and_check_packets(matched_dic)
         self.dut.send_expect("flow destroy 0 rule 4", "testpmd> ", 15)
-        matched_dic["check_func"]["param"]["expect_port"] = 2
+        matched_dic["check_func"]["param"]["expect_port"] = 5
         matched_dic["expect_results"]["expect_pkts"] = 1
         self.send_and_check_packets(matched_dic)
         self.dut.send_expect("flow destroy 0 rule 3", "testpmd> ", 15)
-        matched_dic["check_func"]["param"]["expect_port"] = 1
+        matched_dic["check_func"]["param"]["expect_port"] = 4
         matched_dic["expect_results"]["expect_pkts"] = 1
         self.send_and_check_packets(matched_dic)
         self.dut.send_expect("flow destroy 0 rule 1", "testpmd> ", 15)
@@ -2561,13 +2569,13 @@ class ICEDCFFlowPriorityTest(TestCase):
             ],
             "check_func": {
                 "func": rfc.check_vf_rx_packets_number,
-                "param": {"expect_port": 2, "expect_queue": "null"},
+                "param": {"expect_port": 5, "expect_queue": "null"},
             },
             "expect_results": {"expect_pkts": 1},
         }
         self.send_and_check_packets(matched_dic)
         self.dut.send_expect("flow destroy 0 rule 2", "testpmd> ", 15)
-        matched_dic["check_func"]["param"]["expect_port"] = 1
+        matched_dic["check_func"]["param"]["expect_port"] = 4
         self.send_and_check_packets(matched_dic)
         self.dut.send_expect("flow destroy 0 rule 0", "testpmd> ", 15)
         matched_dic["expect_results"]["expect_pkts"] = 0
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [DTS][PATCH V1 15/21] tests/ice_dcf_switch_filter_gtpu: update test plan to support represented port action from deprecated vf action
  2022-09-28  3:18 [DTS][PATCH V1 00/21] update test plans and tests to support represented port action and port representor action from deprecated vf action on DCF cases Ke Xu
                   ` (13 preceding siblings ...)
  2022-09-28  3:18 ` [DTS][PATCH V1 14/21] tests/ice_dcf_flow_priority: " Ke Xu
@ 2022-09-28  3:18 ` Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 16/21] tests/ice_dcf_switch_filter_pppoe: " Ke Xu
                   ` (5 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Ke Xu @ 2022-09-28  3:18 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, jin.ling, zhiminx.huang, weiyuanx.li, qi.fu, Ke Xu

Signed-off-by: Zhimin Huang <zhiminx.huang@intel.com>
Reviewed-by: Ke Xu <ke1.xu@intel.com>
---
 tests/TestSuite_ice_dcf_switch_filter_gtpu.py | 550 +++++++++---------
 1 file changed, 275 insertions(+), 275 deletions(-)

diff --git a/tests/TestSuite_ice_dcf_switch_filter_gtpu.py b/tests/TestSuite_ice_dcf_switch_filter_gtpu.py
index 8c63a976..5e822ac3 100644
--- a/tests/TestSuite_ice_dcf_switch_filter_gtpu.py
+++ b/tests/TestSuite_ice_dcf_switch_filter_gtpu.py
@@ -28,7 +28,7 @@ mac_ipv4_gtpu_basic = {
 
 tv_mac_ipv4_gtpu_teid_with_mask = {
     "name": "tv_mac_ipv4_gtpu_teid_with_mask",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu"].replace(
@@ -38,7 +38,7 @@ tv_mac_ipv4_gtpu_teid_with_mask = {
                 "GTP_U_Header()", "GTP_U_Header(teid=0x12345688)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 2},
     },
     "mismatched": {
@@ -47,21 +47,21 @@ tv_mac_ipv4_gtpu_teid_with_mask = {
                 "GTP_U_Header()", "GTP_U_Header(teid=0x12345677)"
             )
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_teid_without_mask = {
     "name": "tv_mac_ipv4_gtpu_teid_without_mask",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu"].replace(
                 "GTP_U_Header()", "GTP_U_Header(teid=0x12345678)"
             )
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -73,59 +73,59 @@ tv_mac_ipv4_gtpu_teid_without_mask = {
                 "GTP_U_Header()", "GTP_U_Header(teid=0x12345688)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_dst = {
     "name": "tv_mac_ipv4_gtpu_dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.1.2 / udp / gtpu / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.1.2 / udp / gtpu / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu"].replace("IP()", 'IP(dst="192.168.1.2")')
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu"].replace("IP()", 'IP(dst="192.168.1.22")')
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_src = {
     "name": "tv_mac_ipv4_gtpu_src",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 src is 192.168.1.1 / udp / gtpu / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 src is 192.168.1.1 / udp / gtpu / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu"].replace("IP()", 'IP(src="192.168.1.1")')
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu"].replace("IP()", 'IP(src="192.168.1.11")')
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_src_dst = {
     "name": "tv_mac_ipv4_gtpu_src_dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / gtpu / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / gtpu / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu"].replace(
                 "IP()", 'IP(src="192.168.1.1", dst="192.168.1.2")'
             )
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -140,21 +140,21 @@ tv_mac_ipv4_gtpu_src_dst = {
                 "IP()", 'IP(src="192.168.1.11", dst="192.168.1.22")'
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_teid_dst = {
     "name": "tv_mac_ipv4_gtpu_teid_dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.1.2 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.1.2 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu"]
             .replace("IP()", 'IP(dst="192.168.1.2")')
             .replace("GTP_U_Header()", "GTP_U_Header(teid=0x12345678)")
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -169,21 +169,21 @@ tv_mac_ipv4_gtpu_teid_dst = {
             .replace("IP()", 'IP(dst="192.168.1.22")')
             .replace("GTP_U_Header()", "GTP_U_Header(teid=0x12345677)"),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_teid_src = {
     "name": "tv_mac_ipv4_gtpu_teid_src",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 src is 192.168.1.1 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 src is 192.168.1.1 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu"]
             .replace("IP()", 'IP(src="192.168.1.1")')
             .replace("GTP_U_Header()", "GTP_U_Header(teid=0x12345678)")
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -198,21 +198,21 @@ tv_mac_ipv4_gtpu_teid_src = {
             .replace("IP()", 'IP(src="192.168.1.11")')
             .replace("GTP_U_Header()", "GTP_U_Header(teid=0x12345678)"),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_all = {
     "name": "tv_mac_ipv4_gtpu_all",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu"]
             .replace("IP()", 'IP(src="192.168.1.1", dst="192.168.1.2")')
             .replace("GTP_U_Header()", "GTP_U_Header(teid=0x12345678)")
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -230,7 +230,7 @@ tv_mac_ipv4_gtpu_all = {
             .replace("IP()", 'IP(src="192.168.1.11", dst="192.168.1.22")')
             .replace("GTP_U_Header()", "GTP_U_Header(teid=0x12345677)"),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
@@ -263,7 +263,7 @@ sv_mac_ipv6_gtpu = [
 
 tv_mac_ipv4_gtpu_eh_ipv4_teid_with_mask = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_teid_with_mask",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_nonfrag"].replace(
@@ -279,7 +279,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_teid_with_mask = {
                 "GTP_U_Header()", "GTP_U_Header(teid=0x12345688)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 4},
     },
     "mismatched": {
@@ -291,14 +291,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_teid_with_mask = {
                 "GTP_U_Header()", "GTP_U_Header(teid=0x12345677)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_teid_without_mask = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_teid_without_mask",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / gtp_psc / ipv4 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / gtp_psc / ipv4 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_nonfrag"].replace(
@@ -308,7 +308,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_teid_without_mask = {
                 "GTP_U_Header()", "GTP_U_Header(teid=0x12345678)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 2},
     },
     "mismatched": {
@@ -326,14 +326,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_teid_without_mask = {
                 "GTP_U_Header()", "GTP_U_Header(teid=0x12345688)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_qfi = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_qfi",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_nonfrag"].replace(
@@ -343,7 +343,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_qfi = {
                 "GTPPDUSessionContainer()", "GTPPDUSessionContainer(QFI=0x34)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 2},
     },
     "mismatched": {
@@ -355,14 +355,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_qfi = {
                 "GTPPDUSessionContainer(QFI=0x34)", "GTPPDUSessionContainer(QFI=0x33)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_l3dst = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_l3dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.1.2 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_nonfrag"].replace(
@@ -373,7 +373,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_l3dst = {
                 "IP(frag=6)", 'IP(frag=6, dst="192.168.1.2")'
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 2},
     },
     "mismatched": {
@@ -386,14 +386,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_l3dst = {
                 "IP(frag=6)", 'IP(frag=6, dst="192.168.1.22")'
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_l3src = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_l3src",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_nonfrag"].replace(
@@ -404,7 +404,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_l3src = {
                 "IP(frag=6)", 'IP(frag=6, src="192.168.1.1")'
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 2},
     },
     "mismatched": {
@@ -417,14 +417,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_l3src = {
                 "IP(frag=6)", 'IP(frag=6, src="192.168.1.11")'
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_l3src_l3dst = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_l3src_l3dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_nonfrag"].replace(
@@ -435,7 +435,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_l3src_l3dst = {
                 "IP(frag=6)", 'IP(frag=6, src="192.168.1.1", dst="192.168.1.2")'
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 2},
     },
     "mismatched": {
@@ -462,14 +462,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_l3src_l3dst = {
                 "IP(frag=6)", 'IP(frag=6, src="192.168.1.11", dst="192.168.1.22")'
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_teid_l3src_l3dst = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_teid_l3src_l3dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_nonfrag"]
@@ -482,7 +482,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_teid_l3src_l3dst = {
             .replace("IP(frag=6)", 'IP(frag=6, src="192.168.1.1", dst="192.168.1.2")')
             .replace("GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345678)"),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 2},
     },
     "mismatched": {
@@ -515,14 +515,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_teid_l3src_l3dst = {
             .replace("IP(frag=6)", 'IP(frag=6, src="192.168.1.11", dst="192.168.1.22")')
             .replace("GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345677)"),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_qfi_l3src_l3dst = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_qfi_l3src_l3dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_nonfrag"]
@@ -536,7 +536,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_qfi_l3src_l3dst = {
             .replace("GTPPDUSessionContainer()", "GTPPDUSessionContainer(QFI=0x34)")
             .replace("GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345678)"),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 2},
     },
     "mismatched": {
@@ -563,14 +563,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_qfi_l3src_l3dst = {
             .replace("IP(frag=6)", 'IP(frag=6, src="192.168.1.11", dst="192.168.1.22")')
             .replace("GTPPDUSessionContainer()", "GTPPDUSessionContainer(QFI=0x33)"),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_all = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_all",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc qfi is 0x34 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc qfi is 0x34 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_nonfrag"]
@@ -584,7 +584,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_all = {
             .replace("GTPPDUSessionContainer()", "GTPPDUSessionContainer(QFI=0x34)")
             .replace("GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345678)"),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 2},
     },
     "mismatched": {
@@ -630,7 +630,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_all = {
             .replace("GTPPDUSessionContainer()", "GTPPDUSessionContainer(QFI=0x33)")
             .replace("GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345677)"),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
@@ -688,7 +688,7 @@ sv_mac_ipv6_gtpu_eh_ipv6 = [
 
 tv_mac_ipv4_gtpu_eh_ipv4_udp_teid_with_mask = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_udp_teid_with_mask",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 / udp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 / udp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_udp"].replace(
@@ -698,7 +698,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_teid_with_mask = {
                 "GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345688)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 2},
     },
     "mismatched": {
@@ -707,21 +707,21 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_teid_with_mask = {
                 "GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345677)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_udp_teid_without_mask = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_udp_teid_without_mask",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / gtp_psc / ipv4 / udp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / gtp_psc / ipv4 / udp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_udp"].replace(
                 "GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345678)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -733,21 +733,21 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_teid_without_mask = {
                 "GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345688)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_udp_qfi = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_udp_qfi",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 / udp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 / udp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_udp"].replace(
                 "GTPPDUSessionContainer()", "GTPPDUSessionContainer(QFI=0x34)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -756,14 +756,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_qfi = {
                 "GTPPDUSessionContainer()", "GTPPDUSessionContainer(QFI=0x33)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_udp_l3dst = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_udp_l3dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.1.2 / udp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_udp"].replace(
@@ -771,7 +771,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_l3dst = {
                 'GTPPDUSessionContainer()/IP(dst="192.168.1.2")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -781,14 +781,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_l3dst = {
                 'GTPPDUSessionContainer()/IP(dst="192.168.1.22")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_udp_l3src = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_udp_l3src",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 / udp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 / udp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_udp"].replace(
@@ -796,7 +796,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_l3src = {
                 'GTPPDUSessionContainer()/IP(src="192.168.1.1")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -806,14 +806,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_l3src = {
                 'GTPPDUSessionContainer()/IP(src="192.168.1.11")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_udp_l3src_l3dst = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_udp_l3src_l3dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_udp"].replace(
@@ -821,7 +821,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_l3src_l3dst = {
                 'GTPPDUSessionContainer()/IP(src="192.168.1.1", dst="192.168.1.2")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -839,14 +839,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_l3src_l3dst = {
                 'GTPPDUSessionContainer()/IP(src="192.168.1.11", dst="192.168.1.22")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_udp_l3src_l4dst = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_udp_l3src_l4dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 / udp dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 / udp dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_udp"].replace(
@@ -854,7 +854,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_l3src_l4dst = {
                 'GTPPDUSessionContainer()/IP(src="192.168.1.1")/UDP(dport=23)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -872,14 +872,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_l3src_l4dst = {
                 'GTPPDUSessionContainer()/IP(src="192.168.1.11")/UDP(dport=13)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_udp_l3src_l4src = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_udp_l3src_l4src",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 / udp src is 22 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 / udp src is 22 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_udp"].replace(
@@ -887,7 +887,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_l3src_l4src = {
                 'GTPPDUSessionContainer()/IP(src="192.168.1.1")/UDP(sport=22)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -905,14 +905,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_l3src_l4src = {
                 'GTPPDUSessionContainer()/IP(src="192.168.1.11")/UDP(sport=12)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_udp_l3dst_l4src = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_udp_l3dst_l4src",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.1.2 / udp src is 22 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.1.2 / udp src is 22 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_udp"].replace(
@@ -920,7 +920,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_l3dst_l4src = {
                 'GTPPDUSessionContainer()/IP(dst="192.168.1.2")/UDP(sport=22)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -938,14 +938,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_l3dst_l4src = {
                 'GTPPDUSessionContainer()/IP(dst="192.168.1.22")/UDP(sport=12)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_udp_l3dst_l4dst = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_udp_l3dst_l4dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.1.2 / udp dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.1.2 / udp dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_udp"].replace(
@@ -953,7 +953,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_l3dst_l4dst = {
                 'GTPPDUSessionContainer()/IP(dst="192.168.1.2")/UDP(dport=23)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -971,14 +971,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_l3dst_l4dst = {
                 'GTPPDUSessionContainer()/IP(dst="192.168.1.22")/UDP(dport=13)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_udp_l4dst = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_udp_l4dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / udp dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / udp dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_udp"].replace(
@@ -986,7 +986,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_l4dst = {
                 "GTPPDUSessionContainer()/IP()/UDP(dport=23)",
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -996,14 +996,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_l4dst = {
                 "GTPPDUSessionContainer()/IP()/UDP(dport=13)",
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_udp_l4src = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_udp_l4src",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / udp src is 22 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / udp src is 22 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_udp"].replace(
@@ -1011,7 +1011,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_l4src = {
                 "GTPPDUSessionContainer()/IP()/UDP(sport=22)",
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1021,14 +1021,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_l4src = {
                 "GTPPDUSessionContainer()/IP()/UDP(sport=12)",
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_udp_l4src_l4dst = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_udp_l4src_l4dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / udp src is 22 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / udp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_udp"].replace(
@@ -1036,7 +1036,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_l4src_l4dst = {
                 "GTPPDUSessionContainer()/IP()/UDP(sport=22, dport=23)",
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1054,14 +1054,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_l4src_l4dst = {
                 "GTPPDUSessionContainer()/IP()/UDP(sport=12, dport=13)",
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_udp_teid_l3src_l3dst = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_udp_teid_l3src_l3dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_udp"]
@@ -1071,7 +1071,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_teid_l3src_l3dst = {
             )
             .replace("GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345678)"),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1095,14 +1095,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_teid_l3src_l3dst = {
             )
             .replace("GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345677)"),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_udp_qfi_l3src_l3dst = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_udp_qfi_l3src_l3dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_udp"].replace(
@@ -1110,7 +1110,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_qfi_l3src_l3dst = {
                 'GTPPDUSessionContainer(QFI=0x34)/IP(src="192.168.1.1", dst="192.168.1.2")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1128,14 +1128,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_qfi_l3src_l3dst = {
                 'GTPPDUSessionContainer(QFI=0x33)/IP(src="192.168.1.11", dst="192.168.1.22")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_udp_teid_l4src_l4dst = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_udp_teid_l4src_l4dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 / udp src is 22 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 / udp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_udp"]
@@ -1145,7 +1145,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_teid_l4src_l4dst = {
             )
             .replace("GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345678)"),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1169,14 +1169,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_teid_l4src_l4dst = {
             )
             .replace("GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345677)"),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_udp_qfi_l4src_l4dst = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_udp_qfi_l4src_l4dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 / udp src is 22 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 / udp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_udp"].replace(
@@ -1184,7 +1184,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_qfi_l4src_l4dst = {
                 "GTPPDUSessionContainer(QFI=0x34)/IP()/UDP(sport=22, dport=23)",
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1202,14 +1202,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_qfi_l4src_l4dst = {
                 "GTPPDUSessionContainer(QFI=0x33)/IP()/UDP(sport=12, dport=13)",
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_udp_l3_l4 = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_udp_l3_l4",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 22 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_udp"].replace(
@@ -1217,7 +1217,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_l3_l4 = {
                 'GTPPDUSessionContainer()/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=22, dport=23)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1251,14 +1251,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_l3_l4 = {
                 'GTPPDUSessionContainer()/IP(src="192.168.1.11", dst="192.168.1.22")/UDP(sport=12, dport=13)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_udp_all = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_udp_all",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc qfi is 0x34 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 22 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc qfi is 0x34 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_udp"]
@@ -1268,7 +1268,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_all = {
             )
             .replace("GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345678)"),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1298,7 +1298,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_udp_all = {
             )
             .replace("GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345677)"),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
@@ -1429,7 +1429,7 @@ sv_mac_ipv6_gtpu_eh_ipv6_udp = [
 
 tv_mac_ipv4_gtpu_eh_ipv4_tcp_teid_with_mask = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_tcp_teid_with_mask",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 / tcp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 / tcp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_tcp"].replace(
@@ -1439,7 +1439,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_teid_with_mask = {
                 "GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345688)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 2},
     },
     "mismatched": {
@@ -1448,21 +1448,21 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_teid_with_mask = {
                 "GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345677)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_tcp_teid_without_mask = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_tcp_teid_without_mask",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / gtp_psc / ipv4 / tcp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / gtp_psc / ipv4 / tcp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_tcp"].replace(
                 "GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345678)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1474,21 +1474,21 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_teid_without_mask = {
                 "GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345688)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_tcp_qfi = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_tcp_qfi",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 / tcp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 / tcp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_tcp"].replace(
                 "GTPPDUSessionContainer()", "GTPPDUSessionContainer(QFI=0x34)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1497,14 +1497,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_qfi = {
                 "GTPPDUSessionContainer()", "GTPPDUSessionContainer(QFI=0x33)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3dst = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.1.2 / tcp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.1.2 / tcp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_tcp"].replace(
@@ -1512,7 +1512,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3dst = {
                 'GTPPDUSessionContainer()/IP(dst="192.168.1.2")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1522,14 +1522,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3dst = {
                 'GTPPDUSessionContainer()/IP(dst="192.168.1.22")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3src = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3src",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 / tcp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 / tcp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_tcp"].replace(
@@ -1537,7 +1537,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3src = {
                 'GTPPDUSessionContainer()/IP(src="192.168.1.1")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1547,14 +1547,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3src = {
                 'GTPPDUSessionContainer()/IP(src="192.168.1.11")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3src_l3dst = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3src_l3dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_tcp"].replace(
@@ -1562,7 +1562,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3src_l3dst = {
                 'GTPPDUSessionContainer()/IP(src="192.168.1.1", dst="192.168.1.2")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1580,14 +1580,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3src_l3dst = {
                 'GTPPDUSessionContainer()/IP(src="192.168.1.11", dst="192.168.1.22")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3src_l4dst = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3src_l4dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 / tcp dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 / tcp dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_tcp"].replace(
@@ -1595,7 +1595,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3src_l4dst = {
                 'GTPPDUSessionContainer()/IP(src="192.168.1.1")/TCP(dport=23)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1613,14 +1613,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3src_l4dst = {
                 'GTPPDUSessionContainer()/IP(src="192.168.1.11")/TCP(dport=13)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3src_l4src = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3src_l4src",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 / tcp src is 22 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 / tcp src is 22 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_tcp"].replace(
@@ -1628,7 +1628,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3src_l4src = {
                 'GTPPDUSessionContainer()/IP(src="192.168.1.1")/TCP(sport=22)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1646,14 +1646,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3src_l4src = {
                 'GTPPDUSessionContainer()/IP(src="192.168.1.11")/TCP(sport=12)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3dst_l4src = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3dst_l4src",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.1.2 / tcp src is 22 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.1.2 / tcp src is 22 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_tcp"].replace(
@@ -1661,7 +1661,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3dst_l4src = {
                 'GTPPDUSessionContainer()/IP(dst="192.168.1.2")/TCP(sport=22)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1679,14 +1679,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3dst_l4src = {
                 'GTPPDUSessionContainer()/IP(dst="192.168.1.22")/TCP(sport=12)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3dst_l4dst = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3dst_l4dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.1.2 / tcp dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.1.2 / tcp dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_tcp"].replace(
@@ -1694,7 +1694,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3dst_l4dst = {
                 'GTPPDUSessionContainer()/IP(dst="192.168.1.2")/TCP(dport=23)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1712,14 +1712,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3dst_l4dst = {
                 'GTPPDUSessionContainer()/IP(dst="192.168.1.22")/TCP(dport=13)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_tcp_l4dst = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_tcp_l4dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / tcp dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / tcp dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_tcp"].replace(
@@ -1727,7 +1727,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_l4dst = {
                 "GTPPDUSessionContainer()/IP()/TCP(dport=23)",
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1737,14 +1737,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_l4dst = {
                 "GTPPDUSessionContainer()/IP()/TCP(dport=13)",
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_tcp_l4src = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_tcp_l4src",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / tcp src is 22 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / tcp src is 22 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_tcp"].replace(
@@ -1752,7 +1752,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_l4src = {
                 "GTPPDUSessionContainer()/IP()/TCP(sport=22)",
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1762,14 +1762,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_l4src = {
                 "GTPPDUSessionContainer()/IP()/TCP(sport=12)",
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_tcp_l4src_l4dst = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_tcp_l4src_l4dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / tcp src is 22 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / tcp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_tcp"].replace(
@@ -1777,7 +1777,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_l4src_l4dst = {
                 "GTPPDUSessionContainer()/IP()/TCP(sport=22, dport=23)",
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1795,14 +1795,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_l4src_l4dst = {
                 "GTPPDUSessionContainer()/IP()/TCP(sport=12, dport=13)",
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_tcp_teid_l3src_l3dst = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_tcp_teid_l3src_l3dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_tcp"]
@@ -1812,7 +1812,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_teid_l3src_l3dst = {
             )
             .replace("GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345678)"),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1836,14 +1836,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_teid_l3src_l3dst = {
             )
             .replace("GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345677)"),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_tcp_qfi_l3src_l3dst = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_tcp_qfi_l3src_l3dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_tcp"].replace(
@@ -1851,7 +1851,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_qfi_l3src_l3dst = {
                 'GTPPDUSessionContainer(QFI=0x34)/IP(src="192.168.1.1", dst="192.168.1.2")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1869,14 +1869,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_qfi_l3src_l3dst = {
                 'GTPPDUSessionContainer(QFI=0x33)/IP(src="192.168.1.11", dst="192.168.1.22")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_tcp_teid_l4src_l4dst = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_tcp_teid_l4src_l4dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 / tcp src is 22 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc / ipv4 / tcp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_tcp"]
@@ -1886,7 +1886,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_teid_l4src_l4dst = {
             )
             .replace("GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345678)"),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1910,14 +1910,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_teid_l4src_l4dst = {
             )
             .replace("GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345677)"),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_tcp_qfi_l4src_l4dst = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_tcp_qfi_l4src_l4dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 / tcp src is 22 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi is 0x34 / ipv4 / tcp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_tcp"].replace(
@@ -1925,7 +1925,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_qfi_l4src_l4dst = {
                 "GTPPDUSessionContainer(QFI=0x34)/IP()/TCP(sport=22, dport=23)",
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1943,14 +1943,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_qfi_l4src_l4dst = {
                 "GTPPDUSessionContainer(QFI=0x33)/IP()/TCP(sport=12, dport=13)",
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3_l4 = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3_l4",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 22 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_tcp"].replace(
@@ -1958,7 +1958,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3_l4 = {
                 'GTPPDUSessionContainer()/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=22, dport=23)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -1992,14 +1992,14 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_l3_l4 = {
                 'GTPPDUSessionContainer()/IP(src="192.168.1.11", dst="192.168.1.22")/TCP(sport=12, dport=13)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_eh_ipv4_tcp_all = {
     "name": "tv_mac_ipv4_gtpu_eh_ipv4_tcp_all",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc qfi is 0x34 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 22 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / gtp_psc qfi is 0x34 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_eh_ipv4_tcp"]
@@ -2009,7 +2009,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_all = {
             )
             .replace("GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345678)"),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -2039,7 +2039,7 @@ tv_mac_ipv4_gtpu_eh_ipv4_tcp_all = {
             )
             .replace("GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345677)"),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
@@ -2169,7 +2169,7 @@ sv_mac_ipv6_gtpu_eh_ipv6_tcp = [
 
 tv_mac_ipv4_gtpu_ipv4_teid_with_mask = {
     "name": "tv_mac_ipv4_gtpu_ipv4_teid_with_mask",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_nonfrag"].replace(
@@ -2185,7 +2185,7 @@ tv_mac_ipv4_gtpu_ipv4_teid_with_mask = {
                 "GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345688)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 4},
     },
     "mismatched": {
@@ -2197,14 +2197,14 @@ tv_mac_ipv4_gtpu_ipv4_teid_with_mask = {
                 "GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345677)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_teid_without_mask = {
     "name": "tv_mac_ipv4_gtpu_ipv4_teid_without_mask",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / ipv4 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / ipv4 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_nonfrag"].replace(
@@ -2214,7 +2214,7 @@ tv_mac_ipv4_gtpu_ipv4_teid_without_mask = {
                 "GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345678)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 2},
     },
     "mismatched": {
@@ -2232,14 +2232,14 @@ tv_mac_ipv4_gtpu_ipv4_teid_without_mask = {
                 "GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345688)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_l3dst = {
     "name": "tv_mac_ipv4_gtpu_ipv4_l3dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.1.2 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_nonfrag"].replace(
@@ -2249,7 +2249,7 @@ tv_mac_ipv4_gtpu_ipv4_l3dst = {
                 "IP(frag=6)", 'IP(frag=6, dst="192.168.1.2")'
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 2},
     },
     "mismatched": {
@@ -2261,14 +2261,14 @@ tv_mac_ipv4_gtpu_ipv4_l3dst = {
                 "IP(frag=6)", 'IP(frag=6, dst="192.168.1.22")'
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_l3src = {
     "name": "tv_mac_ipv4_gtpu_ipv4_l3src",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_nonfrag"].replace(
@@ -2278,7 +2278,7 @@ tv_mac_ipv4_gtpu_ipv4_l3src = {
                 "IP(frag=6)", 'IP(frag=6, src="192.168.1.1")'
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 2},
     },
     "mismatched": {
@@ -2290,14 +2290,14 @@ tv_mac_ipv4_gtpu_ipv4_l3src = {
                 "IP(frag=6)", 'IP(frag=6, src="192.168.1.11")'
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_l3src_l3dst = {
     "name": "tv_mac_ipv4_gtpu_ipv4_l3src_l3dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_nonfrag"].replace(
@@ -2308,7 +2308,7 @@ tv_mac_ipv4_gtpu_ipv4_l3src_l3dst = {
                 "IP(frag=6)", 'IP(frag=6, src="192.168.1.1", dst="192.168.1.2")'
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 2},
     },
     "mismatched": {
@@ -2335,14 +2335,14 @@ tv_mac_ipv4_gtpu_ipv4_l3src_l3dst = {
                 "IP(frag=6)", 'IP(frag=6, src="192.168.1.11", dst="192.168.1.22")'
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_all = {
     "name": "tv_mac_ipv4_gtpu_ipv4_all",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_nonfrag"].replace(
@@ -2354,7 +2354,7 @@ tv_mac_ipv4_gtpu_ipv4_all = {
                 'GTP_U_Header(gtp_type=255, teid=0x12345678)/IP(frag=6, src="192.168.1.1", dst="192.168.1.2")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 2},
     },
     "mismatched": {
@@ -2384,7 +2384,7 @@ tv_mac_ipv4_gtpu_ipv4_all = {
                 'GTP_U_Header(gtp_type=255, teid=0x12345677)/IP(frag=6, src="192.168.1.11", dst="192.168.1.22")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
@@ -2439,7 +2439,7 @@ sv_mac_ipv6_gtpu_ipv6 = [
 
 tv_mac_ipv4_gtpu_ipv4_udp_teid_with_mask = {
     "name": "tv_mac_ipv4_gtpu_ipv4_udp_teid_with_mask",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 / udp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 / udp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_udp"].replace(
@@ -2449,7 +2449,7 @@ tv_mac_ipv4_gtpu_ipv4_udp_teid_with_mask = {
                 "GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345688)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 2},
     },
     "mismatched": {
@@ -2458,21 +2458,21 @@ tv_mac_ipv4_gtpu_ipv4_udp_teid_with_mask = {
                 "GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345677)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_udp_teid_without_mask = {
     "name": "tv_mac_ipv4_gtpu_ipv4_udp_teid_without_mask",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / ipv4 / udp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / ipv4 / udp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_udp"].replace(
                 "GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345678)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -2484,21 +2484,21 @@ tv_mac_ipv4_gtpu_ipv4_udp_teid_without_mask = {
                 "GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345688)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_udp_l3dst = {
     "name": "tv_mac_ipv4_gtpu_ipv4_udp_l3dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.1.2 / udp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_udp"].replace(
                 "GTP_U_Header()/IP()", 'GTP_U_Header()/IP(dst="192.168.1.2")'
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -2507,21 +2507,21 @@ tv_mac_ipv4_gtpu_ipv4_udp_l3dst = {
                 "GTP_U_Header()/IP()", 'GTP_U_Header()/IP(dst="192.168.1.22")'
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_udp_l3src = {
     "name": "tv_mac_ipv4_gtpu_ipv4_udp_l3src",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 / udp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 / udp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_udp"].replace(
                 "GTP_U_Header()/IP()", 'GTP_U_Header()/IP(src="192.168.1.1")'
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -2530,14 +2530,14 @@ tv_mac_ipv4_gtpu_ipv4_udp_l3src = {
                 "GTP_U_Header()/IP()", 'GTP_U_Header()/IP(src="192.168.1.11")'
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_udp_l3src_l3dst = {
     "name": "tv_mac_ipv4_gtpu_ipv4_udp_l3src_l3dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_udp"].replace(
@@ -2545,7 +2545,7 @@ tv_mac_ipv4_gtpu_ipv4_udp_l3src_l3dst = {
                 'GTP_U_Header()/IP(src="192.168.1.1", dst="192.168.1.2")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -2563,14 +2563,14 @@ tv_mac_ipv4_gtpu_ipv4_udp_l3src_l3dst = {
                 'GTP_U_Header()/IP(src="192.168.1.11", dst="192.168.1.22")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_udp_l3src_l4dst = {
     "name": "tv_mac_ipv4_gtpu_ipv4_udp_l3src_l4dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 / udp dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 / udp dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_udp"].replace(
@@ -2578,7 +2578,7 @@ tv_mac_ipv4_gtpu_ipv4_udp_l3src_l4dst = {
                 'GTP_U_Header()/IP(src="192.168.1.1")/UDP(dport=23)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -2596,14 +2596,14 @@ tv_mac_ipv4_gtpu_ipv4_udp_l3src_l4dst = {
                 'GTP_U_Header()/IP(src="192.168.1.11")/UDP(dport=13)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_udp_l3src_l4src = {
     "name": "tv_mac_ipv4_gtpu_ipv4_udp_l3src_l4src",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 / udp src is 22 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 / udp src is 22 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_udp"].replace(
@@ -2611,7 +2611,7 @@ tv_mac_ipv4_gtpu_ipv4_udp_l3src_l4src = {
                 'GTP_U_Header()/IP(src="192.168.1.1")/UDP(sport=22)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -2629,14 +2629,14 @@ tv_mac_ipv4_gtpu_ipv4_udp_l3src_l4src = {
                 'GTP_U_Header()/IP(src="192.168.1.11")/UDP(sport=12)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_udp_l3dst_l4src = {
     "name": "tv_mac_ipv4_gtpu_ipv4_udp_l3dst_l4src",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.1.2 / udp src is 22 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.1.2 / udp src is 22 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_udp"].replace(
@@ -2644,7 +2644,7 @@ tv_mac_ipv4_gtpu_ipv4_udp_l3dst_l4src = {
                 'GTP_U_Header()/IP(dst="192.168.1.2")/UDP(sport=22)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -2662,14 +2662,14 @@ tv_mac_ipv4_gtpu_ipv4_udp_l3dst_l4src = {
                 'GTP_U_Header()/IP(dst="192.168.1.22")/UDP(sport=12)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_udp_l3dst_l4dst = {
     "name": "tv_mac_ipv4_gtpu_ipv4_udp_l3dst_l4dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.1.2 / udp dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.1.2 / udp dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_udp"].replace(
@@ -2677,7 +2677,7 @@ tv_mac_ipv4_gtpu_ipv4_udp_l3dst_l4dst = {
                 'GTP_U_Header()/IP(dst="192.168.1.2")/UDP(dport=23)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -2695,21 +2695,21 @@ tv_mac_ipv4_gtpu_ipv4_udp_l3dst_l4dst = {
                 'GTP_U_Header()/IP(dst="192.168.1.22")/UDP(dport=13)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_udp_l4dst = {
     "name": "tv_mac_ipv4_gtpu_ipv4_udp_l4dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / udp dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / udp dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_udp"].replace(
                 "GTP_U_Header()/IP()/UDP()", "GTP_U_Header()/IP()/UDP(dport=23)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -2718,21 +2718,21 @@ tv_mac_ipv4_gtpu_ipv4_udp_l4dst = {
                 "GTP_U_Header()/IP()/UDP()", "GTP_U_Header()/IP()/UDP(dport=13)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_udp_l4src = {
     "name": "tv_mac_ipv4_gtpu_ipv4_udp_l4src",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / udp src is 22 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / udp src is 22 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_udp"].replace(
                 "GTP_U_Header()/IP()/UDP()", "GTP_U_Header()/IP()/UDP(sport=22)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -2741,14 +2741,14 @@ tv_mac_ipv4_gtpu_ipv4_udp_l4src = {
                 "GTP_U_Header()/IP()/UDP()", "GTP_U_Header()/IP()/UDP(sport=12)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_udp_l4src_l4dst = {
     "name": "tv_mac_ipv4_gtpu_ipv4_udp_l4src_l4dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / udp src is 22 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / udp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_udp"].replace(
@@ -2756,7 +2756,7 @@ tv_mac_ipv4_gtpu_ipv4_udp_l4src_l4dst = {
                 "GTP_U_Header()/IP()/UDP(sport=22, dport=23)",
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -2774,14 +2774,14 @@ tv_mac_ipv4_gtpu_ipv4_udp_l4src_l4dst = {
                 "GTP_U_Header()/IP()/UDP(sport=12, dport=13)",
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_udp_teid_l3src_l3dst = {
     "name": "tv_mac_ipv4_gtpu_ipv4_udp_teid_l3src_l3dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_udp"].replace(
@@ -2789,7 +2789,7 @@ tv_mac_ipv4_gtpu_ipv4_udp_teid_l3src_l3dst = {
                 'GTP_U_Header(gtp_type=255, teid=0x12345678)/IP(src="192.168.1.1", dst="192.168.1.2")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -2807,14 +2807,14 @@ tv_mac_ipv4_gtpu_ipv4_udp_teid_l3src_l3dst = {
                 'GTP_U_Header(gtp_type=255, teid=0x12345677)/IP(src="192.168.1.11", dst="192.168.1.22")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_udp_teid_l4src_l4dst = {
     "name": "tv_mac_ipv4_gtpu_ipv4_udp_teid_l4src_l4dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 / udp src is 22 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 / udp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_udp"].replace(
@@ -2822,7 +2822,7 @@ tv_mac_ipv4_gtpu_ipv4_udp_teid_l4src_l4dst = {
                 "GTP_U_Header(gtp_type=255, teid=0x12345678)/IP()/UDP(sport=22, dport=23)",
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -2840,7 +2840,7 @@ tv_mac_ipv4_gtpu_ipv4_udp_teid_l4src_l4dst = {
                 "GTP_U_Header(gtp_type=255, teid=0x12345677)/IP()/UDP(sport=12, dport=13)",
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
@@ -2848,7 +2848,7 @@ tv_mac_ipv4_gtpu_ipv4_udp_teid_l4src_l4dst = {
 
 tv_mac_ipv4_gtpu_ipv4_udp_l3_l4 = {
     "name": "tv_mac_ipv4_gtpu_ipv4_udp_l3_l4",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 22 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_udp"].replace(
@@ -2856,7 +2856,7 @@ tv_mac_ipv4_gtpu_ipv4_udp_l3_l4 = {
                 'GTP_U_Header()/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=22, dport=23)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -2874,7 +2874,7 @@ tv_mac_ipv4_gtpu_ipv4_udp_l3_l4 = {
                 'GTP_U_Header()/IP(src="192.168.1.11", dst="192.168.1.22")/UDP(sport=12, dport=13)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
@@ -2988,7 +2988,7 @@ sv_mac_ipv6_gtpu_ipv6_udp = [sv_mac_ipv6_gtpu_ipv6_udp_1, sv_mac_ipv6_gtpu_ipv6_
 
 tv_mac_ipv4_gtpu_ipv4_tcp_teid_with_mask = {
     "name": "tv_mac_ipv4_gtpu_ipv4_tcp_teid_with_mask",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 / tcp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 / tcp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_tcp"].replace(
@@ -2998,7 +2998,7 @@ tv_mac_ipv4_gtpu_ipv4_tcp_teid_with_mask = {
                 "GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345688)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 2},
     },
     "mismatched": {
@@ -3007,21 +3007,21 @@ tv_mac_ipv4_gtpu_ipv4_tcp_teid_with_mask = {
                 "GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345677)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_tcp_teid_without_mask = {
     "name": "tv_mac_ipv4_gtpu_ipv4_tcp_teid_without_mask",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / ipv4 / tcp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / ipv4 / tcp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_tcp"].replace(
                 "GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345678)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -3033,21 +3033,21 @@ tv_mac_ipv4_gtpu_ipv4_tcp_teid_without_mask = {
                 "GTP_U_Header()", "GTP_U_Header(gtp_type=255, teid=0x12345688)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_tcp_l3dst = {
     "name": "tv_mac_ipv4_gtpu_ipv4_tcp_l3dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.1.2 / tcp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.1.2 / tcp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_tcp"].replace(
                 "GTP_U_Header()/IP()", 'GTP_U_Header()/IP(dst="192.168.1.2")'
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -3056,21 +3056,21 @@ tv_mac_ipv4_gtpu_ipv4_tcp_l3dst = {
                 "GTP_U_Header()/IP()", 'GTP_U_Header()/IP(dst="192.168.1.22")'
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_tcp_l3src = {
     "name": "tv_mac_ipv4_gtpu_ipv4_tcp_l3src",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 / tcp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 / tcp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_tcp"].replace(
                 "GTP_U_Header()/IP()", 'GTP_U_Header()/IP(src="192.168.1.1")'
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -3079,14 +3079,14 @@ tv_mac_ipv4_gtpu_ipv4_tcp_l3src = {
                 "GTP_U_Header()/IP()", 'GTP_U_Header()/IP(src="192.168.1.11")'
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_tcp_l3src_l3dst = {
     "name": "tv_mac_ipv4_gtpu_ipv4_tcp_l3src_l3dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_tcp"].replace(
@@ -3094,7 +3094,7 @@ tv_mac_ipv4_gtpu_ipv4_tcp_l3src_l3dst = {
                 'GTP_U_Header()/IP(src="192.168.1.1", dst="192.168.1.2")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -3112,14 +3112,14 @@ tv_mac_ipv4_gtpu_ipv4_tcp_l3src_l3dst = {
                 'GTP_U_Header()/IP(src="192.168.1.11", dst="192.168.1.22")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_tcp_l3src_l4dst = {
     "name": "tv_mac_ipv4_gtpu_ipv4_tcp_l3src_l4dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 / tcp dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 / tcp dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_tcp"].replace(
@@ -3127,7 +3127,7 @@ tv_mac_ipv4_gtpu_ipv4_tcp_l3src_l4dst = {
                 'GTP_U_Header()/IP(src="192.168.1.1")/TCP(dport=23)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -3145,14 +3145,14 @@ tv_mac_ipv4_gtpu_ipv4_tcp_l3src_l4dst = {
                 'GTP_U_Header()/IP(src="192.168.1.11")/TCP(dport=13)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_tcp_l3src_l4src = {
     "name": "tv_mac_ipv4_gtpu_ipv4_tcp_l3src_l4src",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 / tcp src is 22 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.1.1 / tcp src is 22 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_tcp"].replace(
@@ -3160,7 +3160,7 @@ tv_mac_ipv4_gtpu_ipv4_tcp_l3src_l4src = {
                 'GTP_U_Header()/IP(src="192.168.1.1")/TCP(sport=22)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -3178,14 +3178,14 @@ tv_mac_ipv4_gtpu_ipv4_tcp_l3src_l4src = {
                 'GTP_U_Header()/IP(src="192.168.1.11")/TCP(sport=12)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_tcp_l3dst_l4src = {
     "name": "tv_mac_ipv4_gtpu_ipv4_tcp_l3dst_l4src",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.1.2 / tcp src is 22 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.1.2 / tcp src is 22 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_tcp"].replace(
@@ -3193,7 +3193,7 @@ tv_mac_ipv4_gtpu_ipv4_tcp_l3dst_l4src = {
                 'GTP_U_Header()/IP(dst="192.168.1.2")/TCP(sport=22)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -3211,14 +3211,14 @@ tv_mac_ipv4_gtpu_ipv4_tcp_l3dst_l4src = {
                 'GTP_U_Header()/IP(dst="192.168.1.22")/TCP(sport=12)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_tcp_l3dst_l4dst = {
     "name": "tv_mac_ipv4_gtpu_ipv4_tcp_l3dst_l4dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.1.2 / tcp dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.1.2 / tcp dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_tcp"].replace(
@@ -3226,7 +3226,7 @@ tv_mac_ipv4_gtpu_ipv4_tcp_l3dst_l4dst = {
                 'GTP_U_Header()/IP(dst="192.168.1.2")/TCP(dport=23)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -3244,21 +3244,21 @@ tv_mac_ipv4_gtpu_ipv4_tcp_l3dst_l4dst = {
                 'GTP_U_Header()/IP(dst="192.168.1.22")/TCP(dport=13)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_tcp_l4dst = {
     "name": "tv_mac_ipv4_gtpu_ipv4_tcp_l4dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / tcp dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / tcp dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_tcp"].replace(
                 "GTP_U_Header()/IP()/TCP()", "GTP_U_Header()/IP()/TCP(dport=23)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -3267,21 +3267,21 @@ tv_mac_ipv4_gtpu_ipv4_tcp_l4dst = {
                 "GTP_U_Header()/IP()/TCP()", "GTP_U_Header()/IP()/TCP(dport=13)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_tcp_l4src = {
     "name": "tv_mac_ipv4_gtpu_ipv4_tcp_l4src",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / tcp src is 22 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / tcp src is 22 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_tcp"].replace(
                 "GTP_U_Header()/IP()/TCP()", "GTP_U_Header()/IP()/TCP(sport=22)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -3290,14 +3290,14 @@ tv_mac_ipv4_gtpu_ipv4_tcp_l4src = {
                 "GTP_U_Header()/IP()/TCP()", "GTP_U_Header()/IP()/TCP(sport=12)"
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_tcp_l4src_l4dst = {
     "name": "tv_mac_ipv4_gtpu_ipv4_tcp_l4src_l4dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / tcp src is 22 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / tcp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_tcp"].replace(
@@ -3305,7 +3305,7 @@ tv_mac_ipv4_gtpu_ipv4_tcp_l4src_l4dst = {
                 "GTP_U_Header()/IP()/TCP(sport=22, dport=23)",
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -3323,14 +3323,14 @@ tv_mac_ipv4_gtpu_ipv4_tcp_l4src_l4dst = {
                 "GTP_U_Header()/IP()/TCP(sport=12, dport=13)",
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_tcp_teid_l3src_l3dst = {
     "name": "tv_mac_ipv4_gtpu_ipv4_tcp_teid_l3src_l3dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_tcp"].replace(
@@ -3338,7 +3338,7 @@ tv_mac_ipv4_gtpu_ipv4_tcp_teid_l3src_l3dst = {
                 'GTP_U_Header(gtp_type=255, teid=0x12345678)/IP(src="192.168.1.1", dst="192.168.1.2")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -3356,14 +3356,14 @@ tv_mac_ipv4_gtpu_ipv4_tcp_teid_l3src_l3dst = {
                 'GTP_U_Header(gtp_type=255, teid=0x12345677)/IP(src="192.168.1.11", dst="192.168.1.22")',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_tcp_teid_l4src_l4dst = {
     "name": "tv_mac_ipv4_gtpu_ipv4_tcp_teid_l4src_l4dst",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 / tcp src is 22 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 / tcp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_tcp"].replace(
@@ -3371,7 +3371,7 @@ tv_mac_ipv4_gtpu_ipv4_tcp_teid_l4src_l4dst = {
                 "GTP_U_Header(gtp_type=255, teid=0x12345678)/IP()/TCP(sport=22, dport=23)",
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -3389,14 +3389,14 @@ tv_mac_ipv4_gtpu_ipv4_tcp_teid_l4src_l4dst = {
                 "GTP_U_Header(gtp_type=255, teid=0x12345677)/IP()/TCP(sport=12, dport=13)",
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
 
 tv_mac_ipv4_gtpu_ipv4_tcp_l3_l4 = {
     "name": "tv_mac_ipv4_gtpu_ipv4_tcp_l3_l4",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 22 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 teid mask 0x00000001 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 22 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             mac_ipv4_gtpu_basic["ipv4_gtpu_ipv4_tcp"].replace(
@@ -3404,7 +3404,7 @@ tv_mac_ipv4_gtpu_ipv4_tcp_l3_l4 = {
                 'GTP_U_Header()/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=22, dport=23)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 1},
     },
     "mismatched": {
@@ -3422,7 +3422,7 @@ tv_mac_ipv4_gtpu_ipv4_tcp_l3_l4 = {
                 'GTP_U_Header()/IP(src="192.168.1.11", dst="192.168.1.22")/TCP(sport=12, dport=13)',
             ),
         ],
-        "param": {"expect_port": 1, "expect_queues": "null"},
+        "param": {"expect_port": 2, "expect_queues": "null"},
         "expect_results": {"expect_pkts": 0},
     },
 }
@@ -3606,7 +3606,7 @@ class ICEDCFSwitchFilterGTPUTest(TestCase):
         all_eal_param = self.dut.create_eal_parameters(
             cores="1S/4C/1T",
             ports=[vf0_pci, vf1_pci],
-            port_options={vf0_pci: "cap=dcf"},
+            port_options={vf0_pci: "cap=dcf,representor=[1]"},
         )
         command = self.path + all_eal_param + " -- -i"
         return command
@@ -3618,7 +3618,7 @@ class ICEDCFSwitchFilterGTPUTest(TestCase):
         command = self.create_testpmd_command()
         self.dut.send_expect(command, "testpmd> ", 30)
         self.testpmd_status = "running"
-        self.dut.send_expect("set portlist 1", "testpmd> ", 15)
+        self.dut.send_expect("set portlist 2", "testpmd> ", 15)
         self.dut.send_expect("set fwd rxonly", "testpmd> ", 15)
         self.dut.send_expect("set verbose 1", "testpmd> ", 15)
 
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [DTS][PATCH V1 16/21] tests/ice_dcf_switch_filter_pppoe: update test plan to support represented port action from deprecated vf action
  2022-09-28  3:18 [DTS][PATCH V1 00/21] update test plans and tests to support represented port action and port representor action from deprecated vf action on DCF cases Ke Xu
                   ` (14 preceding siblings ...)
  2022-09-28  3:18 ` [DTS][PATCH V1 15/21] tests/ice_dcf_switch_filter_gtpu: " Ke Xu
@ 2022-09-28  3:18 ` Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 17/21] tests/ice_qinq: " Ke Xu
                   ` (4 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Ke Xu @ 2022-09-28  3:18 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, jin.ling, zhiminx.huang, weiyuanx.li, qi.fu, Ke Xu

Signed-off-by: Zhimin Huang <zhiminx.huang@intel.com>
Reviewed-by: Ke Xu <ke1.xu@intel.com>
---
 .../TestSuite_ice_dcf_switch_filter_pppoe.py  | 172 +++++++++---------
 1 file changed, 86 insertions(+), 86 deletions(-)

diff --git a/tests/TestSuite_ice_dcf_switch_filter_pppoe.py b/tests/TestSuite_ice_dcf_switch_filter_pppoe.py
index 9cd6cf9b..5780bc17 100644
--- a/tests/TestSuite_ice_dcf_switch_filter_pppoe.py
+++ b/tests/TestSuite_ice_dcf_switch_filter_pppoe.py
@@ -16,14 +16,14 @@ from framework.utils import BLUE, GREEN, RED
 
 tv_mac_vlan_pppoe_ipv4_pay_session_id_proto_id = {
     "name": "tv_mac_vlan_pppoe_ipv4_pay_session_id_proto_id",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP()/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -36,7 +36,7 @@ tv_mac_vlan_pppoe_ipv4_pay_session_id_proto_id = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -44,14 +44,14 @@ tv_mac_vlan_pppoe_ipv4_pay_session_id_proto_id = {
 
 tv_mac_vlan_pppoe_ipv6_pay_session_id_proto_id = {
     "name": "tv_mac_vlan_pppoe_ipv6_pay_session_id_proto_id",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6()/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -64,7 +64,7 @@ tv_mac_vlan_pppoe_ipv6_pay_session_id_proto_id = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -72,14 +72,14 @@ tv_mac_vlan_pppoe_ipv6_pay_session_id_proto_id = {
 
 tv_mac_pppoe_ipv4_pay_session_id_proto_id = {
     "name": "tv_mac_pppoe_ipv4_pay_session_id_proto_id",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP()/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -91,7 +91,7 @@ tv_mac_pppoe_ipv4_pay_session_id_proto_id = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -99,14 +99,14 @@ tv_mac_pppoe_ipv4_pay_session_id_proto_id = {
 
 tv_mac_pppoe_ipv6_pay_session_id_proto_id = {
     "name": "tv_mac_pppoe_ipv6_pay_session_id_proto_id",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6()/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -118,7 +118,7 @@ tv_mac_pppoe_ipv6_pay_session_id_proto_id = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -126,14 +126,14 @@ tv_mac_pppoe_ipv6_pay_session_id_proto_id = {
 
 tv_mac_pppoe_ipv4_pay_ip_address = {
     "name": "tv_mac_pppoe_ipv4_pay_ip_address",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x"*80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -144,7 +144,7 @@ tv_mac_pppoe_ipv4_pay_ip_address = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -152,14 +152,14 @@ tv_mac_pppoe_ipv4_pay_ip_address = {
 
 tv_mac_pppoe_ipv4_udp_pay = {
     "name": "tv_mac_pppoe_ipv4_udp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -172,7 +172,7 @@ tv_mac_pppoe_ipv4_udp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -180,14 +180,14 @@ tv_mac_pppoe_ipv4_udp_pay = {
 
 tv_mac_pppoe_ipv4_udp_pay_non_src_dst_port = {
     "name": "tv_mac_pppoe_ipv4_udp_pay_non_src_dst_port",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -200,7 +200,7 @@ tv_mac_pppoe_ipv4_udp_pay_non_src_dst_port = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -208,14 +208,14 @@ tv_mac_pppoe_ipv4_udp_pay_non_src_dst_port = {
 
 tv_mac_pppoe_ipv4_tcp_pay = {
     "name": "tv_mac_pppoe_ipv4_tcp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -228,7 +228,7 @@ tv_mac_pppoe_ipv4_tcp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -236,14 +236,14 @@ tv_mac_pppoe_ipv4_tcp_pay = {
 
 tv_mac_pppoe_ipv4_tcp_pay_non_src_dst_port = {
     "name": "tv_mac_pppoe_ipv4_tcp_pay_non_src_dst_port",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -256,7 +256,7 @@ tv_mac_pppoe_ipv4_tcp_pay_non_src_dst_port = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -264,14 +264,14 @@ tv_mac_pppoe_ipv4_tcp_pay_non_src_dst_port = {
 
 tv_mac_pppoe_ipv6_pay_ip_address = {
     "name": "tv_mac_pppoe_ipv6_pay_ip_address",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x"*80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -283,7 +283,7 @@ tv_mac_pppoe_ipv6_pay_ip_address = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -291,14 +291,14 @@ tv_mac_pppoe_ipv6_pay_ip_address = {
 
 tv_mac_pppoe_ipv6_udp_pay = {
     "name": "tv_mac_pppoe_ipv6_udp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -310,7 +310,7 @@ tv_mac_pppoe_ipv6_udp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -318,14 +318,14 @@ tv_mac_pppoe_ipv6_udp_pay = {
 
 tv_mac_pppoe_ipv6_udp_pay_non_src_dst_port = {
     "name": "tv_mac_pppoe_ipv6_udp_pay_non_src_dst_port",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -338,7 +338,7 @@ tv_mac_pppoe_ipv6_udp_pay_non_src_dst_port = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -346,14 +346,14 @@ tv_mac_pppoe_ipv6_udp_pay_non_src_dst_port = {
 
 tv_mac_pppoe_ipv6_tcp_pay = {
     "name": "tv_mac_pppoe_ipv6_tcp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -365,7 +365,7 @@ tv_mac_pppoe_ipv6_tcp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -373,14 +373,14 @@ tv_mac_pppoe_ipv6_tcp_pay = {
 
 tv_mac_pppoe_ipv6_tcp_pay_non_src_dst_port = {
     "name": "tv_mac_pppoe_ipv6_tcp_pay_non_src_dst_port",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -393,7 +393,7 @@ tv_mac_pppoe_ipv6_tcp_pay_non_src_dst_port = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -401,14 +401,14 @@ tv_mac_pppoe_ipv6_tcp_pay_non_src_dst_port = {
 
 tv_mac_vlan_pppoe_ipv4_pay_ip_address = {
     "name": "tv_mac_vlan_pppoe_ipv4_pay_ip_address",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x"*80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -420,7 +420,7 @@ tv_mac_vlan_pppoe_ipv4_pay_ip_address = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -428,14 +428,14 @@ tv_mac_vlan_pppoe_ipv4_pay_ip_address = {
 
 tv_mac_vlan_pppoe_ipv4_udp_pay = {
     "name": "tv_mac_vlan_pppoe_ipv4_udp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -449,7 +449,7 @@ tv_mac_vlan_pppoe_ipv4_udp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -457,14 +457,14 @@ tv_mac_vlan_pppoe_ipv4_udp_pay = {
 
 tv_mac_vlan_pppoe_ipv4_udp_pay_non_src_dst_port = {
     "name": "tv_mac_vlan_pppoe_ipv4_udp_pay_non_src_dst_port",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -478,7 +478,7 @@ tv_mac_vlan_pppoe_ipv4_udp_pay_non_src_dst_port = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -486,14 +486,14 @@ tv_mac_vlan_pppoe_ipv4_udp_pay_non_src_dst_port = {
 
 tv_mac_vlan_pppoe_ipv4_tcp_pay = {
     "name": "tv_mac_vlan_pppoe_ipv4_tcp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -507,7 +507,7 @@ tv_mac_vlan_pppoe_ipv4_tcp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -515,14 +515,14 @@ tv_mac_vlan_pppoe_ipv4_tcp_pay = {
 
 tv_mac_vlan_pppoe_ipv4_tcp_pay_non_src_dst_port = {
     "name": "tv_mac_vlan_pppoe_ipv4_tcp_pay_non_src_dst_port",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -536,7 +536,7 @@ tv_mac_vlan_pppoe_ipv4_tcp_pay_non_src_dst_port = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -544,14 +544,14 @@ tv_mac_vlan_pppoe_ipv4_tcp_pay_non_src_dst_port = {
 
 tv_mac_vlan_pppoe_ipv6_pay_ip_address = {
     "name": "tv_mac_vlan_pppoe_ipv6_pay_ip_address",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x"*80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -562,7 +562,7 @@ tv_mac_vlan_pppoe_ipv6_pay_ip_address = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -570,14 +570,14 @@ tv_mac_vlan_pppoe_ipv6_pay_ip_address = {
 
 tv_mac_vlan_pppoe_ipv6_udp_pay = {
     "name": "tv_mac_vlan_pppoe_ipv6_udp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -590,7 +590,7 @@ tv_mac_vlan_pppoe_ipv6_udp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -598,14 +598,14 @@ tv_mac_vlan_pppoe_ipv6_udp_pay = {
 
 tv_mac_vlan_pppoe_ipv6_udp_pay_non_src_dst_port = {
     "name": "tv_mac_vlan_pppoe_ipv6_udp_pay_non_src_dst_port",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / udp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / udp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -618,7 +618,7 @@ tv_mac_vlan_pppoe_ipv6_udp_pay_non_src_dst_port = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -626,14 +626,14 @@ tv_mac_vlan_pppoe_ipv6_udp_pay_non_src_dst_port = {
 
 tv_mac_vlan_pppoe_ipv6_tcp_pay = {
     "name": "tv_mac_vlan_pppoe_ipv6_tcp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -646,7 +646,7 @@ tv_mac_vlan_pppoe_ipv6_tcp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -654,14 +654,14 @@ tv_mac_vlan_pppoe_ipv6_tcp_pay = {
 
 tv_mac_vlan_pppoe_ipv6_tcp_pay_non_src_dst_port = {
     "name": "tv_mac_vlan_pppoe_ipv6_tcp_pay_non_src_dst_port",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / tcp / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / tcp / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -674,7 +674,7 @@ tv_mac_vlan_pppoe_ipv6_tcp_pay_non_src_dst_port = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -682,14 +682,14 @@ tv_mac_vlan_pppoe_ipv6_tcp_pay_non_src_dst_port = {
 
 tv_mac_pppoe_lcp_pay = {
     "name": "tv_mac_pppoe_lcp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\xc0\\x21\')/PPP_LCP()/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -701,7 +701,7 @@ tv_mac_pppoe_lcp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -709,14 +709,14 @@ tv_mac_pppoe_lcp_pay = {
 
 tv_mac_pppoe_ipcp_pay = {
     "name": "tv_mac_pppoe_ipcp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x80\\x21\')/PPP_IPCP()/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -728,7 +728,7 @@ tv_mac_pppoe_ipcp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -736,14 +736,14 @@ tv_mac_pppoe_ipcp_pay = {
 
 tv_mac_vlan_pppoe_lcp_pay = {
     "name": "tv_mac_vlan_pppoe_lcp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\xc0\\x21\')/PPP_LCP()/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -756,7 +756,7 @@ tv_mac_vlan_pppoe_lcp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -764,14 +764,14 @@ tv_mac_vlan_pppoe_lcp_pay = {
 
 tv_mac_vlan_pppoe_ipcp_pay = {
     "name": "tv_mac_vlan_pppoe_ipcp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x80\\x21\')/PPP_IPCP()/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -784,7 +784,7 @@ tv_mac_vlan_pppoe_ipcp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 2, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -885,7 +885,7 @@ class ICEDCFSwitchFilterPPPOETest(TestCase):
         all_eal_param = self.dut.create_eal_parameters(
             cores="1S/4C/1T",
             ports=[vf0_pci, vf1_pci],
-            port_options={vf0_pci: "cap=dcf"},
+            port_options={vf0_pci: "cap=dcf,representor=[1]"},
         )
         command = self.path + all_eal_param + " -- -i"
         return command
@@ -897,7 +897,7 @@ class ICEDCFSwitchFilterPPPOETest(TestCase):
         command = self.create_testpmd_command()
         out = self.dut.send_expect(command, "testpmd> ", 30)
         self.testpmd_status = "running"
-        self.dut.send_expect("set portlist 1", "testpmd> ", 15)
+        self.dut.send_expect("set portlist 2", "testpmd> ", 15)
         self.dut.send_expect("set fwd rxonly", "testpmd> ", 15)
         self.dut.send_expect("set verbose 1", "testpmd> ", 15)
 
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [DTS][PATCH V1 17/21] tests/ice_qinq: update test plan to support represented port action from deprecated vf action
  2022-09-28  3:18 [DTS][PATCH V1 00/21] update test plans and tests to support represented port action and port representor action from deprecated vf action on DCF cases Ke Xu
                   ` (15 preceding siblings ...)
  2022-09-28  3:18 ` [DTS][PATCH V1 16/21] tests/ice_dcf_switch_filter_pppoe: " Ke Xu
@ 2022-09-28  3:18 ` Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 18/21] tests/ice_dcf_data_path: update test plan to support port representor " Ke Xu
                   ` (3 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Ke Xu @ 2022-09-28  3:18 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, jin.ling, zhiminx.huang, weiyuanx.li, qi.fu, Ke Xu

Signed-off-by: Ke Xu <ke1.xu@intel.com>
---
 tests/TestSuite_ice_qinq.py | 96 ++++++++++++++++++-------------------
 1 file changed, 48 insertions(+), 48 deletions(-)

diff --git a/tests/TestSuite_ice_qinq.py b/tests/TestSuite_ice_qinq.py
index c6123643..8dde338a 100644
--- a/tests/TestSuite_ice_qinq.py
+++ b/tests/TestSuite_ice_qinq.py
@@ -15,7 +15,7 @@ from .rte_flow_common import RssProcessing
 
 mac_qinq_ipv4_pay_src_ip = {
     "name": "mac_qinq_ipv4_pay_src_ip",
-    "rule": "flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / ipv4 src is 196.222.232.221 / end actions vf id 1 / end",
+    "rule": "flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / ipv4 src is 196.222.232.221 / end actions represented_port ethdev_port_id 1 / end",
     "scapy_str": {
         "matched": [
             'Ether(dst="00:11:22:33:44:33",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x0800)/IP(src="196.222.232.221")/("X"*480)'
@@ -27,12 +27,12 @@ mac_qinq_ipv4_pay_src_ip = {
             'Ether(dst="00:11:22:33:44:33",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x2,type=0x0800)/IP(src="196.222.232.221")/("X"*480)',
         ],
     },
-    "check_param": {"port_id": 1},
+    "check_param": {"port_id": 2},
 }
 
 mac_qinq_ipv4_pay_dst_ip = {
     "name": "mac_qinq_ipv4_pay_dst_ip",
-    "rule": "flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / ipv4 dst is 196.222.232.221 / end actions vf id 1 / end",
+    "rule": "flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / ipv4 dst is 196.222.232.221 / end actions represented_port ethdev_port_id 1 / end",
     "scapy_str": {
         "matched": [
             'Ether(dst="00:11:22:33:44:33",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x0800)/IP(dst="196.222.232.221")/("X"*480)'
@@ -44,12 +44,12 @@ mac_qinq_ipv4_pay_dst_ip = {
             'Ether(dst="00:11:22:33:44:33",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x2,type=0x0800)/IP(dst="196.222.232.221")/("X"*480)',
         ],
     },
-    "check_param": {"port_id": 1},
+    "check_param": {"port_id": 2},
 }
 
 mac_qinq_ipv4_pay_dest_mac = {
     "name": "mac_qinq_ipv4_pay_dest_mac",
-    "rule": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / ipv4 / end actions vf id 1 / end",
+    "rule": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / ipv4 / end actions represented_port ethdev_port_id 1 / end",
     "scapy_str": {
         "matched": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x0800)/IP()/("X"*480)'
@@ -60,7 +60,7 @@ mac_qinq_ipv4_pay_dest_mac = {
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x2,type=0x0800)/IP()/("X"*480)',
         ],
     },
-    "check_param": {"port_id": 1},
+    "check_param": {"port_id": 2},
 }
 
 mac_qinq_ipv4_pay = [
@@ -71,7 +71,7 @@ mac_qinq_ipv4_pay = [
 
 mac_qinq_ipv6_pay_src_ip = {
     "name": "mac_qinq_ipv6_pay_src_ip",
-    "rule": "flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / ipv6 src is 1111:2222:3333:4444:5555:6666:7777:8888 / end actions vf id 1 / end",
+    "rule": "flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / ipv6 src is 1111:2222:3333:4444:5555:6666:7777:8888 / end actions represented_port ethdev_port_id 1 / end",
     "scapy_str": {
         "matched": [
             'Ether(dst="00:11:22:33:44:33",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x86DD)/IPv6(src="1111:2222:3333:4444:5555:6666:7777:8888")/("X"*480)'
@@ -83,12 +83,12 @@ mac_qinq_ipv6_pay_src_ip = {
             'Ether(dst="00:11:22:33:44:33",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x2,type=0x86DD)/IPv6(src="1111:2222:3333:4444:5555:6666:7777:8888")/("X"*480)',
         ],
     },
-    "check_param": {"port_id": 1},
+    "check_param": {"port_id": 2},
 }
 
 mac_qinq_ipv6_pay_dst_ip = {
     "name": "mac_qinq_ipv6_pay_dst_ip",
-    "rule": "flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / end actions vf id 1 / end",
+    "rule": "flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / end actions represented_port ethdev_port_id 1 / end",
     "scapy_str": {
         "matched": [
             'Ether(dst="00:11:22:33:44:33",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x86DD)/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888")/("X"*480)'
@@ -100,12 +100,12 @@ mac_qinq_ipv6_pay_dst_ip = {
             'Ether(dst="00:11:22:33:44:33",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x2,type=0x86DD)/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888")/("X"*480)',
         ],
     },
-    "check_param": {"port_id": 1},
+    "check_param": {"port_id": 2},
 }
 
 mac_qinq_ipv6_pay_dest_mac = {
     "name": "mac_qinq_ipv6_pay_dest_mac",
-    "rule": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / ipv6 / end actions vf id 1 / end",
+    "rule": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / ipv6 / end actions represented_port ethdev_port_id 1 / end",
     "scapy_str": {
         "matched": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x86DD)/IPv6()/("X"*480)'
@@ -116,7 +116,7 @@ mac_qinq_ipv6_pay_dest_mac = {
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x2,type=0x86DD)/IPv6()/("X"*480)',
         ],
     },
-    "check_param": {"port_id": 1},
+    "check_param": {"port_id": 2},
 }
 
 mac_qinq_ipv6_pay = [
@@ -128,7 +128,7 @@ mac_qinq_ipv6_pay = [
 mac_qinq_pppoe_pay = [
     {
         "name": "mac_qinq_pppoe_pay",
-        "rule": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / end actions vf id 1 / end",
+        "rule": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / end actions represented_port ethdev_port_id 1 / end",
         "scapy_str": {
             "matched": [
                 'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=0x1)/PPP(b\'\\x00\\x57\')/IPv6()/("X"*480)',
@@ -145,14 +145,14 @@ mac_qinq_pppoe_pay = [
                 'Ether(dst="00:11:22:33:44:33",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=0x1)/PPP(b\'\\x00\\x21\')/IP()/("X"*480)',
             ],
         },
-        "check_param": {"port_id": 1},
+        "check_param": {"port_id": 2},
     }
 ]
 
 mac_qinq_pppoe_proto = [
     {
         "name": "mac_qinq_pppoe_proto",
-        "rule": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / pppoe_proto_id is 0x0057 / end actions vf id 1 / end",
+        "rule": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / pppoe_proto_id is 0x0057 / end actions represented_port ethdev_port_id 1 / end",
         "scapy_str": {
             "matched": [
                 'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=0x1)/PPP(b\'\\x00\\x57\')/IPv6()/("X"*480)'
@@ -165,13 +165,13 @@ mac_qinq_pppoe_proto = [
                 'Ether(dst="00:11:22:33:44:33",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=0x1)/PPP(b\'\\x00\\x57\')/IPv6()/("X"*480)',
             ],
         },
-        "check_param": {"port_id": 1},
+        "check_param": {"port_id": 2},
     }
 ]
 
 mac_qinq_pppoe_ipv4_src_ip = {
     "name": "mac_qinq_pppoe_ipv4_src_ip",
-    "rule": "flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / ipv4 src is 196.222.232.221 / end actions vf id 1 / end",
+    "rule": "flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / ipv4 src is 196.222.232.221 / end actions represented_port ethdev_port_id 1 / end",
     "scapy_str": {
         "matched": [
             'Ether(dst="00:11:22:33:44:33",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x8864)/PPPoE(sessionid=0x1)/PPP(b\'\\x00\\x21\')/IP(src="196.222.232.221")/UDP(dport=23)/("X"*480)'
@@ -184,12 +184,12 @@ mac_qinq_pppoe_ipv4_src_ip = {
             'Ether(dst="00:11:22:33:44:33",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x2,type=0x8864)/PPPoE(sessionid=0x1)/PPP(b\'\\x00\\x21\')/IP(src="196.222.232.221")/UDP(dport=23)/("X"*480)',
         ],
     },
-    "check_param": {"port_id": 1},
+    "check_param": {"port_id": 2},
 }
 
 mac_qinq_pppoe_ipv4_dst_ip = {
     "name": "mac_qinq_pppoe_ipv4_dst_ip",
-    "rule": "flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / ipv4 dst is 196.222.232.221 / end actions vf id 1 / end",
+    "rule": "flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / ipv4 dst is 196.222.232.221 / end actions represented_port ethdev_port_id 1 / end",
     "scapy_str": {
         "matched": [
             'Ether(dst="00:11:22:33:44:33",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x8864)/PPPoE(sessionid=0x1)/PPP(b\'\\x00\\x21\')/IP(dst="196.222.232.221")/UDP(dport=23)/("X"*480)'
@@ -202,12 +202,12 @@ mac_qinq_pppoe_ipv4_dst_ip = {
             'Ether(dst="00:11:22:33:44:33",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x2,type=0x8864)/PPPoE(sessionid=0x1)/PPP(b\'\\x00\\x21\')/IP(dst="196.222.232.221")/UDP(dport=23)/("X"*480)',
         ],
     },
-    "check_param": {"port_id": 1},
+    "check_param": {"port_id": 2},
 }
 
 mac_qinq_pppoe_ipv4_dest_mac = {
     "name": "mac_qinq_pppoe_ipv4_dest_mac",
-    "rule": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / ipv4 / end actions vf id 1 / end",
+    "rule": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / ipv4 / end actions represented_port ethdev_port_id 1 / end",
     "scapy_str": {
         "matched": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x8864)/PPPoE(sessionid=0x1)/PPP(b\'\\x00\\x21\')/IP()/UDP(dport=23)/("X"*480)'
@@ -220,7 +220,7 @@ mac_qinq_pppoe_ipv4_dest_mac = {
             'Ether(dst="00:11:22:33:44:33",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x8864)/PPPoE(sessionid=0x1)/PPP(b\'\\x00\\x21\')/IP()/UDP(dport=23)/("X"*480)',
         ],
     },
-    "check_param": {"port_id": 1},
+    "check_param": {"port_id": 2},
 }
 
 mac_qinq_pppoe_ipv4 = [
@@ -231,7 +231,7 @@ mac_qinq_pppoe_ipv4 = [
 
 mac_qinq_pppoe_ipv6_src_ip = {
     "name": "mac_qinq_pppoe_ipv6_src_ip",
-    "rule": "flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / ipv6 src is 1111:2222:3333:4444:5555:6666:7777:8888 / end actions vf id 1 / end",
+    "rule": "flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / ipv6 src is 1111:2222:3333:4444:5555:6666:7777:8888 / end actions represented_port ethdev_port_id 1 / end",
     "scapy_str": {
         "matched": [
             'Ether(dst="00:11:22:33:44:33",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x8864)/PPPoE(sessionid=0x1)/PPP(b\'\\x00\\x57\')/IPv6(src="1111:2222:3333:4444:5555:6666:7777:8888")/UDP(dport=23)/("X"*480)'
@@ -244,12 +244,12 @@ mac_qinq_pppoe_ipv6_src_ip = {
             'Ether(dst="00:11:22:33:44:33",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x2,type=0x8864)/PPPoE(sessionid=0x1)/PPP(b\'\\x00\\x57\')/IPv6(src="1111:2222:3333:4444:5555:6666:7777:8888")/UDP(dport=23)/("X"*480)',
         ],
     },
-    "check_param": {"port_id": 1},
+    "check_param": {"port_id": 2},
 }
 
 mac_qinq_pppoe_ipv6_dst_ip = {
     "name": "mac_qinq_pppoe_ipv6_dst_ip",
-    "rule": "flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / end actions vf id 1 / end",
+    "rule": "flow create 0 ingress pattern eth / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / end actions represented_port ethdev_port_id 1 / end",
     "scapy_str": {
         "matched": [
             'Ether(dst="00:11:22:33:44:33",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x8864)/PPPoE(sessionid=0x1)/PPP(b\'\\x00\\x57\')/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888")/UDP(dport=23)/("X"*480)'
@@ -262,12 +262,12 @@ mac_qinq_pppoe_ipv6_dst_ip = {
             'Ether(dst="00:11:22:33:44:33",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x2,type=0x8864)/PPPoE(sessionid=0x1)/PPP(b\'\\x00\\x57\')/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888")/UDP(dport=23)/("X"*480)',
         ],
     },
-    "check_param": {"port_id": 1},
+    "check_param": {"port_id": 2},
 }
 
 mac_qinq_pppoe_ipv6_dest_mac = {
     "name": "mac_qinq_pppoe_ipv6_dest_mac",
-    "rule": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / ipv6 / end actions vf id 1 / end",
+    "rule": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / pppoes seid is 1 / ipv6 / end actions represented_port ethdev_port_id 1 / end",
     "scapy_str": {
         "matched": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x8864)/PPPoE(sessionid=0x1)/PPP(b\'\\x00\\x57\')/IPv6()/UDP(dport=23)/("X"*480)'
@@ -280,7 +280,7 @@ mac_qinq_pppoe_ipv6_dest_mac = {
             'Ether(dst="00:11:22:33:44:33",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x8864)/PPPoE(sessionid=0x1)/PPP(b\'\\x00\\x57\')/IPv6()/UDP(dport=23)/("X"*480)',
         ],
     },
-    "check_param": {"port_id": 1},
+    "check_param": {"port_id": 2},
 }
 
 mac_qinq_pppoe_ipv6 = [
@@ -292,7 +292,7 @@ mac_qinq_pppoe_ipv6 = [
 # Non-pipeline mode
 tv_mac_qinq_ipv4 = {
     "name": "tv_mac_qinq_ipv4",
-    "rule": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end",
+    "rule": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions represented_port ethdev_port_id 1 / end",
     "scapy_str": {
         "matched": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/("X"*80)'
@@ -304,12 +304,12 @@ tv_mac_qinq_ipv4 = {
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x0800)/IP(src="192.168.1.3", dst="192.168.1.2")/("X"*80)',
         ],
     },
-    "check_param": {"port_id": 1},
+    "check_param": {"port_id": 2},
 }
 
 tv_mac_qinq_ipv6 = {
     "name": "tv_mac_qinq_ipv6",
-    "rule": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions vf id 1 / end",
+    "rule": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions represented_port ethdev_port_id 1 / end",
     "scapy_str": {
         "matched": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x86DD)/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X"*80)'
@@ -321,12 +321,12 @@ tv_mac_qinq_ipv6 = {
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x86DD)/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/("X"*80)',
         ],
     },
-    "check_param": {"port_id": 1},
+    "check_param": {"port_id": 2},
 }
 
 tv_mac_qinq_ipv4_udp = {
     "name": "tv_mac_qinq_ipv4_udp",
-    "rule": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / ipv4 / udp src is 50 dst is 23 / end actions vf id 1 / end",
+    "rule": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / ipv4 / udp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "scapy_str": {
         "matched": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x0800)/IP()/UDP(sport=50,dport=23)/("X"*80)'
@@ -338,12 +338,12 @@ tv_mac_qinq_ipv4_udp = {
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x0800)/IP()/UDP(sport=50,dport=22)/("X"*80)',
         ],
     },
-    "check_param": {"port_id": 1},
+    "check_param": {"port_id": 2},
 }
 
 tv_mac_qinq_ipv4_tcp = {
     "name": "tv_mac_qinq_ipv4_tcp",
-    "rule": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / ipv4 / tcp src is 50 dst is 23 / end actions vf id 1 / end",
+    "rule": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / ipv4 / tcp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "scapy_str": {
         "matched": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x0800)/IP()/TCP(sport=50,dport=23)/("X"*80)'
@@ -355,7 +355,7 @@ tv_mac_qinq_ipv4_tcp = {
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x0800)/IP()/TCP(sport=50,dport=22)/("X"*80)',
         ],
     },
-    "check_param": {"port_id": 1},
+    "check_param": {"port_id": 2},
 }
 
 tvs_mac_l4_qinq_dcf_non_pipeline_mode = [
@@ -368,7 +368,7 @@ tvs_mac_l4_qinq_dcf_non_pipeline_mode = [
 # Pipeline mode
 tv_mac_qinq_ipv6_udp = {
     "name": "tv_mac_qinq_ipv6_udp",
-    "rule": "flow create 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp src is 50 dst is 23 / end actions vf id 1 / end",
+    "rule": "flow create 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "scapy_str": {
         "matched": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x86DD)/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=50,dport=23)/("X"*80)'
@@ -380,12 +380,12 @@ tv_mac_qinq_ipv6_udp = {
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x86DD)/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/UDP(sport=50,dport=22)/("X"*80)',
         ],
     },
-    "check_param": {"port_id": 1},
+    "check_param": {"port_id": 2},
 }
 
 tv_mac_qinq_ipv6_tcp = {
     "name": "tv_mac_qinq_ipv6_tcp",
-    "rule": "flow create 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / tcp src is 50 dst is 23 / end actions vf id 1 / end",
+    "rule": "flow create 0 priority 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / tcp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "scapy_str": {
         "matched": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x86DD)/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=50,dport=23)/("X"*80)'
@@ -397,7 +397,7 @@ tv_mac_qinq_ipv6_tcp = {
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8100)/Dot1Q(vlan=0x1,type=0x86DD)/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/TCP(sport=50,dport=22)/("X"*80)',
         ],
     },
-    "check_param": {"port_id": 1},
+    "check_param": {"port_id": 2},
 }
 
 tvs_mac_l4_qinq_dcf_pipeline_mode = [tv_mac_qinq_ipv6_udp, tv_mac_qinq_ipv6_tcp]
@@ -723,7 +723,7 @@ class TestICEQinq(TestCase):
         DCF switch for MAC_QINQ_IPV4_PAY
         """
         self.setup_pf_vfs_env()
-        self.launch_testpmd()
+        self.launch_testpmd(dcf_param = True)
         self._rte_flow_validate_pattern(mac_qinq_ipv4_pay)
 
     def test_mac_qinq_ipv6_pay(self):
@@ -731,7 +731,7 @@ class TestICEQinq(TestCase):
         DCF switch for MAC_QINQ_IPV6_PAY
         """
         self.setup_pf_vfs_env()
-        self.launch_testpmd()
+        self.launch_testpmd(dcf_param = True)
         self._rte_flow_validate_pattern(mac_qinq_ipv6_pay)
 
     @skip_unsupported_pkg("os default")
@@ -740,7 +740,7 @@ class TestICEQinq(TestCase):
         DCF switch for MAC_QINQ_PPPOE_PAY
         """
         self.setup_pf_vfs_env()
-        self.launch_testpmd()
+        self.launch_testpmd(dcf_param = True)
         self._rte_flow_validate_pattern(mac_qinq_pppoe_pay)
 
     @skip_unsupported_pkg("os default")
@@ -749,7 +749,7 @@ class TestICEQinq(TestCase):
         DCF switch for MAC_QINQ_PPPOE_PAY_Proto
         """
         self.setup_pf_vfs_env()
-        self.launch_testpmd()
+        self.launch_testpmd(dcf_param = True)
         self._rte_flow_validate_pattern(mac_qinq_pppoe_proto)
 
     @skip_unsupported_pkg("os default")
@@ -758,7 +758,7 @@ class TestICEQinq(TestCase):
         DCF switch for MAC_QINQ_PPPOE_IPV4
         """
         self.setup_pf_vfs_env()
-        self.launch_testpmd()
+        self.launch_testpmd(dcf_param = True)
         self._rte_flow_validate_pattern(mac_qinq_pppoe_ipv4)
 
     @skip_unsupported_pkg("os default")
@@ -767,7 +767,7 @@ class TestICEQinq(TestCase):
         DCF switch for MAC_QINQ_PPPOE_IPV6
         """
         self.setup_pf_vfs_env()
-        self.launch_testpmd()
+        self.launch_testpmd(dcf_param = True)
         self._rte_flow_validate_pattern(mac_qinq_pppoe_ipv6)
 
     def test_mac_l4_qinq_dcf_non_pipeline_mode(self):
@@ -775,7 +775,7 @@ class TestICEQinq(TestCase):
         DCF switch for MAC_L4_QINQ
         """
         self.setup_pf_vfs_env()
-        self.launch_testpmd()
+        self.launch_testpmd(dcf_param = True)
         self._rte_flow_validate_pattern(tvs_mac_l4_qinq_dcf_non_pipeline_mode)
 
     def test_mac_l4_qinq_dcf_pipeline_mode(self):
@@ -783,7 +783,7 @@ class TestICEQinq(TestCase):
         DCF switch for MAC_L4_QINQ_IPV6
         """
         self.setup_pf_vfs_env()
-        self.launch_testpmd()
+        self.launch_testpmd(dcf_param = True)
         self._rte_flow_validate_pattern(tvs_mac_l4_qinq_dcf_pipeline_mode)
 
     def reset_vf(self):
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [DTS][PATCH V1 18/21] tests/ice_dcf_data_path: update test plan to support port representor action from deprecated vf action
  2022-09-28  3:18 [DTS][PATCH V1 00/21] update test plans and tests to support represented port action and port representor action from deprecated vf action on DCF cases Ke Xu
                   ` (16 preceding siblings ...)
  2022-09-28  3:18 ` [DTS][PATCH V1 17/21] tests/ice_qinq: " Ke Xu
@ 2022-09-28  3:18 ` Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 19/21] test_plans/ice_dcf_switch_filter: update test plan to support represented port " Ke Xu
                   ` (2 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Ke Xu @ 2022-09-28  3:18 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, jin.ling, zhiminx.huang, weiyuanx.li, qi.fu, Ke Xu

Signed-off-by: Ke Xu <ke1.xu@intel.com>
---
 tests/TestSuite_ice_dcf_data_path.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/TestSuite_ice_dcf_data_path.py b/tests/TestSuite_ice_dcf_data_path.py
index a31681fb..62974e4f 100644
--- a/tests/TestSuite_ice_dcf_data_path.py
+++ b/tests/TestSuite_ice_dcf_data_path.py
@@ -250,7 +250,7 @@ class DcfDataPathTest(TestCase):
             % self.wrong_mac
         )
         rule = (
-            "flow create 0 ingress pattern eth dst is %s / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions vf original 1 / end"
+            "flow create 0 ingress pattern eth dst is %s / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions port_representor port_id 0 / end"
             % self.wrong_mac
         )
 
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [DTS][PATCH V1 19/21] test_plans/ice_dcf_switch_filter: update test plan to support represented port action from deprecated vf action
  2022-09-28  3:18 [DTS][PATCH V1 00/21] update test plans and tests to support represented port action and port representor action from deprecated vf action on DCF cases Ke Xu
                   ` (17 preceding siblings ...)
  2022-09-28  3:18 ` [DTS][PATCH V1 18/21] tests/ice_dcf_data_path: update test plan to support port representor " Ke Xu
@ 2022-09-28  3:18 ` Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 20/21] test/ice_dcf_switch_filter: " Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 21/21] test_plans/ice_dcf_switch_filter: add white space to formate the table Ke Xu
  20 siblings, 0 replies; 22+ messages in thread
From: Ke Xu @ 2022-09-28  3:18 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, jin.ling, zhiminx.huang, weiyuanx.li, qi.fu, Ke Xu

In negative cases, subcase 8: invalid vf id is removed for introducing of new API is
 not using vf id. New API may introduce invalid port id and that will be covered by a
 new subcase added in the patch covering new API.

Signed-off-by: Ke Xu <ke1.xu@intel.com>
---
 .../ice_dcf_switch_filter_test_plan.rst       | 677 +++++++++---------
 1 file changed, 329 insertions(+), 348 deletions(-)

diff --git a/test_plans/ice_dcf_switch_filter_test_plan.rst b/test_plans/ice_dcf_switch_filter_test_plan.rst
index 0d38c218..015f0006 100644
--- a/test_plans/ice_dcf_switch_filter_test_plan.rst
+++ b/test_plans/ice_dcf_switch_filter_test_plan.rst
@@ -202,10 +202,12 @@ Prerequisites
      modprobe vfio-pci
      ./usertools/dpdk-devbind.py -b vfio-pci 0000:18:01.0 0000:18:01.1 0000:18:01.2 0000:18:01.3
 
-9. Launch dpdk on VF0 and VF1, and VF0 request DCF mode::
+9. Launch dpdk on VF0 and VF1, and VF0 request DCF mode, representing VF1 and VF2::
 
-     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf -a 0000:18:01.1 -- -i
-     testpmd> set portlist 1
+     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 \
+     -a 0000:18:01.0,cap=dcf,representor=[1,2] -a 0000:18:01.1 -a 0000:18:01.2 \
+     -- -i
+     testpmd> set portlist 3,4
      testpmd> set fwd rxonly
      testpmd> set verbose 1
      testpmd> start
@@ -230,7 +232,7 @@ Test case: MAC_PAY
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth src is 00:00:00:00:00:01 dst is 00:11:22:33:44:55 type is 0x0800 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth src is 00:00:00:00:00:01 dst is 00:11:22:33:44:55 type is 0x0800 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -244,7 +246,7 @@ Test case: MAC_PAY
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth src is 00:00:00:00:00:01 dst is 00:11:22:33:44:55 type is 0x0800 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth src is 00:00:00:00:00:01 dst is 00:11:22:33:44:55 type is 0x0800 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -253,14 +255,14 @@ Test case: MAC_PAY
 
      sendp([Ether(src="00:00:00:00:00:01",dst="00:11:22:33:44:55")/IP()/Raw("x" *80)],iface="enp27s0f0",count=1)
 
-   check port 1 receive the packet.
+   check port 3 receive the packet.
    send mismatched packets::
 
      sendp([Ether(src="00:00:00:00:00:02",dst="00:11:22:33:44:55")/IP()/Raw("x" *80)],iface="enp27s0f0",count=1)
      sendp([Ether(src="00:00:00:00:00:01",dst="00:11:22:33:44:54")/IP()/Raw("x" *80)],iface="enp27s0f0",count=1)
      sendp([Ether(src="00:00:00:00:00:01",dst="00:11:22:33:44:55")/IPv6()/Raw("x" *80)],iface="enp27s0f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -268,14 +270,14 @@ Test case: MAC_PAY
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_FRAG
 ========================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 2 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 2 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -289,7 +291,7 @@ Test case: MAC_IPV4_FRAG
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 2 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 2 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -298,7 +300,7 @@ Test case: MAC_IPV4_FRAG
 
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2,frag=5)/("X"*480)], iface="enp27s0f0", count=1)
 
-   check port 1 receive the packet.
+   check port 3 receive the packet.
    send mismatched packets::
 
      sendp([Ether(dst="68:05:ca:8d:ed:a3")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2,frag=5)/("X"*480)], iface="enp27s0f0", count=1)
@@ -307,7 +309,7 @@ Test case: MAC_IPV4_FRAG
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=5,ttl=2,frag=5)/("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3,frag=5)/("X"*480)], iface="enp27s0f0", count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -315,14 +317,14 @@ Test case: MAC_IPV4_FRAG
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_PAY
 =======================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 proto is 6 tos is 4 ttl is 2 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 proto is 6 tos is 4 ttl is 2 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -336,7 +338,7 @@ Test case: MAC_IPV4_PAY
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 proto is 6 tos is 4 ttl is 2 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 proto is 6 tos is 4 ttl is 2 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -345,7 +347,7 @@ Test case: MAC_IPV4_PAY
 
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/("X"*480)], iface="enp27s0f0", count=1)
 
-   check port 1 receive the packet.
+   check port 3 receive the packet.
    send mismatched packets::
 
      sendp([Ether(dst="68:05:ca:8d:ed:a3")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/("X"*480)], iface="enp27s0f0", count=1)
@@ -355,7 +357,7 @@ Test case: MAC_IPV4_PAY
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/TCP()/("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/UDP()/("X"*480)], iface="enp27s0f0", count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -363,14 +365,14 @@ Test case: MAC_IPV4_PAY
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_UDP_PAY
 ===========================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -384,7 +386,7 @@ Test case: MAC_IPV4_UDP_PAY
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -393,7 +395,7 @@ Test case: MAC_IPV4_UDP_PAY
 
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/UDP(sport=25,dport=23)/("X"*480)], iface="enp27s0f0", count=1)
 
-   check port 1 receive the packet.
+   check port 3 receive the packet.
    send mismatched packets::
 
      sendp([Ether(dst="68:05:ca:8d:ed:a3")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/UDP(sport=25,dport=23)/("X"*480)], iface="enp27s0f0", count=1)
@@ -404,7 +406,7 @@ Test case: MAC_IPV4_UDP_PAY
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/UDP(sport=30,dport=23)/("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/UDP(sport=25,dport=19)/("X"*480)], iface="enp27s0f0", count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -412,14 +414,14 @@ Test case: MAC_IPV4_UDP_PAY
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_TCP_PAY
 ===========================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -433,7 +435,7 @@ Test case: MAC_IPV4_TCP_PAY
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -442,7 +444,7 @@ Test case: MAC_IPV4_TCP_PAY
 
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/TCP(sport=25,dport=23)/("X"*480)], iface="enp27s0f0", count=1)
 
-   check port 1 receive the packet.
+   check port 3 receive the packet.
    send mismatched packets::
 
      sendp([Ether(dst="68:05:ca:8d:ed:a3")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/TCP(sport=25,dport=23)/("X"*480)], iface="enp27s0f0", count=1)
@@ -453,7 +455,7 @@ Test case: MAC_IPV4_TCP_PAY
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/TCP(sport=30,dport=23)/("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/TCP(sport=25,dport=19)/("X"*480)], iface="enp27s0f0", count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -461,14 +463,14 @@ Test case: MAC_IPV4_TCP_PAY
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_IGMP
 ========================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv4 proto is 0x02 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv4 proto is 0x02 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -482,7 +484,7 @@ Test case: MAC_IPV4_IGMP
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 proto is 0x02 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 proto is 0x02 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -491,13 +493,13 @@ Test case: MAC_IPV4_IGMP
 
      sendp([Ether(dst="00:11:22:33:44:55")/IP()/IGMP()/Raw("X"*480)], iface="enp27s0f0", count=1)
 
-   check port 1 receive the packet.
+   check port 3 receive the packet.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:55")/IP()/TCP()/Raw("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/Raw("X"*480)], iface="enp27s0f0", count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -505,7 +507,7 @@ Test case: MAC_IPV4_IGMP
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV6_srcip_dstip
 ===============================
@@ -515,7 +517,7 @@ Therefore, if a rule carries src ipv6, dst ipv6, it can not take any other field
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -529,7 +531,7 @@ Therefore, if a rule carries src ipv6, dst ipv6, it can not take any other field
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -539,7 +541,7 @@ Therefore, if a rule carries src ipv6, dst ipv6, it can not take any other field
      sendp([Ether(dst="00:11:22:33:44:55")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="00:11:22:33:44:55")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrFragment()/("X"*480)], iface="enp27s0f0", count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:55")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X"*480)], iface="enp27s0f0", count=1)
@@ -547,7 +549,7 @@ Therefore, if a rule carries src ipv6, dst ipv6, it can not take any other field
      sendp([Ether(dst="00:11:22:33:44:55")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrFragment()/("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="00:11:22:33:44:55")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/IPv6ExtHdrFragment()/("X"*480)], iface="enp27s0f0", count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -555,14 +557,14 @@ Therefore, if a rule carries src ipv6, dst ipv6, it can not take any other field
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV6_dstip_tc
 ============================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -576,7 +578,7 @@ Test case: MAC_IPV6_dstip_tc
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -586,7 +588,7 @@ Test case: MAC_IPV6_dstip_tc
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/IPv6ExtHdrFragment()/("X"*480)], iface="enp27s0f0", count=1)
 
-   check port 1 receive the packet.
+   check port 3 receive the packet.
    send mismatched packets::
 
      sendp([Ether(dst="68:05:ca:8d:ed:a3")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/("X"*480)], iface="enp27s0f0", count=1)
@@ -596,7 +598,7 @@ Test case: MAC_IPV6_dstip_tc
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2023",tc=3)/IPv6ExtHdrFragment()/("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=4)/IPv6ExtHdrFragment()/("X"*480)], iface="enp27s0f0", count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -604,14 +606,14 @@ Test case: MAC_IPV6_dstip_tc
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV6_UDP_PAY
 ===========================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -625,7 +627,7 @@ Test case: MAC_IPV6_UDP_PAY
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -634,7 +636,7 @@ Test case: MAC_IPV6_UDP_PAY
 
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/UDP(sport=25,dport=23)/("X"*480)], iface="enp27s0f0",count=1)
 
-   check port 1 receive the packet.
+   check port 3 receive the packet.
    send mismatched packets::
 
      sendp([Ether(dst="68:05:ca:8d:ed:a3")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/UDP(sport=25,dport=23)/("X"*480)], iface="enp27s0f0",count=1)
@@ -643,7 +645,7 @@ Test case: MAC_IPV6_UDP_PAY
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/UDP(sport=30,dport=23)/("X"*480)], iface="enp27s0f0",count=1)
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/UDP(sport=25,dport=19)/("X"*480)], iface="enp27s0f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -651,14 +653,14 @@ Test case: MAC_IPV6_UDP_PAY
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV6_TCP
 =======================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -672,7 +674,7 @@ Test case: MAC_IPV6_TCP
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -681,7 +683,7 @@ Test case: MAC_IPV6_TCP
 
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/TCP(sport=25,dport=23)/("X"*480)], iface="enp27s0f0", count=1)
 
-   check port 1 receive the packet.
+   check port 3 receive the packet.
    send mismatched packets::
 
      sendp([Ether(dst="68:05:ca:8d:ed:a3")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/TCP(sport=25,dport=23)/("X"*480)], iface="enp27s0f0", count=1)
@@ -690,7 +692,7 @@ Test case: MAC_IPV6_TCP
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/TCP(sport=30,dport=23)/("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/TCP(sport=25,dport=19)/("X"*480)], iface="enp27s0f0", count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -698,14 +700,14 @@ Test case: MAC_IPV6_TCP
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_VXLAN_IPV4_FRAG (not support in 20.05)
 ==========================================================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -719,7 +721,7 @@ Test case: MAC_IPV4_VXLAN_IPV4_FRAG (not support in 20.05)
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -729,7 +731,7 @@ Test case: MAC_IPV4_VXLAN_IPV4_FRAG (not support in 20.05)
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3",frag=5)/TCP()/Raw("x"*80)],iface="enp27s0f0",count=1)
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3",frag=5)/Raw("x"*80)],iface="enp27s0f0",count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether()/IP(dst="192.168.0.2")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3",frag=5)/Raw("x"*80)],iface="enp27s0f0",count=1)
@@ -737,7 +739,7 @@ Test case: MAC_IPV4_VXLAN_IPV4_FRAG (not support in 20.05)
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.4", dst="192.168.0.3",frag=5)/Raw("x"*80)],iface="enp27s0f0",count=1)
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.5",frag=5)/Raw("x"*80)],iface="enp27s0f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -745,14 +747,14 @@ Test case: MAC_IPV4_VXLAN_IPV4_FRAG (not support in 20.05)
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_VXLAN_IPV4_PAY (not support in 20.05)
 =========================================================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -766,7 +768,7 @@ Test case: MAC_IPV4_VXLAN_IPV4_PAY (not support in 20.05)
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -776,7 +778,7 @@ Test case: MAC_IPV4_VXLAN_IPV4_PAY (not support in 20.05)
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/TCP()/Raw("x"*80)],iface="enp27s0f0",count=1)
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/Raw("x"*80)],iface="enp27s0f0",count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether()/IP(dst="192.168.0.2")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/TCP()/Raw("x"*80)],iface="enp27s0f0",count=1)
@@ -784,7 +786,7 @@ Test case: MAC_IPV4_VXLAN_IPV4_PAY (not support in 20.05)
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.4", dst="192.168.0.3")/TCP()/Raw("x"*80)],iface="enp27s0f0",count=1)
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.5")/TCP()/Raw("x"*80)],iface="enp27s0f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -792,14 +794,14 @@ Test case: MAC_IPV4_VXLAN_IPV4_PAY (not support in 20.05)
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_VXLAN_IPV4_UDP_PAY (not support in 20.05)
 =============================================================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -813,7 +815,7 @@ Test case: MAC_IPV4_VXLAN_IPV4_UDP_PAY (not support in 20.05)
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -822,13 +824,13 @@ Test case: MAC_IPV4_VXLAN_IPV4_UDP_PAY (not support in 20.05)
 
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=50,dport=23) /Raw("x"*80)],iface="enp27s0f0",count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=20,dport=23) /Raw("x"*80)],iface="enp27s0f0",count=1)
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=50,dport=19) /Raw("x"*80)],iface="enp27s0f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -836,14 +838,14 @@ Test case: MAC_IPV4_VXLAN_IPV4_UDP_PAY (not support in 20.05)
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_VXLAN_IPV4_TCP (not support in 20.05)
 =========================================================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / tcp src is 50 dst is 23 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / tcp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -857,7 +859,7 @@ Test case: MAC_IPV4_VXLAN_IPV4_TCP (not support in 20.05)
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / tcp src is 50 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / tcp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -866,13 +868,13 @@ Test case: MAC_IPV4_VXLAN_IPV4_TCP (not support in 20.05)
 
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/TCP(sport=50,dport=23)/Raw("x"*80)],iface="enp27s0f0",count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/TCP(sport=29,dport=23)/Raw("x"*80)],iface="enp27s0f0",count=1)
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/TCP(sport=50,dport=100)/Raw("x"*80)],iface="enp27s0f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -880,14 +882,14 @@ Test case: MAC_IPV4_VXLAN_IPV4_TCP (not support in 20.05)
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_VXLAN_MAC_IPV4_FRAG (not support in 20.05)
 ==============================================================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -901,7 +903,7 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_FRAG (not support in 20.05)
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -911,7 +913,7 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_FRAG (not support in 20.05)
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.3" ,frag=5)/TCP()/Raw("x"*80)],iface="enp27s0f0",count=1)
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.3" ,frag=5)/Raw("x"*80)],iface="enp27s0f0",count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether()/IP(dst="192.168.0.2")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.3" ,frag=5)/TCP()/Raw("x"*80)],iface="enp27s0f0",count=1)
@@ -920,7 +922,7 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_FRAG (not support in 20.05)
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.4", dst="192.168.0.3" ,frag=5)/TCP()/Raw("x"*80)],iface="enp27s0f0",count=1)
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.5" ,frag=5)/TCP()/Raw("x"*80)],iface="enp27s0f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -928,14 +930,14 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_FRAG (not support in 20.05)
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_VXLAN_MAC_IPV4_PAY (not support in 20.05)
 =============================================================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -949,7 +951,7 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_PAY (not support in 20.05)
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -959,7 +961,7 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_PAY (not support in 20.05)
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.3") /TCP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.3")/Raw("x" * 80)],iface="enp27s0f0",count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether()/IP(dst="192.168.0.2")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.3") /TCP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
@@ -968,7 +970,7 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_PAY (not support in 20.05)
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.4", dst="192.168.0.3") /TCP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.5") /TCP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -976,14 +978,14 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_PAY (not support in 20.05)
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_VXLAN_MAC_IPV4_UDP_PAY (not support in 20.05)
 =================================================================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -997,7 +999,7 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_UDP_PAY (not support in 20.05)
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1006,13 +1008,13 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_UDP_PAY (not support in 20.05)
 
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=50,dport=23)/Raw("x" * 80)],iface="enp27s0f0",count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=20,dport=23)/Raw("x" * 80)],iface="enp27s0f0",count=1)
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=50,dport=29)/Raw("x" * 80)],iface="enp27s0f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -1020,14 +1022,14 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_UDP_PAY (not support in 20.05)
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_VXLAN_MAC_IPV4_TCP (not support in 20.05)
 =============================================================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / tcp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1041,7 +1043,7 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_TCP (not support in 20.05)
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / tcp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1050,13 +1052,13 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_TCP (not support in 20.05)
 
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.3")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="enp27s0f0",count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.3")/TCP(sport=20,dport=23)/Raw("x" * 80)],iface="enp27s0f0",count=1)
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.3")/TCP(sport=25,dport=19)/Raw("x" * 80)],iface="enp27s0f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -1064,14 +1066,14 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_TCP (not support in 20.05)
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_NVGRE_IPV4_PAY
 ===================================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1085,7 +1087,7 @@ Test case: MAC_IPV4_NVGRE_IPV4_PAY
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1095,7 +1097,7 @@ Test case: MAC_IPV4_NVGRE_IPV4_PAY
      sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.2", dst="192.168.1.3")/Raw("x"*80)],iface="enp27s0f0",count=1)
      sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.2", dst="192.168.1.3" ,frag=5)/Raw("x"*80)],iface="enp27s0f0",count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether()/IP(dst="192.168.0.2")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.2", dst="192.168.1.3")/Raw("x"*80)],iface="enp27s0f0",count=1)
@@ -1107,7 +1109,7 @@ Test case: MAC_IPV4_NVGRE_IPV4_PAY
      sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.4", dst="192.168.1.3" ,frag=5)/Raw("x"*80)],iface="enp27s0f0",count=1)
      sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.2", dst="192.168.1.5" ,frag=5)/Raw("x"*80)],iface="enp27s0f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -1115,14 +1117,14 @@ Test case: MAC_IPV4_NVGRE_IPV4_PAY
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_NVGRE_IPV4_UDP_PAY
 ======================================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1136,7 +1138,7 @@ Test case: MAC_IPV4_NVGRE_IPV4_UDP_PAY
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1145,7 +1147,7 @@ Test case: MAC_IPV4_NVGRE_IPV4_UDP_PAY
 
      sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=0x8)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=50,dport=23)/Raw("x"*80)], iface="enp27s0f0", count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether()/IP(dst="192.168.0.2")/NVGRE(TNI=0x8)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=50,dport=23)/Raw("x"*80)], iface="enp27s0f0", count=1)
@@ -1155,7 +1157,7 @@ Test case: MAC_IPV4_NVGRE_IPV4_UDP_PAY
      sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=0x8)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=20,dport=23)/Raw("x"*80)], iface="enp27s0f0", count=1)
      sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=0x8)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=50,dport=19)/Raw("x"*80)], iface="enp27s0f0", count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -1163,14 +1165,14 @@ Test case: MAC_IPV4_NVGRE_IPV4_UDP_PAY
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_NVGRE_IPV4_TCP
 ==================================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1184,7 +1186,7 @@ Test case: MAC_IPV4_NVGRE_IPV4_TCP
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1193,7 +1195,7 @@ Test case: MAC_IPV4_NVGRE_IPV4_TCP
 
      sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.2", dst="192.168.1.3")/TCP(sport=25,dport=23)/Raw("x"*80)],iface="enp27s0f0",count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether()/IP(dst="192.168.0.2")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.2", dst="192.168.1.3")/TCP(sport=25,dport=23)/Raw("x"*80)],iface="enp27s0f0",count=1)
@@ -1203,7 +1205,7 @@ Test case: MAC_IPV4_NVGRE_IPV4_TCP
      sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.2", dst="192.168.1.3")/TCP(sport=20,dport=23)/Raw("x"*80)],iface="enp27s0f0",count=1)
      sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.2", dst="192.168.1.3")/TCP(sport=25,dport=39)/Raw("x"*80)],iface="enp27s0f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -1211,14 +1213,14 @@ Test case: MAC_IPV4_NVGRE_IPV4_TCP
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_NVGRE_MAC_IPV4_PAY
 ======================================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1232,7 +1234,7 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_PAY
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1242,7 +1244,7 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_PAY
      sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/Raw("x"*80)],iface="enp27s0f0",count=1)
      sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3" ,frag=5)/Raw("x"*80)],iface="enp27s0f0",count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether()/IP(dst="192.168.0.2")/NVGRE(TNI=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/Raw("x"*80)],iface="enp27s0f0",count=1)
@@ -1256,7 +1258,7 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_PAY
      sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.4", dst="192.168.1.3" ,frag=5)/Raw("x"*80)],iface="enp27s0f0",count=1)
      sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.5" ,frag=5)/Raw("x"*80)],iface="enp27s0f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -1264,14 +1266,14 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_PAY
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_NVGRE_MAC_IPV4_UDP_PAY
 ==========================================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 /  eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 /  eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1285,7 +1287,7 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_UDP_PAY
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 /  eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 /  eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1294,7 +1296,7 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_UDP_PAY
 
      sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=0x8)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/UDP(sport=25,dport=23)/Raw("x"*80)], iface="enp27s0f0", count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether()/IP(dst="192.168.0.2")/NVGRE(TNI=0x8)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/UDP(sport=25,dport=23)/Raw("x"*80)], iface="enp27s0f0", count=1)
@@ -1305,7 +1307,7 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_UDP_PAY
      sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=0x8)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/UDP(sport=2,dport=23)/Raw("x"*80)], iface="enp27s0f0", count=1)
      sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=0x8)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/UDP(sport=25,dport=20)/Raw("x"*80)], iface="enp27s0f0", count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -1313,14 +1315,14 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_UDP_PAY
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_NVGRE_MAC_IPV4_TCP
 ======================================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1334,7 +1336,7 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_TCP
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1343,7 +1345,7 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_TCP
 
      sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/TCP(sport=25,dport=23)/Raw("x"*80)],iface="enp27s0f0",count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether()/IP(dst="192.168.0.2")/NVGRE(TNI=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/TCP(sport=25,dport=23)/Raw("x"*80)],iface="enp27s0f0",count=1)
@@ -1354,7 +1356,7 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_TCP
      sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/TCP(sport=1,dport=23)/Raw("x"*80)],iface="enp27s0f0",count=1)
      sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/TCP(sport=25,dport=20)/Raw("x"*80)],iface="enp27s0f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -1362,14 +1364,14 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_TCP
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_PFCP_NODE
 =============================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1383,7 +1385,7 @@ Test case: MAC_IPV4_PFCP_NODE
 
 2. DUT create switch filter rules for MAC_IPV4_PFCP_NODE to VF1::
 
-    flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf id 1 / end
+    flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end
 
    check the rule exists in the list.
 
@@ -1395,14 +1397,14 @@ Test case: MAC_IPV4_PFCP_NODE
 
     sendp(Ether(dst="00:11:22:33:44:11")/IP()/UDP(dport=8805)/PFCP(Sfield=0),iface="enp134s0f1")
 
-   check port 1 receive the packet.
+   check port 3 receive the packet.
    send mismatched packets::
 
     sendp(Ether(dst="00:11:22:33:44:11")/IP()/UDP(dport=8805)/PFCP(Sfield=1),iface="enp134s0f1")
     sendp(Ether(dst="00:11:22:33:44:11")/IPv6()/UDP(dport=8805)/PFCP(Sfield=0),iface="enp134s0f1")
     sendp(Ether(dst="00:11:22:33:44:11")/IPv6()/UDP(dport=8805)/PFCP(Sfield=1),iface="enp134s0f1")
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -1410,14 +1412,14 @@ Test case: MAC_IPV4_PFCP_NODE
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_PFCP_SESSION
 ================================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions vf id 2 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 2 / end
 
    get the message::
 
@@ -1431,7 +1433,7 @@ Test case: MAC_IPV4_PFCP_SESSION
 
 2. DUT create switch filter rules for MAC_IPV4_PFCP_SESSION to VF2::
 
-    flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions vf id 2 / end
+    flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 2 / end
 
    check the rule exists in the list.
 
@@ -1443,14 +1445,14 @@ Test case: MAC_IPV4_PFCP_SESSION
 
     sendp(Ether(dst="00:11:22:33:44:11")/IP()/UDP(dport=8805)/PFCP(Sfield=1),iface="enp134s0f1")
 
-   check port 2 receive the packet.
+   check port 4 receive the packet.
    send mismatched packets::
 
     sendp(Ether(dst="00:11:22:33:44:11")/IP()/UDP(dport=8805)/PFCP(Sfield=0),iface="enp134s0f1")
     sendp(Ether(dst="00:11:22:33:44:11")/IPv6()/UDP(dport=8805)/PFCP(Sfield=0),iface="enp134s0f1")
     sendp(Ether(dst="00:11:22:33:44:11")/IPv6()/UDP(dport=8805)/PFCP(Sfield=1),iface="enp134s0f1")
 
-   check the packets are not to port 2.
+   check the packets are not to port 4.
 
 4. verify rules can be destroyed::
 
@@ -1458,14 +1460,14 @@ Test case: MAC_IPV4_PFCP_SESSION
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 2.
+   send matched packets, check the packets are not to port 4.
 
 Test case: MAC_IPV6_PFCP_NODE
 =============================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions vf id 3 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 3 / end
 
    get the message::
 
@@ -1479,7 +1481,7 @@ Test case: MAC_IPV6_PFCP_NODE
 
 2. DUT create switch filter rules for MAC_IPV6_PFCP_NODE to VF3::
 
-    flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions vf id 3 / end
+    flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 3 / end
 
    check the rule exists in the list.
 
@@ -1513,7 +1515,7 @@ Test case: MAC_IPV6_PFCP_SESSION
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1527,7 +1529,7 @@ Test case: MAC_IPV6_PFCP_SESSION
 
 2. DUT create switch filter rules for MAC_IPV6_PFCP_SESSION to VF1::
 
-    flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions vf id 1 / end
+    flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 1 / end
 
    check the rule exists in the list.
 
@@ -1539,14 +1541,14 @@ Test case: MAC_IPV6_PFCP_SESSION
 
     sendp(Ether(dst="00:11:22:33:44:11")/IPv6()/UDP(dport=8805)/PFCP(Sfield=1),iface="enp134s0f1")
 
-   check port 1 receive the packet.
+   check port 3 receive the packet.
    send mismatched packets::
 
     sendp(Ether(dst="00:11:22:33:44:11")/IP()/UDP(dport=8805)/PFCP(Sfield=0),iface="enp134s0f1")
     sendp(Ether(dst="00:11:22:33:44:11")/IP()/UDP(dport=8805)/PFCP(Sfield=1),iface="enp134s0f1")
     sendp(Ether(dst="00:11:22:33:44:11")/IPv6()/UDP(dport=8805)/PFCP(Sfield=0),iface="enp134s0f1")
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -1554,14 +1556,14 @@ Test case: MAC_IPV6_PFCP_SESSION
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: IP multicast
 =======================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv4 dst spec 224.0.0.0 dst mask 240.0.0.0 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv4 dst spec 224.0.0.0 dst mask 240.0.0.0 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1575,7 +1577,7 @@ Test case: IP multicast
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 dst spec 224.0.0.0 dst mask 240.0.0.0 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 dst spec 224.0.0.0 dst mask 240.0.0.0 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1584,12 +1586,12 @@ Test case: IP multicast
 
      sendp([Ether()/IP(dst="239.0.0.0")/TCP()/Raw("x"*80)], iface="enp27s0f0", count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether()/IP(dst="128.0.0.0")/TCP()/Raw("x"*80)], iface="enp27s0f0", count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -1597,14 +1599,14 @@ Test case: IP multicast
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: L2 multicast
 =======================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth dst spec 01:00:5e:00:00:00 dst mask ff:ff:ff:80:00:00 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth dst spec 01:00:5e:00:00:00 dst mask ff:ff:ff:80:00:00 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1618,7 +1620,7 @@ Test case: L2 multicast
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth dst spec 01:00:5e:00:00:00 dst mask ff:ff:ff:80:00:00 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst spec 01:00:5e:00:00:00 dst mask ff:ff:ff:80:00:00 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1627,12 +1629,12 @@ Test case: L2 multicast
 
      sendp([Ether(dst="01:00:5e:7f:00:00")/IP()/TCP()/Raw("x"*80)], iface="enp27s0f0", count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether(dst="01:00:5e:ff:00:00")/IP()/TCP()/Raw("x"*80)], iface="enp27s0f0", count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -1640,14 +1642,14 @@ Test case: L2 multicast
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: ethertype filter_PPPOD
 =================================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth type is 0x8863 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth type is 0x8863 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1661,7 +1663,7 @@ Test case: ethertype filter_PPPOD
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth type is 0x8863 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth type is 0x8863 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1670,12 +1672,12 @@ Test case: ethertype filter_PPPOD
 
      sendp([Ether(dst="00:11:22:33:44:55")/PPPoED()/PPP()/IP()/Raw("x" *80)],iface="enp27s0f0",count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:55")/PPPoE()/PPP()/IP()/Raw("x" *80)],iface="enp27s0f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -1683,14 +1685,14 @@ Test case: ethertype filter_PPPOD
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: ethertype filter_PPPOE
 =================================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth type is 0x8864 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth type is 0x8864 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1704,7 +1706,7 @@ Test case: ethertype filter_PPPOE
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth type is 0x8864 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth type is 0x8864 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1713,12 +1715,12 @@ Test case: ethertype filter_PPPOE
 
      sendp([Ether(dst="00:11:22:33:44:55")/PPPoE()/PPP()/IP()/Raw("x"*80)],iface="enp27s0f0",count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:55")/PPPoED()/PPP()/IP()/Raw("x"*80)],iface="enp27s0f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -1726,14 +1728,14 @@ Test case: ethertype filter_PPPOE
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: ethertype filter_IPV6
 =================================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth type is 0x86dd / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth type is 0x86dd / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1747,7 +1749,7 @@ Test case: ethertype filter_IPV6
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth type is 0x86dd / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth type is 0x86dd / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1757,12 +1759,12 @@ Test case: ethertype filter_IPV6
      sendp([Ether(dst="00:11:22:33:44:55")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020", tc=3)/TCP(dport=23)/("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020", tc=3)/TCP(dport=23)/("X"*480)], iface="enp27s0f0", count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:55")/IP()/TCP(dport=23)/("X"*480)], iface="enp27s0f0", count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -1770,7 +1772,7 @@ Test case: ethertype filter_IPV6
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: UDP port filter_DHCP discovery
 =========================================
@@ -1780,7 +1782,7 @@ Therefore, for DHCP discovery packets, the udp srcport is 68 and the dstport is
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv4 / udp src is 68 dst is 67 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv4 / udp src is 68 dst is 67 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1794,7 +1796,7 @@ Therefore, for DHCP discovery packets, the udp srcport is 68 and the dstport is
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 / udp src is 68 dst is 67 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 / udp src is 68 dst is 67 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1803,13 +1805,13 @@ Therefore, for DHCP discovery packets, the udp srcport is 68 and the dstport is
 
      sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(sport=68,dport=67)/BOOTP(chaddr="3c:fd:fe:b2:43:90")/DHCP(options=[("message-type","discover"),"end"])/Raw("X"*480)], iface="enp27s0f0", count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(sport=63,dport=67)/BOOTP(chaddr="3c:fd:fe:b2:43:90")/DHCP(options=[("message-type","discover"),"end"])/Raw("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(sport=68,dport=69)/BOOTP(chaddr="3c:fd:fe:b2:43:90")/DHCP(options=[("message-type","discover"),"end"])/Raw("X"*480)], iface="enp27s0f0", count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -1817,7 +1819,7 @@ Therefore, for DHCP discovery packets, the udp srcport is 68 and the dstport is
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: UDP port filter_DHCP offer
 =====================================
@@ -1826,7 +1828,7 @@ Description: For DHCP offer packets, the udp srcport is 67 and the dstport is 68
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv4 / udp src is 67 dst is 68 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv4 / udp src is 67 dst is 68 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1840,7 +1842,7 @@ Description: For DHCP offer packets, the udp srcport is 67 and the dstport is 68
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 / udp src is 67 dst is 68 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 / udp src is 67 dst is 68 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1849,13 +1851,13 @@ Description: For DHCP offer packets, the udp srcport is 67 and the dstport is 68
 
      sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(sport=67,dport=68)/BOOTP(chaddr="3c:fd:fe:b2:43:90",yiaddr="192.168.1.0")/DHCP(options=[("message-type","offer"),"end"])/Raw("X"*480)], iface="enp27s0f0", count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(sport=63,dport=68)/BOOTP(chaddr="3c:fd:fe:b2:43:90",yiaddr="192.168.1.0")/DHCP(options=[("message-type","offer"),"end"])/Raw("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(sport=67,dport=63)/BOOTP(chaddr="3c:fd:fe:b2:43:90",yiaddr="192.168.1.0")/DHCP(options=[("message-type","offer"),"end"])/Raw("X"*480)], iface="enp27s0f0", count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -1863,7 +1865,7 @@ Description: For DHCP offer packets, the udp srcport is 67 and the dstport is 68
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: UDP port filter_VXLAN
 ================================
@@ -1872,7 +1874,7 @@ Description: The UDP dst port number used by VXLAN is 4789.
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv4 / udp dst is 4789 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv4 / udp dst is 4789 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1886,7 +1888,7 @@ Description: The UDP dst port number used by VXLAN is 4789.
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 / udp dst is 4789 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 / udp dst is 4789 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1895,12 +1897,12 @@ Description: The UDP dst port number used by VXLAN is 4789.
 
      sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3",frag=5)/TCP()/Raw("x"*80)],iface="enp27s0f0",count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.2", dst="192.168.1.3")/TCP()/Raw("x"*80)],iface="enp27s0f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -1908,14 +1910,14 @@ Description: The UDP dst port number used by VXLAN is 4789.
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_VLAN filter
 ==========================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1929,7 +1931,7 @@ Test case: MAC_VLAN filter
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1938,13 +1940,13 @@ Test case: MAC_VLAN filter
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1)/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/Raw("X"*480)],iface="enp27s0f0",count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:54",type=0x8100)/Dot1Q(vlan=1)/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/Raw("X"*480)],iface="enp27s0f0",count=1)
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2)/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/Raw("X"*480)],iface="enp27s0f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -1952,14 +1954,14 @@ Test case: MAC_VLAN filter
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: VLAN filter
 ======================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -1973,7 +1975,7 @@ Test case: VLAN filter
 
 2. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -1982,12 +1984,12 @@ Test case: VLAN filter
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1)/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/Raw("X"*480)],iface="enp27s0f0",count=1)
 
-   check port 1 receive the packets.
+   check port 3 receive the packets.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2)/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/Raw("X"*480)],iface="enp27s0f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -1995,14 +1997,14 @@ Test case: VLAN filter
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_L2TPv3
 ==========================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions vf id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -2016,7 +2018,7 @@ Test case: MAC_IPV4_L2TPv3
 
 2. create a rule::
 
-     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions vf id 1 / end
+     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -2025,14 +2027,14 @@ Test case: MAC_IPV4_L2TPv3
 
      sendp([Ether(dst='00:11:22:33:44:12')/IP(src='192.168.0.2', proto=115)/L2TP('\x00\x00\x00\x01')/('X'*480)], iface="enp27s0f0", count=1)
 
-   check port 1 receive the packet.
+   check port 3 receive the packet.
    send mismatched packets::
 
      sendp([Ether(dst='00:11:22:33:44:12')/IP(src='192.168.0.2', proto=115)/L2TP('\x00\x00\x00\x02')/('X'*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst='00:11:22:33:44:12')/IP(src='192.168.1.2', proto=115)/L2TP('\x00\x00\x00\x01')/('X'*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst='00:11:22:33:44:12')/IP(dst='192.168.0.2', proto=115)/L2TP('\x00\x00\x00\x01')/('X'*480)], iface="enp27s0f0", count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -2040,14 +2042,14 @@ Test case: MAC_IPV4_L2TPv3
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV6_L2TPv3
 ==========================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / l2tpv3oip session_id is 1 / end actions vf id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -2061,7 +2063,7 @@ Test case: MAC_IPV6_L2TPv3
 
 2. create a rule::
 
-     testpmd> flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / l2tpv3oip session_id is 1 / end actions vf id 1 / end
+     testpmd> flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -2070,14 +2072,14 @@ Test case: MAC_IPV6_L2TPv3
 
      sendp([Ether(dst='00:11:22:33:44:13')/IPv6(dst='1111:2222:3333:4444:5555:6666:7777:8888', nh=115)/L2TP('\x00\x00\x00\x01')/('X'*480)], iface="enp27s0f0", count=1)
 
-   check port 1 receive the packet.
+   check port 3 receive the packet.
    send mismatched packets::
 
      sendp([Ether(dst='00:11:22:33:44:13')/IPv6(dst='1111:2222:3333:4444:5555:6666:7777:8888', nh=115)/L2TP('\x00\x00\x00\x02')/('X'*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst='00:11:22:33:44:13')/IPv6(dst='1111:2222:3333:4444:5555:6666:7777:9999', nh=115)/L2TP('\x00\x00\x00\x01')/('X'*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst='00:11:22:33:44:13')/IPv6(src='1111:2222:3333:4444:5555:6666:7777:8888', nh=115)/L2TP('\x00\x00\x00\x01')/('X'*480)], iface="enp27s0f0", count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -2085,14 +2087,14 @@ Test case: MAC_IPV6_L2TPv3
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_ESP
 =======================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions vf id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -2106,7 +2108,7 @@ Test case: MAC_IPV4_ESP
 
 2. create a rule::
 
-     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions vf id 1 / end
+     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -2115,14 +2117,14 @@ Test case: MAC_IPV4_ESP
 
      sendp([Ether(dst="00:11:22:33:44:13")/IP(src="192.168.0.2", proto=50)/ESP(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
 
-   check port 1 receive the packet.
+   check port 3 receive the packet.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:13")/IP(src="192.168.0.2", proto=50)/ESP(spi=2)/("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="00:11:22:33:44:13")/IP(src="192.168.1.2", proto=50)/ESP(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="00:11:22:33:44:13")/IP(dst="192.168.0.2", proto=50)/ESP(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -2130,14 +2132,14 @@ Test case: MAC_IPV4_ESP
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV6_ESP
 =======================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / esp spi is 1 / end actions vf id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -2151,7 +2153,7 @@ Test case: MAC_IPV6_ESP
 
 2. create a rule::
 
-     testpmd> flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / esp spi is 1 / end actions vf id 1 / end
+     testpmd> flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -2160,14 +2162,14 @@ Test case: MAC_IPV6_ESP
 
      sendp([Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888", nh=50)/ESP(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
 
-   check port 1 receive the packet.
+   check port 3 receive the packet.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888", nh=50)/ESP(spi=2)/("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:9999", nh=50)/ESP(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="00:11:22:33:44:13")/IPv6(src="1111:2222:3333:4444:5555:6666:7777:8888", nh=50)/ESP(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -2175,14 +2177,14 @@ Test case: MAC_IPV6_ESP
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_AH
 ======================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions vf id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -2196,7 +2198,7 @@ Test case: MAC_IPV4_AH
 
 2. create a rule::
 
-     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions vf id 1 / end
+     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -2205,14 +2207,14 @@ Test case: MAC_IPV4_AH
 
      sendp([Ether(dst="00:11:22:33:44:13")/IP(src="192.168.0.2", proto=51)/AH(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
 
-   check port 1 receive the packet.
+   check port 3 receive the packet.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:13")/IP(src="192.168.0.2", proto=51)/AH(spi=2)/("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="00:11:22:33:44:13")/IP(src="192.168.1.2", proto=51)/AH(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="00:11:22:33:44:13")/IP(dst="192.168.0.2", proto=51)/AH(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -2220,14 +2222,14 @@ Test case: MAC_IPV4_AH
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV6_AH
 ======================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / ah spi is 1 / end actions vf id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / ah spi is 1 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -2241,7 +2243,7 @@ Test case: MAC_IPV6_AH
 
 2. create a rule::
 
-     testpmd> flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / ah spi is 1 / end actions vf id 1 / end
+     testpmd> flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / ah spi is 1 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -2250,14 +2252,14 @@ Test case: MAC_IPV6_AH
 
      sendp([Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888", nh=51)/AH(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
 
-   check port 1 receive the packet.
+   check port 3 receive the packet.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888", nh=51)/AH(spi=2)/("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:9999", nh=51)/AH(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="00:11:22:33:44:13")/IPv6(src="1111:2222:3333:4444:5555:6666:7777:8888", nh=51)/AH(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -2265,14 +2267,14 @@ Test case: MAC_IPV6_AH
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV4_NAT-T-ESP
 =============================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions vf id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -2286,7 +2288,7 @@ Test case: MAC_IPV4_NAT-T-ESP
 
 2. create a rule::
 
-     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions vf id 1 / end
+     testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -2295,14 +2297,14 @@ Test case: MAC_IPV4_NAT-T-ESP
 
      sendp([Ether(dst="00:11:22:33:44:13")/IP(src="192.168.0.2")/UDP(dport=4500)/ESP(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
 
-   check port 1 receive the packet.
+   check port 3 receive the packet.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:13")/IP(src="192.168.0.2")/UDP(dport=4500)/ESP(spi=2)/("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="00:11:22:33:44:13")/IP(src="192.168.1.2")/UDP(dport=4500)/ESP(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="00:11:22:33:44:13")/IP(dst="192.168.0.2")/UDP(dport=4500)/ESP(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -2310,14 +2312,14 @@ Test case: MAC_IPV4_NAT-T-ESP
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: MAC_IPV6_NAT-T-ESP
 =============================
 
 1. validate a rule::
 
-     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / udp / esp spi is 1 / end actions vf id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
 
    get the message::
 
@@ -2331,7 +2333,7 @@ Test case: MAC_IPV6_NAT-T-ESP
 
 2. create a rule::
 
-     testpmd> flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / udp / esp spi is 1 / end actions vf id 1 / end
+     testpmd> flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -2340,14 +2342,14 @@ Test case: MAC_IPV6_NAT-T-ESP
 
      sendp([Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888")/UDP(dport=4500)/ESP(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
 
-   check port 1 receive the packet.
+   check port 3 receive the packet.
    send mismatched packets::
 
      sendp([Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888")/UDP(dport=4500)/ESP(spi=2)/("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:9999")/UDP(dport=4500)/ESP(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
      sendp([Ether(dst="00:11:22:33:44:13")/IPv6(src="1111:2222:3333:4444:5555:6666:7777:8888")/UDP(dport=4500)/ESP(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 4. verify rules can be destroyed::
 
@@ -2355,7 +2357,7 @@ Test case: MAC_IPV6_NAT-T-ESP
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test Case: multirules test
 ==========================
@@ -2363,18 +2365,18 @@ Test Case: multirules test
 Subcase 1: add existing rules but with different vfs
 ----------------------------------------------------
 
-1. Launch dpdk on VF0, VF1 and VF2, and VF0 request DCF mode::
+1. Launch dpdk on VF0, VF1 and VF2, and VF0 request DCF mode, representing VF1, VF2::
 
-     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf -a 0000:18:01.1 -a 0000:18:01.2 -- -i
-     testpmd> set portlist 1,2
+     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf,representor=[1,2] -a 0000:18:01.1 -a 0000:18:01.2 -- -i
+     testpmd> set portlist 3,4
      testpmd> set fwd rxonly
      testpmd> set verbose 1
      testpmd> start
 
 2. create rules with same pattern items but to different vfs::
 
-     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions vf id 1 / end
-     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions vf id 2 / end
+     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
      testpmd> flow list 0
 
    check both rules exist in the list.
@@ -2383,7 +2385,7 @@ Subcase 1: add existing rules but with different vfs
 
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/UDP(sport=25,dport=23)/("X"*480)], iface="ens786f0", count=1)
 
-   check both port 1 and 2 receive the packet.
+   check both port 3 and 4 receive the packet.
 
 4. destroy the rule 0, and send the matched packets::
 
@@ -2391,7 +2393,7 @@ Subcase 1: add existing rules but with different vfs
      testpmd> flow list 0
 
    check only rule 1 exists in the list.
-   send the same matched packets, check only port 2 receives the packets.
+   send the same matched packets, check only port 4 receives the packets.
 
 5. destroy rule 1, send the matched packets::
 
@@ -2399,15 +2401,15 @@ Subcase 1: add existing rules but with different vfs
      testpmd> flow list 0
 
    check no rule exists in the list
-   send the same matched packets, check the packets are not to port 1 and 2.
+   send the same matched packets, check the packets are not to port 3 and 4.
 
 Subcase 2: add existing rules with the same vfs
 -----------------------------------------------
 
 1. create two indentical rules::
 
-     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions vf id 1 / end
-     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
 2. check the first rule is created successfully, and
    the second one can not be created successfully,
@@ -2425,18 +2427,18 @@ Subcase 2: add existing rules with the same vfs
 Subcase 3: add two rules with one rule's input set included in the other
 -------------------------------------------------------------------------
 
-1. Launch dpdk on VF0, VF1 and VF2, and VF0 request DCF mode::
+1. Launch dpdk on VF0, VF1 and VF2, and VF0 request DCF mode, representing VF1 and VF2::
 
-     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf -a 0000:18:01.1 -a 0000:18:01.2 -- -i
-     testpmd> set portlist 1,2
+     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf,representor=[1,2] -a 0000:18:01.1 -a 0000:18:01.2 -- -i
+     testpmd> set portlist 3,4
      testpmd> set fwd rxonly
      testpmd> set verbose 1
      testpmd> start
 
 2. create rules with one rule's input set included in the other::
 
-     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 / end actions vf id 1 / end
-     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 2 / end
+     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 / end actions represented_port ethdev_port_id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions represented_port ethdev_port_id 2 / end
      testpmd> flow list 0
 
    check both rules exist in the list.
@@ -2445,12 +2447,12 @@ Subcase 3: add two rules with one rule's input set included in the other
 
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2")/("X"*480)], iface="ens786f0", count=1)
 
-   check both port 1 and 2 receive the packet.
+   check both port 3 and 4 receive the packet.
    send a packet that only matches the rule 0 but not rule 1::
 
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.3")/("X"*480)], iface="ens786f0", count=1)
 
-   check only port 1 receives the packet.
+   check only port 3 receives the packet.
 
 4. destroy the rule 0, and send the packet p0::
 
@@ -2458,7 +2460,7 @@ Subcase 3: add two rules with one rule's input set included in the other
      testpmd> flow list 0
 
    check only rule 1 exists in the list.
-   send the matched packet p0, check only port 2 receives the packet.
+   send the matched packet p0, check only port 4 receives the packet.
 
 5. destroy rule 1, send the packet p0::
 
@@ -2466,16 +2468,16 @@ Subcase 3: add two rules with one rule's input set included in the other
      testpmd> flow list 0
 
    check no rule exists in the list.
-   send the matched packet p0, check the packet are not to port 1 and 2.
+   send the matched packet p0, check the packet are not to port 3 and 4.
 
 Subcase 4: different input set, same vf id
 ------------------------------------------
 
 1. DUT create switch filter rules for MAC_IPV4_PFCP_SESSION and MAC_IPV4_PFCP_NODE to VF1::
 
-    testpmd> flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf id 1 / end
+    testpmd> flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end
     Flow rule #0 created
-    testpmd> flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions vf id 1 / end
+    testpmd> flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 1 / end
     Flow rule #1 created
 
    check the rule exists in the list.
@@ -2490,13 +2492,13 @@ Subcase 4: different input set, same vf id
     sendp(Ether(dst="00:11:22:33:44:11")/IP()/UDP(dport=8805)/PFCP(Sfield=0),iface="enp134s0f1")
     sendp(Ether(dst="00:11:22:33:44:11")/IP()/UDP(dport=8805)/PFCP(Sfield=1),iface="enp134s0f1")
 
-   check port 1 receive the two packets.
+   check port 3 receive the two packets.
    send mismatched packets::
 
     sendp(Ether(dst="00:11:22:33:44:11")/IPv6()/UDP(dport=8805)/PFCP(Sfield=1),iface="enp134s0f1")
     sendp(Ether(dst="00:11:22:33:44:11")/IPv6()/UDP(dport=8805)/PFCP(Sfield=0),iface="enp134s0f1")
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 3. verify rules can be destroyed::
 
@@ -2504,16 +2506,16 @@ Subcase 4: different input set, same vf id
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Subcase 5: different input set, different vf id
 -----------------------------------------------
 
 1. DUT create switch filter rules for MAC_IPV4_PFCP_SESSION and MAC_IPV4_PFCP_NODE to VF1::
 
-    testpmd> flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf id 1 / end
+    testpmd> flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end
     Flow rule #0 created
-    testpmd> flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions vf id 2 / end
+    testpmd> flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 2 / end
     Flow rule #1 created
 
    check the rule exists in the list.
@@ -2528,13 +2530,13 @@ Subcase 5: different input set, different vf id
     sendp(Ether(dst="00:11:22:33:44:11")/IP()/UDP(dport=8805)/PFCP(Sfield=0),iface="enp134s0f1")
     sendp(Ether(dst="00:11:22:33:44:11")/IP()/UDP(dport=8805)/PFCP(Sfield=1),iface="enp134s0f1")
 
-   check port 1 receive the first packet, port 2 receive the second packet.
+   check port 3 receive the first packet, port 4 receive the second packet.
    send mismatched packets::
 
     sendp(Ether(dst="00:11:22:33:44:11")/IPv6()/UDP(dport=8805)/PFCP(Sfield=1),iface="enp134s0f1")
     sendp(Ether(dst="00:11:22:33:44:11")/IPv6()/UDP(dport=8805)/PFCP(Sfield=0),iface="enp134s0f1")
 
-   check the packets are not to port 1 or port 2.
+   check the packets are not to port 3 or port 4.
 
 3. verify rules can be destroyed::
 
@@ -2542,7 +2544,7 @@ Subcase 5: different input set, different vf id
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1 or port 2.
+   send matched packets, check the packets are not to port 3 or port 4.
 
 Test case: test forwarding with single vf
 =========================================
@@ -2556,7 +2558,7 @@ received and forwarded when there is one vf for forwarding, and no packets are d
 
 2. create a rule with input set [Source IP], [Dest IP]::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list
@@ -2565,10 +2567,10 @@ received and forwarded when there is one vf for forwarding, and no packets are d
 
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2")/("X"*480)], iface="ens786f0", count=1)
 
-4. check port 1 receives the packet and forward it, and no packets are dropped::
+4. check port 3 receives the packet and forward it, and no packets are dropped::
 
      testpmd> stop
-     ---------------------- Forward statistics for port 1  ----------------------
+     ---------------------- Forward statistics for port 3  ----------------------
      RX-packets: 1              RX-dropped: 0             RX-total: 1
      TX-packets: 1              TX-dropped: 0             TX-total: 1
      ----------------------------------------------------------------------------
@@ -2578,7 +2580,7 @@ received and forwarded when there is one vf for forwarding, and no packets are d
      TX-packets: 1              TX-dropped: 0             TX-total: 1
      ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
-   check the RX-packets and TX-packets of port 1 are both 1, and the TX-dropped in
+   check the RX-packets and TX-packets of port 3 are both 1, and the TX-dropped in
    "Accumulated forward statistics for all ports" is 0.
 
 Test case: test forwarding with multi vfs
@@ -2588,17 +2590,17 @@ Description: This case is used to test the packets that match switch filter rule
 can be received and forwarded when there are multi vfs for forwarding, and no packets
 are dropped.
 
-1. Launch dpdk on VF0, VF1 and VF2, and VF0 request DCF mode::
+1. Launch dpdk on VF0, VF1 and VF2, and VF0 request DCF mode, representing VF1 and VF2::
 
-     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf -a 0000:18:01.1 -a 0000:18:01.2 -- -i
-     testpmd> set portlist 1,2
+     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf,representor=[1,2] -a 0000:18:01.1 -a 0000:18:01.2 -- -i
+     testpmd> set portlist 3,4
      testpmd> set fwd mac
      testpmd> set verbose 1
      testpmd> start
 
 2. create a rule with input set [Source IP], [Dest IP]::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list
@@ -2607,15 +2609,15 @@ are dropped.
 
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2")/("X"*480)], iface="ens786f0", count=1)
 
-4. check port 1 receives the packet, and forward it to port 2, and no packets are dropped::
+4. check port 3 receives the packet, and forward it to port 4, and no packets are dropped::
 
      testpmd> stop
-     ---------------------- Forward statistics for port 1  ----------------------
+     ---------------------- Forward statistics for port 3  ----------------------
      RX-packets: 1         RX-dropped: 0             RX-total: 1
      TX-packets: 0         TX-dropped: 0             TX-total: 0
      ----------------------------------------------------------------------------
 
-     ---------------------- Forward statistics for port 2  ----------------------
+     ---------------------- Forward statistics for port 4  ----------------------
      RX-packets: 0              RX-dropped: 0             RX-total: 0
      TX-packets: 1              TX-dropped: 0             TX-total: 1
      ----------------------------------------------------------------------------
@@ -2626,7 +2628,7 @@ are dropped.
      ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
 
-   check the RX-packets of port 1 is 1, the TX-packets of port 2 is 1, and the TX-dropped in
+   check the RX-packets of port 3 is 1, the TX-packets of port 4 is 1, and the TX-dropped in
    "Accumulated forward statistics for all ports" is 0.
 
 Test case: Max vfs
@@ -2659,17 +2661,19 @@ This case is designed based on 4*25G NIC.
 
      ./usertools/dpdk-devbind.py -b vfio-pci 0000:18:01.0
 
-6. launch dpdk on VF0, and request DCF mode::
+6. launch dpdk on VF0, and request DCF mode, representing VF1 to VF63::
 
-     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf -- -i
+     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 \
+     -a 0000:18:01.0,cap=dcf,representor=[1-63] \
+     -- -i
 
 7. set a switch rule to each VF from DCF, totally 63 rules::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 / tcp / end actions vf id 1 / end
-     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / tcp / end actions vf id 2 / end
-     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.3 / tcp / end actions vf id 3 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 / tcp / end actions represented_port ethdev_port_id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / tcp / end actions represented_port ethdev_port_id 2 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.3 / tcp / end actions represented_port ethdev_port_id 3 / end
      ......
-     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.63 / tcp / end actions vf id 63 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.63 / tcp / end actions represented_port ethdev_port_id 63 / end
      testpmd> flow list 0
 
    check the rules exist in the list.
@@ -2718,9 +2722,9 @@ will not hang and provide a friendly output.
 
 1. create the following nvgre rules::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions vf id 1 / end
-     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.2 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 / end actions vf id 1 / end
-     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.3 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.2 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 / end actions represented_port ethdev_port_id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.3 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp dst is 23 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rules exist in the list.
@@ -2728,7 +2732,7 @@ will not hang and provide a friendly output.
 2. the three rules have run out of field vectors, and
    continue to create the following rule::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.10 / nvgre tni is 0x8 /  eth dst is 68:05:ca:8d:ed:a1  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.10 / nvgre tni is 0x8 /  eth dst is 68:05:ca:8d:ed:a1  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
 
    check the rule can not be created successfully, and testpmd
    provide a friendly output, showing::
@@ -2748,12 +2752,12 @@ will not hang and provide a friendly output.
      sendp([Ether()/IP(dst="192.168.0.2")/NVGRE(TNI=0x8)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=50,dport=23)/Raw("x"*80)],iface="ens786f0",count=1)
      sendp([Ether()/IP(dst="192.168.0.3")/NVGRE(TNI=0x8)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=50,dport=23)/Raw("x"*80)],iface="ens786f0",count=1)
 
-   check port 1 receives the packets
+   check port 3 receives the packets
    send mismatched packets::
 
      sendp([Ether()/IP(dst="192.168.0.5")/NVGRE(TNI=0x8)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=50,dport=23)/Raw("x"*80)],iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 5. verify rules can be destroyed::
 
@@ -2761,7 +2765,7 @@ will not hang and provide a friendly output.
      testpmd> flow list 0
 
    check the rules not exist in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: negative cases
 =========================
@@ -2771,7 +2775,7 @@ Subcase 1: can not create rule on vf 1
 
 1. create rule on vf 1::
 
-     testpmd> flow create 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions port_representor port_id 1 / end
 
    Failed to create flow, report message::
 
@@ -2790,12 +2794,12 @@ Subcase 2: unsupported pattern in os default package
 
 2. create unsupported pattern in os default package::
 
-     testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions vf id 1 / end
-     testpmd> flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf id 1 / end
-     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions vf id 1 / end
-     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions vf id 1 / end
-     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions vf id 1 / end
-     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions represented_port ethdev_port_id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
 
    Failed to create flow, report message::
 
@@ -2812,7 +2816,7 @@ Subcase 3: unsupported input set
 
 1. create an nvgre rule with unsupported input set field [inner tos]::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 tos is 4 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 tos is 4 / end actions represented_port ethdev_port_id 1 / end
 
    Failed to create flow, report message::
 
@@ -2829,7 +2833,7 @@ Subcase 4: duplicated rules
 
 1. create a rule::
 
-     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 ttl is 2 tos is 4 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 ttl is 2 tos is 4 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -2895,23 +2899,6 @@ Subcase 7: void input set value
 
    check the rule not exists in the list.
 
-Subcase 8: invalid vf id
-------------------------
-
-1. create a rule with invalid vf id 5::
-
-     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions vf id 5 / end
-
-   Failed to create flow, report message::
-
-     Invalid vf id: Invalid argument
-
-2. check the rule list::
-
-     testpmd> flow list 0
-
-   check the rule not exists in the list.
-
 Subcase 9: delete a non-existing rule
 -------------------------------------
 
@@ -2945,7 +2932,7 @@ other rules.
 
 1. create a rule with input set length longer than 32 bytes::
 
-     testpmd> flow create 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 tc is 3 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 tc is 3 / end actions represented_port ethdev_port_id 1 / end
 
    Failed to create flow, report message::
 
@@ -2959,7 +2946,7 @@ other rules.
 
 3. create a MAC_IPV6_UDP_PAY rule::
 
-     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -2968,13 +2955,13 @@ other rules.
 
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/UDP(sport=25,dport=23)/("X"*480)], iface="ens786f0",count=1)
 
-   check port 1 receive the packet.
+   check port 3 receive the packet.
    send mismatched packets::
 
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/UDP(sport=30,dport=23)/("X"*480)], iface="ens786f0",count=1)
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/UDP(sport=25,dport=19)/("X"*480)], iface="ens786f0",count=1)
 
-   check the packets are not to port 1.
+   check the packets are not to port 3.
 
 5. verify rules can be destroyed::
 
@@ -2982,18 +2969,29 @@ other rules.
      testpmd> flow list 0
 
    check the rule not exists in the list.
-   send matched packets, check the packets are not to port 1.
+   send matched packets, check the packets are not to port 3.
 
 Test case: negative validation
 ==============================
 Note: some of the error messages may be different.
 
-Subcase 1: can not create rule on vf 1
---------------------------------------
+Subcase 1: can not create to vf rule on a representor
+-----------------------------------------------------
+
+1. validate rule on representor 1 which is at port 1::
+
+     testpmd> flow validate 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+
+   get the error message::
+
+     Failed to create parser engine.: Invalid argument
+
+2. list the rule::
+
+     testpmd> flow list 1
 
-1. validate rule on vf 1::
+   there is no rule listed.
 
-     testpmd> flow validate 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions vf id 1 / end
 
    get the error message::
 
@@ -3012,12 +3010,12 @@ Subcase 2: unsupported patterns in os default
 
 2. validate unsupported patterns in os default::
 
-     testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions vf id 1 / end
-     testpmd> flow validate 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf id 1 / end
-     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions vf id 1 / end
-     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions vf id 1 / end
-     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions vf id 1 / end
-     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions represented_port ethdev_port_id 1 / end
+     testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
 
    get the error message::
 
@@ -3034,7 +3032,7 @@ Subcase 3: unsupported input set
 
 1. validate an nvgre rule with unsupported input set field [inner tos]::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 tos is 4 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 tos is 4 / end actions represented_port ethdev_port_id 1 / end
 
    get the error message::
 
@@ -3085,7 +3083,7 @@ Subcase 6: void input set value
 
 1. validate a rule with void input set value::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv4 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv4 / end actions represented_port ethdev_port_id 1 / end
 
    get the error message::
 
@@ -3097,29 +3095,12 @@ Subcase 6: void input set value
 
    check the rule not exists in the list.
 
-Subcase 7: invalid vf id
-------------------------
-
-1. validate a rule with invalid vf id 5::
-
-     testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions vf id 5 / end
-
-   get the error message::
-
-     Invalid vf id: Invalid argument
-
-3. check the rule list::
-
-     testpmd> flow list 0
-
-   check the rule not exists in the list.
-
 Subcase 8: long switch rule
 ---------------------------
 
 1. validate a rule with input set length longer than 32 bytes::
 
-     testpmd> flow validate 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 tc is 3 / end actions vf id 1 / end
+     testpmd> flow validate 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 tc is 3 / end actions represented_port ethdev_port_id 1 / end
 
    get the error message::
 
@@ -3139,7 +3120,7 @@ Subcase 1: DCF stop/DCF start
 
 1. create MAC_IPV4_UDP_PAY rule::
 
-     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions vf id 1 / end
+     testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
      testpmd> flow list 0
 
    check the rule exists in the list.
@@ -3148,14 +3129,14 @@ Subcase 1: DCF stop/DCF start
 
      sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/UDP(sport=25,dport=23)/("X"*480)], iface="ens786f0", count=1)
 
-   check port 1 receive the packet.
+   check port 3 receive the packet.
 
 3. stop the DCF, then start the DCF::
 
      tetspmd> port stop 0
      testpmd> port start 0
 
-4. send matched packets, port 1 can't receive the packets.
+4. send matched packets, port 3 can't receive the packets.
 
 Test case: Drop action test
 ===========================
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [DTS][PATCH V1 20/21] test/ice_dcf_switch_filter: update test plan to support represented port action from deprecated vf action
  2022-09-28  3:18 [DTS][PATCH V1 00/21] update test plans and tests to support represented port action and port representor action from deprecated vf action on DCF cases Ke Xu
                   ` (18 preceding siblings ...)
  2022-09-28  3:18 ` [DTS][PATCH V1 19/21] test_plans/ice_dcf_switch_filter: update test plan to support represented port " Ke Xu
@ 2022-09-28  3:18 ` Ke Xu
  2022-09-28  3:18 ` [DTS][PATCH V1 21/21] test_plans/ice_dcf_switch_filter: add white space to formate the table Ke Xu
  20 siblings, 0 replies; 22+ messages in thread
From: Ke Xu @ 2022-09-28  3:18 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, jin.ling, zhiminx.huang, weiyuanx.li, qi.fu, Ke Xu

Signed-off-by: Ke Xu <ke1.xu@intel.com>
---
 tests/TestSuite_ice_dcf_switch_filter.py | 579 +++++++++++++----------
 1 file changed, 317 insertions(+), 262 deletions(-)

diff --git a/tests/TestSuite_ice_dcf_switch_filter.py b/tests/TestSuite_ice_dcf_switch_filter.py
index 3c647be6..6510bf2c 100644
--- a/tests/TestSuite_ice_dcf_switch_filter.py
+++ b/tests/TestSuite_ice_dcf_switch_filter.py
@@ -16,14 +16,14 @@ from framework.utils import BLUE, GREEN, RED
 
 tv_mac_pay = {
     "name": "tv_mac_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 dst is 00:11:22:33:44:55 type is 0x0800 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 dst is 00:11:22:33:44:55 type is 0x0800 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(src="00:00:00:00:00:01",dst="00:11:22:33:44:55")/IP()/Raw("x" *80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -35,7 +35,7 @@ tv_mac_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -43,14 +43,14 @@ tv_mac_pay = {
 
 tv_mac_ipv4_frag = {
     "name": "tv_mac_ipv4_frag",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 2 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 2 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2,frag=5)/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -64,7 +64,7 @@ tv_mac_ipv4_frag = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -72,14 +72,14 @@ tv_mac_ipv4_frag = {
 
 tv_mac_ipv4_pay = {
     "name": "tv_mac_ipv4_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 proto is 6 tos is 4 ttl is 2 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 proto is 6 tos is 4 ttl is 2 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -94,7 +94,7 @@ tv_mac_ipv4_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -102,14 +102,14 @@ tv_mac_ipv4_pay = {
 
 tv_mac_ipv4_udp_pay = {
     "name": "tv_mac_ipv4_udp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/UDP(sport=25,dport=23)/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -125,7 +125,7 @@ tv_mac_ipv4_udp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -133,14 +133,14 @@ tv_mac_ipv4_udp_pay = {
 
 tv_mac_ipv4_tcp_pay = {
     "name": "tv_mac_ipv4_tcp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/TCP(sport=25,dport=23)/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -156,7 +156,7 @@ tv_mac_ipv4_tcp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -164,12 +164,12 @@ tv_mac_ipv4_tcp_pay = {
 
 tv_mac_ipv4_igmp = {
     "name": "tv_mac_ipv4_igmp",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 proto is 0x02 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 proto is 0x02 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": ['Ether(dst="00:11:22:33:44:55")/IP()/IGMP()/Raw("X"*480)'],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -180,7 +180,7 @@ tv_mac_ipv4_igmp = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -188,7 +188,7 @@ tv_mac_ipv4_igmp = {
 
 tv_mac_ipv6_srcip_dstip = {
     "name": "tv_mac_ipv6_srcip_dstip",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X"*480)',
@@ -196,7 +196,7 @@ tv_mac_ipv6_srcip_dstip = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 2},
     },
@@ -209,7 +209,7 @@ tv_mac_ipv6_srcip_dstip = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -217,7 +217,7 @@ tv_mac_ipv6_srcip_dstip = {
 
 tv_mac_ipv6_dstip_tc = {
     "name": "tv_mac_ipv6_dstip_tc",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/("X"*480)',
@@ -225,7 +225,7 @@ tv_mac_ipv6_dstip_tc = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 2},
     },
@@ -240,7 +240,7 @@ tv_mac_ipv6_dstip_tc = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -248,14 +248,14 @@ tv_mac_ipv6_dstip_tc = {
 
 tv_mac_ipv6_udp_pay = {
     "name": "tv_mac_ipv6_udp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/UDP(sport=25,dport=23)/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -269,7 +269,7 @@ tv_mac_ipv6_udp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -277,14 +277,14 @@ tv_mac_ipv6_udp_pay = {
 
 tv_mac_ipv6_tcp = {
     "name": "tv_mac_ipv6_tcp",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/TCP(sport=25,dport=23)/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -298,7 +298,7 @@ tv_mac_ipv6_tcp = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -306,7 +306,7 @@ tv_mac_ipv6_tcp = {
 
 tv_mac_ipv4_nvgre_ipv4_pay = {
     "name": "tv_mac_ipv4_nvgre_ipv4_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.2", dst="192.168.1.3")/Raw("x"*80)',
@@ -314,7 +314,7 @@ tv_mac_ipv4_nvgre_ipv4_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 2},
     },
@@ -331,7 +331,7 @@ tv_mac_ipv4_nvgre_ipv4_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -339,14 +339,14 @@ tv_mac_ipv4_nvgre_ipv4_pay = {
 
 tv_mac_ipv4_nvgre_ipv4_udp_pay = {
     "name": "tv_mac_ipv4_nvgre_ipv4_udp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=0x8)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=50,dport=23)/Raw("x"*80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -361,7 +361,7 @@ tv_mac_ipv4_nvgre_ipv4_udp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -369,14 +369,14 @@ tv_mac_ipv4_nvgre_ipv4_udp_pay = {
 
 tv_mac_ipv4_nvgre_ipv4_tcp = {
     "name": "tv_mac_ipv4_nvgre_ipv4_tcp",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.2", dst="192.168.1.3")/TCP(sport=25,dport=23)/Raw("x"*80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -391,7 +391,7 @@ tv_mac_ipv4_nvgre_ipv4_tcp = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -399,7 +399,7 @@ tv_mac_ipv4_nvgre_ipv4_tcp = {
 
 tv_mac_ipv4_nvgre_mac_ipv4_pay = {
     "name": "tv_mac_ipv4_nvgre_mac_ipv4_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/Raw("x"*80)',
@@ -407,7 +407,7 @@ tv_mac_ipv4_nvgre_mac_ipv4_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 2},
     },
@@ -426,7 +426,7 @@ tv_mac_ipv4_nvgre_mac_ipv4_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -434,14 +434,14 @@ tv_mac_ipv4_nvgre_mac_ipv4_pay = {
 
 tv_mac_ipv4_nvgre_mac_ipv4_udp_pay = {
     "name": "tv_mac_ipv4_nvgre_mac_ipv4_udp_pay",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 /  eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 /  eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=0x8)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/UDP(sport=25,dport=23)/Raw("x"*80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -457,7 +457,7 @@ tv_mac_ipv4_nvgre_mac_ipv4_udp_pay = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -465,14 +465,14 @@ tv_mac_ipv4_nvgre_mac_ipv4_udp_pay = {
 
 tv_mac_ipv4_nvgre_mac_ipv4_tcp = {
     "name": "tv_mac_ipv4_nvgre_mac_ipv4_tcp",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/TCP(sport=25,dport=23)/Raw("x"*80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -488,7 +488,7 @@ tv_mac_ipv4_nvgre_mac_ipv4_tcp = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -496,14 +496,14 @@ tv_mac_ipv4_nvgre_mac_ipv4_tcp = {
 
 tv_mac_vlan_pppoe_ipv4_pay_session_id_proto_id = {
     "name": "tv_mac_vlan_pppoe_ipv4_pay_session_id_proto_id",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP()/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -516,7 +516,7 @@ tv_mac_vlan_pppoe_ipv4_pay_session_id_proto_id = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -524,14 +524,14 @@ tv_mac_vlan_pppoe_ipv4_pay_session_id_proto_id = {
 
 tv_mac_vlan_pppoe_ipv6_pay_session_id_proto_id = {
     "name": "tv_mac_vlan_pppoe_ipv6_pay_session_id_proto_id",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6()/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -544,7 +544,7 @@ tv_mac_vlan_pppoe_ipv6_pay_session_id_proto_id = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -552,14 +552,14 @@ tv_mac_vlan_pppoe_ipv6_pay_session_id_proto_id = {
 
 tv_mac_pppoe_ipv4_pay_session_id_proto_id = {
     "name": "tv_mac_pppoe_ipv4_pay_session_id_proto_id",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP()/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -571,7 +571,7 @@ tv_mac_pppoe_ipv4_pay_session_id_proto_id = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -579,14 +579,14 @@ tv_mac_pppoe_ipv4_pay_session_id_proto_id = {
 
 tv_mac_pppoe_ipv6_pay_session_id_proto_id = {
     "name": "tv_mac_pppoe_ipv6_pay_session_id_proto_id",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6()/Raw("x" * 80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -598,7 +598,7 @@ tv_mac_pppoe_ipv6_pay_session_id_proto_id = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -606,12 +606,12 @@ tv_mac_pppoe_ipv6_pay_session_id_proto_id = {
 
 tv_ip_multicast = {
     "name": "tv_ip_multicast",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst spec 224.0.0.0 dst mask 240.0.0.0 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst spec 224.0.0.0 dst mask 240.0.0.0 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": ['Ether()/IP(dst="239.0.0.0")/TCP()/Raw("x"*80)'],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -619,7 +619,7 @@ tv_ip_multicast = {
         "scapy_str": ['Ether()/IP(dst="128.0.0.0")/TCP()/Raw("x"*80)'],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -627,12 +627,12 @@ tv_ip_multicast = {
 
 tv_l2_multicast = {
     "name": "tv_l2_multicast",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst spec 01:00:5e:00:00:00 dst mask ff:ff:ff:80:00:00 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst spec 01:00:5e:00:00:00 dst mask ff:ff:ff:80:00:00 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": ['Ether(dst="01:00:5e:7f:00:00")/IP()/TCP()/Raw("x"*80)'],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -640,7 +640,7 @@ tv_l2_multicast = {
         "scapy_str": ['Ether(dst="01:00:5e:ff:00:00")/IP()/TCP()/Raw("x"*80)'],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -648,14 +648,14 @@ tv_l2_multicast = {
 
 tv_ethertype_filter_pppod = {
     "name": "tv_ethertype_filter_pppod",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth type is 0x8863 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth type is 0x8863 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55")/PPPoED()/PPP()/IP()/Raw("x" *80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -663,7 +663,7 @@ tv_ethertype_filter_pppod = {
         "scapy_str": ['Ether(dst="00:11:22:33:44:55")/PPPoE()/PPP()/IP()/Raw("x" *80)'],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -671,12 +671,12 @@ tv_ethertype_filter_pppod = {
 
 tv_ethertype_filter_pppoe = {
     "name": "tv_ethertype_filter_pppoe",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth type is 0x8864 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth type is 0x8864 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": ['Ether(dst="00:11:22:33:44:55")/PPPoE()/PPP()/IP()/Raw("x"*80)'],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -684,7 +684,7 @@ tv_ethertype_filter_pppoe = {
         "scapy_str": ['Ether(dst="00:11:22:33:44:55")/PPPoED()/PPP()/IP()/Raw("x"*80)'],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -692,7 +692,7 @@ tv_ethertype_filter_pppoe = {
 
 tv_ethertype_filter_ipv6 = {
     "name": "tv_ethertype_filter_ipv6",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth type is 0x86dd / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth type is 0x86dd / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020", tc=3)/TCP(dport=23)/("X"*480)',
@@ -700,7 +700,7 @@ tv_ethertype_filter_ipv6 = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 2},
     },
@@ -708,7 +708,7 @@ tv_ethertype_filter_ipv6 = {
         "scapy_str": ['Ether(dst="00:11:22:33:44:55")/IP()/TCP(dport=23)/("X"*480)'],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -716,14 +716,14 @@ tv_ethertype_filter_ipv6 = {
 
 tv_udp_port_filter_dhcp_discovery = {
     "name": "tv_udp_port_filter_dhcp_discovery",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp src is 68 dst is 67 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp src is 68 dst is 67 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55")/IP()/UDP(sport=68,dport=67)/BOOTP(chaddr="3c:fd:fe:b2:43:90")/DHCP(options=[("message-type","discover"),"end"])/Raw("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -734,7 +734,7 @@ tv_udp_port_filter_dhcp_discovery = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -742,14 +742,14 @@ tv_udp_port_filter_dhcp_discovery = {
 
 tv_udp_port_filter_dhcp_offer = {
     "name": "tv_udp_port_filter_dhcp_offer",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp src is 67 dst is 68 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp src is 67 dst is 68 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55")/IP()/UDP(sport=67,dport=68)/BOOTP(chaddr="3c:fd:fe:b2:43:90",yiaddr="192.168.1.0")/DHCP(options=[("message-type","offer"),"end"])/Raw("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -760,7 +760,7 @@ tv_udp_port_filter_dhcp_offer = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -768,14 +768,14 @@ tv_udp_port_filter_dhcp_offer = {
 
 tv_udp_port_filter_vxlan = {
     "name": "tv_udp_port_filter_vxlan",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp dst is 4789 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp dst is 4789 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3",frag=5)/TCP()/Raw("x"*80)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -785,7 +785,7 @@ tv_udp_port_filter_vxlan = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -793,14 +793,14 @@ tv_udp_port_filter_vxlan = {
 
 tv_mac_vlan_filter = {
     "name": "tv_mac_vlan_filter",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1)/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/Raw("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -811,7 +811,7 @@ tv_mac_vlan_filter = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -819,14 +819,14 @@ tv_mac_vlan_filter = {
 
 tv_vlan_filter = {
     "name": "tv_vlan_filter",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1)/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/Raw("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -836,7 +836,7 @@ tv_vlan_filter = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -844,14 +844,14 @@ tv_vlan_filter = {
 
 tv_mac_ipv4_l2tpv3 = {
     "name": "tv_mac_ipv4_l2tpv3",
-    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             "Ether(dst='00:11:22:33:44:12')/IP(src='192.168.0.2', proto=115)/L2TP(b'\\x00\\x00\\x00\\x01')/('X'*480)"
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -863,7 +863,7 @@ tv_mac_ipv4_l2tpv3 = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -871,14 +871,14 @@ tv_mac_ipv4_l2tpv3 = {
 
 tv_mac_ipv6_l2tpv3 = {
     "name": "tv_mac_ipv6_l2tpv3",
-    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / l2tpv3oip session_id is 1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             "Ether(dst='00:11:22:33:44:13')/IPv6(dst='1111:2222:3333:4444:5555:6666:7777:8888', nh=115)/L2TP(b'\\x00\\x00\\x00\\x01')/('X'*480)"
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -890,7 +890,7 @@ tv_mac_ipv6_l2tpv3 = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -898,14 +898,14 @@ tv_mac_ipv6_l2tpv3 = {
 
 tv_mac_ipv4_esp = {
     "name": "tv_mac_ipv4_esp",
-    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:13")/IP(src="192.168.0.2", proto=50)/ESP(spi=1)/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -917,7 +917,7 @@ tv_mac_ipv4_esp = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -925,14 +925,14 @@ tv_mac_ipv4_esp = {
 
 tv_mac_ipv6_esp = {
     "name": "tv_mac_ipv6_esp",
-    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / esp spi is 1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888", nh=50)/ESP(spi=1)/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -944,7 +944,7 @@ tv_mac_ipv6_esp = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -952,14 +952,14 @@ tv_mac_ipv6_esp = {
 
 tv_mac_ipv4_ah = {
     "name": "tv_mac_ipv4_ah",
-    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:13")/IP(src="192.168.0.2", proto=51)/AH(spi=1)/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -971,7 +971,7 @@ tv_mac_ipv4_ah = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -979,14 +979,14 @@ tv_mac_ipv4_ah = {
 
 tv_mac_ipv6_ah = {
     "name": "tv_mac_ipv6_ah",
-    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / ah spi is 1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / ah spi is 1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888", nh=51)/AH(spi=1)/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -998,7 +998,7 @@ tv_mac_ipv6_ah = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1006,14 +1006,14 @@ tv_mac_ipv6_ah = {
 
 tv_mac_ipv4_nat_t_esp = {
     "name": "tv_mac_ipv4_nat_t_esp",
-    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:13")/IP(src="192.168.0.2")/UDP(dport=4500)/ESP(spi=1)/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1025,7 +1025,7 @@ tv_mac_ipv4_nat_t_esp = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1033,14 +1033,14 @@ tv_mac_ipv4_nat_t_esp = {
 
 tv_mac_ipv6_nat_t_esp = {
     "name": "tv_mac_ipv6_nat_t_esp",
-    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / udp / esp spi is 1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888")/UDP(dport=4500)/ESP(spi=1)/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1052,7 +1052,7 @@ tv_mac_ipv6_nat_t_esp = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1060,7 +1060,7 @@ tv_mac_ipv6_nat_t_esp = {
 
 tv_actions_vf_id_0 = {
     "name": "tv_actions_vf_id_0",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions vf id 0 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 0 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/TCP(sport=25,dport=23)/("X"*480)'
@@ -1078,8 +1078,8 @@ tv_actions_vf_id_0 = {
 tv_add_existing_rules_but_with_different_vfs = {
     "name": "tv_add_existing_rules_but_with_different_vfs",
     "rte_flow_pattern": [
-        "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions vf id 2 / end",
+        "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end",
     ],
     "matched": {
         "scapy_str": [
@@ -1087,7 +1087,7 @@ tv_add_existing_rules_but_with_different_vfs = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": [1, 2], "expect_queues": "null"},
+            "param": {"expect_port": [3, 4], "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": [1, 1]},
     },
@@ -1097,8 +1097,8 @@ tv_add_existing_rules_but_with_different_vfs = {
 tv_add_two_rules_with_one_rule_input_set_included_in_the_other = {
     "name": "tv_add_two_rules_with_one_rule_input_set_included_in_the_other",
     "rte_flow_pattern": [
-        "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 2 / end",
+        "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions represented_port ethdev_port_id 2 / end",
     ],
     "matched": {
         "scapy_str": [
@@ -1106,7 +1106,7 @@ tv_add_two_rules_with_one_rule_input_set_included_in_the_other = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": [1, 2], "expect_queues": "null"},
+            "param": {"expect_port": [3, 4], "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": [1, 1]},
     },
@@ -1115,14 +1115,14 @@ tv_add_two_rules_with_one_rule_input_set_included_in_the_other = {
 
 tv_test_fwd_with_single_vf = {
     "name": "tv_test_fwd_with_single_vf",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2")/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_tx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1131,14 +1131,14 @@ tv_test_fwd_with_single_vf = {
 
 tv_test_fwd_with_multi_vfs = {
     "name": "tv_test_fwd_with_multi_vfs",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2")/("X"*480)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_tx_packets_number,
-            "param": {"expect_port": [1, 2], "expect_queues": "null"},
+            "param": {"expect_port": [3, 4], "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": [1, 0]},
     },
@@ -1172,9 +1172,9 @@ tv_max_vfs = {
 tv_max_field_vectors = {
     "name": "tv_max_field_vectors",
     "rte_flow_pattern": [
-        "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.2 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.3 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp dst is 23 / end actions vf id 1 / end",
+        "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.2 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.3 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp dst is 23 / end actions represented_port ethdev_port_id 1 / end",
     ],
     "matched": {
         "scapy_str": [
@@ -1184,7 +1184,7 @@ tv_max_field_vectors = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 3},
     },
@@ -1194,7 +1194,7 @@ tv_max_field_vectors = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1208,7 +1208,7 @@ tv_max_rule_number = {
         "scapy_str": [],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1},
+            "param": {"expect_port": 3},
         },
         "expect_results": {"expect_pkts": 32563},
     },
@@ -1218,7 +1218,7 @@ tv_max_rule_number = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1},
+            "param": {"expect_port": 3},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1226,12 +1226,12 @@ tv_max_rule_number = {
 
 tv_mac_ipv4_pfcp_node = {
     "name": "tv_mac_ipv4_pfcp_node",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": ['Ether(dst="00:11:22:33:44:11")/IP()/UDP(dport=8805)/PFCP(S=0)'],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1243,7 +1243,7 @@ tv_mac_ipv4_pfcp_node = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1251,12 +1251,12 @@ tv_mac_ipv4_pfcp_node = {
 
 tv_mac_ipv4_pfcp_session = {
     "name": "tv_mac_ipv4_pfcp_session",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": ['Ether(dst="00:11:22:33:44:11")/IP()/UDP(dport=8805)/PFCP(S=1)'],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1268,7 +1268,7 @@ tv_mac_ipv4_pfcp_session = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1276,14 +1276,14 @@ tv_mac_ipv4_pfcp_session = {
 
 tv_mac_ipv6_pfcp_node = {
     "name": "tv_mac_ipv6_pfcp_node",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:11")/IPv6()/UDP(dport=8805)/PFCP(S=0)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1295,7 +1295,7 @@ tv_mac_ipv6_pfcp_node = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1303,14 +1303,14 @@ tv_mac_ipv6_pfcp_node = {
 
 tv_mac_ipv6_pfcp_session = {
     "name": "tv_mac_ipv6_pfcp_session",
-    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions vf id 1 / end",
+    "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 1 / end",
     "matched": {
         "scapy_str": [
             'Ether(dst="00:11:22:33:44:11")/IPv6()/UDP(dport=8805)/PFCP(S=1)'
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1322,7 +1322,7 @@ tv_mac_ipv6_pfcp_session = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1331,8 +1331,8 @@ tv_mac_ipv6_pfcp_session = {
 tv_add_two_rules_with_different_input_set_same_vf_id = {
     "name": "tv_add_two_rules_with_different_input_set_same_vf_id",
     "rte_flow_pattern": [
-        "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions vf id 1 / end",
+        "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 1 / end",
     ],
     "matched": {
         "scapy_str": [
@@ -1341,7 +1341,7 @@ tv_add_two_rules_with_different_input_set_same_vf_id = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 2},
     },
@@ -1352,7 +1352,7 @@ tv_add_two_rules_with_different_input_set_same_vf_id = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1361,8 +1361,8 @@ tv_add_two_rules_with_different_input_set_same_vf_id = {
 tv_add_two_rules_with_different_input_set_different_vf_id = {
     "name": "tv_add_two_rules_with_different_input_set_different_vf_id",
     "rte_flow_pattern": [
-        "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions vf id 2 / end",
+        "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 2 / end",
     ],
     "matched": {
         "scapy_str": [
@@ -1371,7 +1371,7 @@ tv_add_two_rules_with_different_input_set_different_vf_id = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": [1, 2], "expect_queues": "null"},
+            "param": {"expect_port": [3, 4], "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": [1, 1]},
     },
@@ -1382,7 +1382,7 @@ tv_add_two_rules_with_different_input_set_different_vf_id = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": [1, 2], "expect_queues": "null"},
+            "param": {"expect_port": [3, 4], "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": [0, 0]},
     },
@@ -1397,7 +1397,7 @@ tv_mac_ipv4_drop = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1407,7 +1407,7 @@ tv_mac_ipv4_drop = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1422,7 +1422,7 @@ tv_mac_ipv4_mask_drop = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1432,7 +1432,7 @@ tv_mac_ipv4_mask_drop = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1447,7 +1447,7 @@ tv_mac_nvgre_drop = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1457,7 +1457,7 @@ tv_mac_nvgre_drop = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1472,7 +1472,7 @@ tv_mac_ppoes_drop = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1482,7 +1482,7 @@ tv_mac_ppoes_drop = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1495,7 +1495,7 @@ tv_mac_pfcp_drop = {
         "scapy_str": ['Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=8805)/PFCP(S=0)'],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1503,7 +1503,7 @@ tv_mac_pfcp_drop = {
         "scapy_str": ['Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=8805)/PFCP(S=1)'],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1518,7 +1518,7 @@ tv_mac_vlan_drop = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1528,7 +1528,7 @@ tv_mac_vlan_drop = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1543,7 +1543,7 @@ tv_mac_l2tp_drop = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1553,7 +1553,7 @@ tv_mac_l2tp_drop = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1568,7 +1568,7 @@ tv_mac_esp_drop = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1578,7 +1578,7 @@ tv_mac_esp_drop = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 1},
     },
@@ -1609,7 +1609,7 @@ tv_mac_blend_pkg_drop = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 0},
     },
@@ -1626,7 +1626,7 @@ tv_mac_blend_pkg_drop = {
         ],
         "check_func": {
             "func": rfc.check_vf_rx_packets_number,
-            "param": {"expect_port": 1, "expect_queues": "null"},
+            "param": {"expect_port": 3, "expect_queues": "null"},
         },
         "expect_results": {"expect_pkts": 8},
     },
@@ -1680,10 +1680,12 @@ class ICEDCFSwitchFilterTest(TestCase):
         """
         self.dut_ports = self.dut.get_ports(self.nic)
         # Verify that enough ports are available
-        self.verify(len(self.dut_ports) >= 1, "Insufficient ports")
+        self.verify(len(self.dut_ports) >= 2, "Insufficient ports")
         localPort = self.tester.get_local_port(self.dut_ports[0])
         self.used_dut_port_0 = self.dut_ports[0]
+        self.used_dut_port_1 = self.dut_ports[1]
         self.pf0_intf = self.dut.ports_info[self.used_dut_port_0]["intf"]
+        self.pf1_intf = self.dut.ports_info[self.used_dut_port_1]["intf"]
         self.__tx_iface = self.tester.get_interface(localPort)
         self.pkt = Packet()
         self.testpmd_status = "close"
@@ -1691,7 +1693,8 @@ class ICEDCFSwitchFilterTest(TestCase):
         self.bind_nics_driver(self.dut_ports, driver="ice")
         # get priv-flags default stats
         self.flag = "vf-vlan-pruning"
-        self.default_stats = self.dut.get_priv_flags_state(self.pf0_intf, self.flag)
+        self.default_pf0_stats = self.dut.get_priv_flags_state(self.pf0_intf, self.flag)
+        self.default_pf1_stats = self.dut.get_priv_flags_state(self.pf1_intf, self.flag)
 
         # set vf driver
         self.vf_driver = "vfio-pci"
@@ -1704,7 +1707,7 @@ class ICEDCFSwitchFilterTest(TestCase):
         # get PF interface name
         self.pf0_intf = self.dut.ports_info[self.used_dut_port_0]["intf"]
         out = self.dut.send_expect("ethtool -i %s" % self.pf0_intf, "#")
-        if self.default_stats:
+        if self.default_pf0_stats:
             self.dut.send_expect(
                 "ethtool --set-priv-flags %s %s off" % (self.pf0_intf, self.flag), "# "
             )
@@ -1718,6 +1721,36 @@ class ICEDCFSwitchFilterTest(TestCase):
             port.bind_driver(self.vf_driver)
         time.sleep(5)
 
+    def setup_2pf_vfs_env(self, pf_port_0 = 0, pf_port_1 = 1, driver="default"):
+
+        self.used_dut_port_0 = self.dut_ports[pf_port_0]
+        self.used_dut_port_1 = self.dut_ports[pf_port_1]
+        # get PF interface name
+        self.pf0_intf = self.dut.ports_info[self.used_dut_port_0]["intf"]
+        self.pf1_intf = self.dut.ports_info[self.used_dut_port_1]["intf"]
+        self.dut.send_expect("ethtool -i %s" % self.pf0_intf, "#")
+        self.dut.send_expect("ethtool -i %s" % self.pf1_intf, "#")
+        if self.default_pf0_stats:
+            self.dut.send_expect(
+                "ethtool --set-priv-flags %s %s off" % (self.pf0_intf, self.flag), "# "
+            )
+        if self.default_pf1_stats:
+            self.dut.send_expect(
+                "ethtool --set-priv-flags %s %s off" % (self.pf1_intf, self.flag), "# "
+            )
+        # generate 4 VFs on PF
+        self.dut.generate_sriov_vfs_by_port(self.used_dut_port_0, 4, driver=driver)
+        self.dut.generate_sriov_vfs_by_port(self.used_dut_port_1, 4, driver=driver)
+        self.sriov_vfs_port_0 = self.dut.ports_info[self.used_dut_port_0]["vfs_port"]
+        self.sriov_vfs_port_1 = self.dut.ports_info[self.used_dut_port_1]["vfs_port"]
+        # set VF0 as trust
+        self.dut.send_expect("ip link set %s vf 0 trust on" % self.pf0_intf, "#")
+        self.dut.send_expect("ip link set %s vf 0 trust on" % self.pf1_intf, "#")
+        # bind VFs to dpdk driver
+        for port in self.sriov_vfs_port_0 + self.sriov_vfs_port_1:
+            port.bind_driver(self.vf_driver)
+        time.sleep(5)
+
     def reload_ice(self):
         self.dut.send_expect("rmmod ice", "# ", 15)
         self.dut.send_expect("modprobe ice", "# ", 15)
@@ -1733,12 +1766,17 @@ class ICEDCFSwitchFilterTest(TestCase):
         Create testpmd command
         """
         # Prepare testpmd EAL and parameters
-        vf0_pci = self.sriov_vfs_port_0[0].pci
-        vf1_pci = self.sriov_vfs_port_0[1].pci
+        pf0_vf0_pci = self.sriov_vfs_port_0[0].pci
+        pf0_vf1_pci = self.sriov_vfs_port_0[1].pci
+        pf1_vf0_pci = self.sriov_vfs_port_1[0].pci
+        pf1_vf1_pci = self.sriov_vfs_port_1[1].pci
         all_eal_param = self.dut.create_eal_parameters(
             cores="1S/4C/1T",
-            ports=[vf0_pci, vf1_pci],
-            port_options={vf0_pci: "cap=dcf"},
+            ports=[pf0_vf0_pci, pf0_vf1_pci, pf1_vf0_pci, pf1_vf1_pci],
+            port_options={
+                pf0_vf0_pci: "cap=dcf,representor=[1,2]",
+                pf1_vf0_pci: "cap=dcf,representor=[1,2]"
+            },
         )
         command = self.path + all_eal_param + " -- -i"
         return command
@@ -1748,9 +1786,9 @@ class ICEDCFSwitchFilterTest(TestCase):
         launch testpmd with the command
         """
         command = self.create_testpmd_command()
-        out = self.dut.send_expect(command, "testpmd> ", 15)
         self.testpmd_status = "running"
-        self.dut.send_expect("set portlist 1", "testpmd> ", 15)
+        out = self.dut.send_expect(command, "testpmd> ", 30)
+        self.dut.send_expect("set portlist 3", "testpmd> ", 15)
         self.dut.send_expect("set fwd rxonly", "testpmd> ", 15)
         self.dut.send_expect("set verbose 1", "testpmd> ", 15)
 
@@ -1998,147 +2036,147 @@ class ICEDCFSwitchFilterTest(TestCase):
         self.send_and_check_packets(destroy_dict)
 
     def test_mac_pay(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_pay)
 
     def test_mac_ipv4_frag(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv4_frag)
 
     def test_mac_ipv4_pay(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv4_pay)
 
     def test_mac_ipv4_udp_pay(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv4_udp_pay)
 
     def test_mac_ipv4_tcp_pay(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv4_tcp_pay)
 
     def test_mac_ipv4_igmp(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv4_igmp)
 
     def test_mac_ipv6_srcip_dstip(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv6_srcip_dstip)
 
     def test_mac_ipv6_dstip_tc(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv6_dstip_tc)
 
     def test_mac_ipv6_udp_pay(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv6_udp_pay)
 
     def test_mac_ipv6_tcp(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv6_tcp)
 
     def test_mac_ipv4_nvgre_ipv4_pay(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv4_nvgre_ipv4_pay)
 
     def test_mac_ipv4_nvgre_ipv4_udp_pay(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv4_nvgre_ipv4_udp_pay)
 
     def test_mac_ipv4_nvgre_ipv4_tcp(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv4_nvgre_ipv4_tcp)
 
     def test_mac_ipv4_nvgre_mac_ipv4_pay(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv4_nvgre_mac_ipv4_pay)
 
     def test_mac_ipv4_nvgre_mac_ipv4_udp_pay(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv4_nvgre_mac_ipv4_udp_pay)
 
     def test_mac_ipv4_nvgre_mac_ipv4_tcp(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv4_nvgre_mac_ipv4_tcp)
 
     def test_ip_multicast(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_ip_multicast)
 
     def test_l2_multicast(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_l2_multicast)
 
     def test_ethertype_filter_pppod(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_ethertype_filter_pppod)
 
     def test_ethertype_filter_pppoe(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_ethertype_filter_pppoe)
 
     def test_ethertype_filter_ipv6(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_ethertype_filter_ipv6)
 
     def test_udp_port_filter_dhcp_discovery(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_udp_port_filter_dhcp_discovery)
 
     def test_udp_port_filter_dhcp_offer(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_udp_port_filter_dhcp_offer)
 
     def test_udp_port_filter_vxlan(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_udp_port_filter_vxlan)
 
     def test_mac_vlan_filter(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_vlan_filter)
 
     def test_vlan_filter(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_vlan_filter)
 
     @skip_unsupported_pkg(["os default", "wireless"])
     def test_mac_ipv4_l2tpv3(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv4_l2tpv3)
 
     @skip_unsupported_pkg(["os default", "wireless"])
     def test_mac_ipv6_l2tpv3(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv6_l2tpv3)
 
     @skip_unsupported_pkg("os default")
     def test_mac_ipv4_esp(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv4_esp)
 
     @skip_unsupported_pkg("os default")
     def test_mac_ipv6_esp(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv6_esp)
 
     @skip_unsupported_pkg("os default")
     def test_mac_ipv4_ah(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv4_ah)
 
     @skip_unsupported_pkg("os default")
     def test_mac_ipv6_ah(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv6_ah)
 
     @skip_unsupported_pkg("os default")
     def test_mac_ipv4_nat_t_esp(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv4_nat_t_esp)
 
     @skip_unsupported_pkg("os default")
     def test_mac_ipv6_nat_t_esp(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv6_nat_t_esp)
 
     def test_negative_case(self):
@@ -2146,15 +2184,15 @@ class ICEDCFSwitchFilterTest(TestCase):
         negative cases
         """
         # set up 4 vfs on 1 pf environment
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         # launch testpmd
         self.launch_testpmd()
         rules = {
-            "cannot create rule on vf 1": "flow create 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions vf id 1 / end",
-            "unsupported input set": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 tos is 4 / end actions vf id 1 / end",
-            "invalid vf id": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions vf id 5 / end",
+            "cannot create rule on vf 1": "flow create 1 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
+            "unsupported input set": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 tos is 4 / end actions represented_port ethdev_port_id 1 / end",
+            "invalid vf id": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 5 / end",
             "void action": "flow create 0 ingress pattern eth / ipv4 / udp src is 25 dst is 23 / end actions end",
-            "void input set value": "flow create 0 ingress pattern eth / ipv4 / end actions vf id 1 end",
+            "void input set value": "flow create 0 ingress pattern eth / ipv4 / end actions represented_port ethdev_port_id 1 end",
         }
         # cannot create rule on vf 1
         self.validate_switch_filter_rule(
@@ -2177,7 +2215,7 @@ class ICEDCFSwitchFilterTest(TestCase):
         self.check_switch_filter_rule_list(0, [])
 
         # duplicated rues
-        rule = "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 ttl is 2 tos is 4 / end actions vf id 1 / end"
+        rule = "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 ttl is 2 tos is 4 / end actions represented_port ethdev_port_id 1 / end"
         rule_list = self.create_switch_filter_rule(rule)  # create a rule
         self.check_switch_filter_rule_list(0, rule_list)
         self.create_switch_filter_rule(rule, check_stats=False)
@@ -2215,7 +2253,7 @@ class ICEDCFSwitchFilterTest(TestCase):
         self.verify("Fail" not in out, "Destroy failed.")
 
         # add long switch rule
-        rule = "flow create 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 tc is 3 / end actions vf id 1 / end"
+        rule = "flow create 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 tc is 3 / end actions represented_port ethdev_port_id 1 / end"
         self.validate_switch_filter_rule(rule, check_stats=False)
         self.check_switch_filter_rule_list(0, [])
         self.create_switch_filter_rule(rule, check_stats=False)
@@ -2229,16 +2267,16 @@ class ICEDCFSwitchFilterTest(TestCase):
         test with os default package
         """
         # set up 4 vfs on 1 pf environment
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         # launch testpmd
         self.launch_testpmd()
         rules = [
-            "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions vf id 1 / end",
-            "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf id 1 / end",
-            "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions vf id 1 / end",
-            "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions vf id 1 / end",
-            "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions vf id 1 / end",
-            "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions vf id 1 / end",
+            "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 1 / end",
+            "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end",
+            "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 1 / end",
+            "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end",
+            "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions represented_port ethdev_port_id 1 / end",
+            "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end",
         ]
         self.validate_switch_filter_rule(rules, check_stats=False)
         self.check_switch_filter_rule_list(0, [])
@@ -2254,7 +2292,7 @@ class ICEDCFSwitchFilterTest(TestCase):
 
     def test_add_existing_rules_but_with_different_vfs(self):
         # set up 4 vfs on 1 pf environment
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         # launch testpmd
         vf0_pci = self.sriov_vfs_port_0[0].pci
         vf1_pci = self.sriov_vfs_port_0[1].pci
@@ -2262,12 +2300,12 @@ class ICEDCFSwitchFilterTest(TestCase):
         all_eal_param = self.dut.create_eal_parameters(
             cores="1S/4C/1T",
             ports=[vf0_pci, vf1_pci, vf2_pci],
-            port_options={vf0_pci: "cap=dcf"},
+            port_options={vf0_pci: "cap=dcf,representor=[1,2]"},
         )
         command = self.path + all_eal_param + " -- -i"
-        out = self.dut.send_expect(command, "testpmd> ", 15)
         self.testpmd_status = "running"
-        self.dut.send_expect("set portlist 1,2", "testpmd> ", 15)
+        out = self.dut.send_expect(command, "testpmd> ", 30)
+        self.dut.send_expect("set portlist 3,4", "testpmd> ", 15)
         self.dut.send_expect("set fwd rxonly", "testpmd> ", 15)
         self.dut.send_expect("set verbose 1", "testpmd> ", 15)
         # create rules with same pattern but to different vfs
@@ -2298,11 +2336,11 @@ class ICEDCFSwitchFilterTest(TestCase):
 
     def test_add_existing_rules_with_the_same_vfs(self):
         # set up 4 vfs on 1 pf environment
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         # launch testpmd
         self.launch_testpmd()
         # create a rule
-        rule = "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions vf id 1 / end"
+        rule = "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end"
         rule_list = self.create_switch_filter_rule(rule)  # create a rule
         self.check_switch_filter_rule_list(0, rule_list)
         # create the same rule
@@ -2311,7 +2349,7 @@ class ICEDCFSwitchFilterTest(TestCase):
 
     def test_add_two_rules_with_one_rule_input_set_included_in_the_other(self):
         # set up 4 vfs on 1 pf environment
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         # launch testpmd
         vf0_pci = self.sriov_vfs_port_0[0].pci
         vf1_pci = self.sriov_vfs_port_0[1].pci
@@ -2319,12 +2357,12 @@ class ICEDCFSwitchFilterTest(TestCase):
         all_eal_param = self.dut.create_eal_parameters(
             cores="1S/4C/1T",
             ports=[vf0_pci, vf1_pci, vf2_pci],
-            port_options={vf0_pci: "cap=dcf"},
+            port_options={vf0_pci: "cap=dcf,representor=[1,2]"},
         )
         command = self.path + all_eal_param + " -- -i"
-        out = self.dut.send_expect(command, "testpmd> ", 15)
         self.testpmd_status = "running"
-        self.dut.send_expect("set portlist 1,2", "testpmd> ", 15)
+        out = self.dut.send_expect(command, "testpmd> ", 30)
+        self.dut.send_expect("set portlist 3,4", "testpmd> ", 15)
         self.dut.send_expect("set fwd rxonly", "testpmd> ", 15)
         self.dut.send_expect("set verbose 1", "testpmd> ", 15)
         # create rules with one rule's input set included in the other
@@ -2367,12 +2405,12 @@ class ICEDCFSwitchFilterTest(TestCase):
 
     def test_fwd_with_single_vf(self):
         # set up 4 vfs on 1 pf environment
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         # launch testpmd
         command = self.create_testpmd_command()
-        out = self.dut.send_expect(command, "testpmd> ", 15)
         self.testpmd_status = "running"
-        self.dut.send_expect("set portlist 1", "testpmd> ", 15)
+        out = self.dut.send_expect(command, "testpmd> ", 30)
+        self.dut.send_expect("set portlist 3", "testpmd> ", 15)
         self.dut.send_expect("set fwd mac", "testpmd> ", 15)
         self.dut.send_expect("set verbose 1", "testpmd> ", 15)
         # create a rule
@@ -2395,7 +2433,7 @@ class ICEDCFSwitchFilterTest(TestCase):
 
     def test_fwd_with_multi_vfs(self):
         # set up 4 vfs on 1 pf environment
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         # launch testpmd
         vf0_pci = self.sriov_vfs_port_0[0].pci
         vf1_pci = self.sriov_vfs_port_0[1].pci
@@ -2403,12 +2441,12 @@ class ICEDCFSwitchFilterTest(TestCase):
         all_eal_param = self.dut.create_eal_parameters(
             cores="1S/4C/1T",
             ports=[vf0_pci, vf1_pci, vf2_pci],
-            port_options={vf0_pci: "cap=dcf"},
+            port_options={vf0_pci: "cap=dcf,representor=[1,2]"},
         )
         command = self.path + all_eal_param + " -- -i"
-        out = self.dut.send_expect(command, "testpmd> ", 15)
         self.testpmd_status = "running"
-        self.dut.send_expect("set portlist 1,2", "testpmd> ", 15)
+        out = self.dut.send_expect(command, "testpmd> ", 30)
+        self.dut.send_expect("set portlist 3,4", "testpmd> ", 15)
         self.dut.send_expect("set fwd mac", "testpmd> ", 15)
         self.dut.send_expect("set verbose 1", "testpmd> ", 15)
         # create a rule
@@ -2466,18 +2504,29 @@ class ICEDCFSwitchFilterTest(TestCase):
         )
         time.sleep(5)
         vf_intf.pop(0)
+        # re-compile testpmd for more port
+        self.dut.send_expect(
+            "CC=gcc meson --werror -Denable_kmods=True -Dlibdir=lib -Dmax_ethports=128 x86_64-native-linuxapp-gcc",
+            "# ",
+            timeout = 120
+        )
+        self.dut.send_expect(
+            "ninja -C x86_64-native-linuxapp-gcc",
+            "# ",
+            timeout = 180
+        )
         # launch testpmd
         vf0_pci = vf_pci[0]
         all_eal_param = self.dut.create_eal_parameters(
-            cores="1S/4C/1T", ports=[vf0_pci], port_options={vf0_pci: "cap=dcf"}
+            cores="1S/4C/1T", ports=[vf0_pci], port_options={vf0_pci: f"cap=dcf,representor=[1-{max_vf_number-1}]"}
         )
         command = self.path + all_eal_param + " -- -i"
-        out = self.dut.send_expect(command, "testpmd> ", 15)
         self.testpmd_status = "running"
+        out = self.dut.send_expect(command, "testpmd> ", 30)
         # generate max_vf_number-1 rules to each vf and matched packets
         for i in range(1, max_vf_number):
             rte_flow_pattern = (
-                "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.%d / tcp / end actions vf id %d / end"
+                "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.%d / tcp / end actions represented_port ethdev_port_id %d / end"
                 % (i, i)
             )
             tv_max_vfs["rte_flow_pattern"].append(rte_flow_pattern)
@@ -2536,7 +2585,7 @@ class ICEDCFSwitchFilterTest(TestCase):
 
     def test_max_field_vectors(self):
         # set up 4 vfs on 1 pf environment
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         # launch testpmd
         self.launch_testpmd()
         # create 3 nvgre rules, which have run out of field vectors
@@ -2545,7 +2594,7 @@ class ICEDCFSwitchFilterTest(TestCase):
         )  # create a rule
         self.check_switch_filter_rule_list(0, rule_list)
         # create a rule, check the rule can not be created successfully
-        rule = "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.10 / nvgre tni is 0x8 /  eth dst is 68:05:ca:8d:ed:a1  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions vf id 1 / end"
+        rule = "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.10 / nvgre tni is 0x8 /  eth dst is 68:05:ca:8d:ed:a1  / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end"
         self.create_switch_filter_rule(rule, check_stats=False)
         self.check_switch_filter_rule_list(0, rule_list)
         # send matched packets and check
@@ -2564,7 +2613,7 @@ class ICEDCFSwitchFilterTest(TestCase):
 
     def test_dcf_stop_start(self):
         # set up 4 vfs on 1 pf environment
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         # launch testpmd
         self.launch_testpmd()
         # create MAC_IPV4_UDP_PAY rule
@@ -2585,27 +2634,27 @@ class ICEDCFSwitchFilterTest(TestCase):
 
     @skip_unsupported_pkg(["os default", "wireless"])
     def test_mac_ipv4_pfcp_node(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv4_pfcp_node)
 
     @skip_unsupported_pkg(["os default", "wireless"])
     def test_mac_ipv4_pfcp_session(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv4_pfcp_session)
 
     @skip_unsupported_pkg(["os default", "wireless"])
     def test_mac_ipv6_pfcp_node(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv6_pfcp_node)
 
     @skip_unsupported_pkg(["os default", "wireless"])
     def test_mac_ipv6_pfcp_session(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(tv_mac_ipv6_pfcp_session)
 
     @skip_unsupported_pkg(["os default", "wireless"])
     def test_add_two_rules_with_different_input_set_same_vf_id(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self._rte_flow_validate_pattern(
             tv_add_two_rules_with_different_input_set_same_vf_id
         )
@@ -2613,7 +2662,7 @@ class ICEDCFSwitchFilterTest(TestCase):
     @skip_unsupported_pkg(["os default", "wireless"])
     def test_add_two_rules_with_different_input_set_different_vf_id(self):
         # set up 4 vfs on 1 pf environment
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         # launch testpmd
         vf0_pci = self.sriov_vfs_port_0[0].pci
         vf1_pci = self.sriov_vfs_port_0[1].pci
@@ -2621,12 +2670,12 @@ class ICEDCFSwitchFilterTest(TestCase):
         all_eal_param = self.dut.create_eal_parameters(
             cores="1S/4C/1T",
             ports=[vf0_pci, vf1_pci, vf2_pci],
-            port_options={vf0_pci: "cap=dcf"},
+            port_options={vf0_pci: "cap=dcf,representor=[1,2]"},
         )
         command = self.path + all_eal_param + " -- -i"
-        out = self.dut.send_expect(command, "testpmd> ", 15)
         self.testpmd_status = "running"
-        self.dut.send_expect("set portlist 1,2", "testpmd> ", 15)
+        out = self.dut.send_expect(command, "testpmd> ", 30)
+        self.dut.send_expect("set portlist 3,4", "testpmd> ", 15)
         self.dut.send_expect("set fwd rxonly", "testpmd> ", 15)
         self.dut.send_expect("set verbose 1", "testpmd> ", 15)
         self._rte_flow_validate_pattern(
@@ -2635,7 +2684,7 @@ class ICEDCFSwitchFilterTest(TestCase):
 
     @skip_unsupported_pkg(["os default", "wireless"])
     def test_mac_drop_action(self):
-        self.setup_1pf_vfs_env()
+        self.setup_2pf_vfs_env()
         self.dut.send_expect(
             'ip link set %s vf 1 mac "00:11:22:33:44:55"' % self.pf0_intf, "# "
         )
@@ -2689,9 +2738,15 @@ class ICEDCFSwitchFilterTest(TestCase):
         Run after each test suite.
         """
         self.dut.kill_all()
-        if self.default_stats:
+        if self.default_pf0_stats:
+            self.dut.send_expect(
+                "ethtool --set-priv-flags %s %s %s"
+                % (self.pf0_intf, self.flag, self.default_pf0_stats),
+                "# ",
+            )
+        if self.default_pf1_stats:
             self.dut.send_expect(
                 "ethtool --set-priv-flags %s %s %s"
-                % (self.pf0_intf, self.flag, self.default_stats),
+                % (self.pf1_intf, self.flag, self.default_pf1_stats),
                 "# ",
             )
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [DTS][PATCH V1 21/21] test_plans/ice_dcf_switch_filter: add white space to formate the table
  2022-09-28  3:18 [DTS][PATCH V1 00/21] update test plans and tests to support represented port action and port representor action from deprecated vf action on DCF cases Ke Xu
                   ` (19 preceding siblings ...)
  2022-09-28  3:18 ` [DTS][PATCH V1 20/21] test/ice_dcf_switch_filter: " Ke Xu
@ 2022-09-28  3:18 ` Ke Xu
  20 siblings, 0 replies; 22+ messages in thread
From: Ke Xu @ 2022-09-28  3:18 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, jin.ling, zhiminx.huang, weiyuanx.li, qi.fu, Ke Xu

Signed-off-by: Ke Xu <ke1.xu@intel.com>
---
 test_plans/ice_dcf_switch_filter_test_plan.rst | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/test_plans/ice_dcf_switch_filter_test_plan.rst b/test_plans/ice_dcf_switch_filter_test_plan.rst
index 015f0006..7e161947 100644
--- a/test_plans/ice_dcf_switch_filter_test_plan.rst
+++ b/test_plans/ice_dcf_switch_filter_test_plan.rst
@@ -34,7 +34,7 @@ Pattern and input set
   |                     | MAC_IPV4_UDP_PAY              | [Dest MAC], [Source IP], [Dest IP],       |
   |                     |                               | [TTL], [DSCP], [Source Port], [Dest Port] |
   |                     +-------------------------------+-------------------------------------------+
-  |    IPv4/IPv6 + 	| MAC_IPV4_TCP_PAY              | [Dest MAC], [Source IP], [Dest IP],       |
+  |    IPv4/IPv6 + 	    | MAC_IPV4_TCP_PAY              | [Dest MAC], [Source IP], [Dest IP],       |
   |    TCP/UDP/IGMP     |                               | [TTL], [DSCP], [Source Port], [Dest Port] |
   |                     +-------------------------------+-------------------------------------------+
   |                     | MAC_IPV4_IGMP                 | [IP protocol]                             |
@@ -54,7 +54,7 @@ Pattern and input set
   |                     |                               | [Source Port], [Dest Port]                |
   +---------------------+-------------------------------+-------------------------------------------+
   |                     | MAC_IPV4_TUN_IPV4_FRAG        | [Out Dest IP], [VNI/GRE_KEY],             |
-  |                     |               	        | [Inner Source IP], [Inner Dest IP]        |
+  |                     |               	              | [Inner Source IP], [Inner Dest IP]        |
   |                     +-------------------------------+-------------------------------------------+
   |                     | MAC_IPV4_TUN_IPV4_PAY         | [Out Dest IP], [VNI/GRE_KEY],             |
   |                     |                               | [Inner Source IP], [Inner Dest IP]        |
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2022-09-28  3:28 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-28  3:18 [DTS][PATCH V1 00/21] update test plans and tests to support represented port action and port representor action from deprecated vf action on DCF cases Ke Xu
2022-09-28  3:18 ` [DTS][PATCH V1 01/21] test_plans/dcf_lifecycle: update test plan to support represented port action from deprecated vf action Ke Xu
2022-09-28  3:18 ` [DTS][PATCH V1 02/21] test_plans/ice_dcf_acl_filter: " Ke Xu
2022-09-28  3:18 ` [DTS][PATCH V1 03/21] test_plans/ice_limit_value_test: " Ke Xu
2022-09-28  3:18 ` [DTS][PATCH V1 04/21] test_plans/ice_dcf_flow_priority: " Ke Xu
2022-09-28  3:18 ` [DTS][PATCH V1 05/21] test_plans/ice_dcf_switch_filter_gtpu: " Ke Xu
2022-09-28  3:18 ` [DTS][PATCH V1 06/21] test_plans/ice_dcf_switch_filter_pppoe: " Ke Xu
2022-09-28  3:18 ` [DTS][PATCH V1 07/21] test_plans/ice_qinq: " Ke Xu
2022-09-28  3:18 ` [DTS][PATCH V1 08/21] test_plans/ice_dcf_acl_filter: remove redundant white space Ke Xu
2022-09-28  3:18 ` [DTS][PATCH V1 09/21] test_plans/dcf_lifecycle: " Ke Xu
2022-09-28  3:18 ` [DTS][PATCH V1 10/21] test_plans/ice_dcf_data_path: update test plan to support port representor action from deprecated vf action Ke Xu
2022-09-28  3:18 ` [DTS][PATCH V1 11/21] tests/dcf_lifecycle: update test plan to support represented port " Ke Xu
2022-09-28  3:18 ` [DTS][PATCH V1 12/21] tests/ice_dcf_acl_filter: " Ke Xu
2022-09-28  3:18 ` [DTS][PATCH V1 13/21] tests/ice_limit_value_test: " Ke Xu
2022-09-28  3:18 ` [DTS][PATCH V1 14/21] tests/ice_dcf_flow_priority: " Ke Xu
2022-09-28  3:18 ` [DTS][PATCH V1 15/21] tests/ice_dcf_switch_filter_gtpu: " Ke Xu
2022-09-28  3:18 ` [DTS][PATCH V1 16/21] tests/ice_dcf_switch_filter_pppoe: " Ke Xu
2022-09-28  3:18 ` [DTS][PATCH V1 17/21] tests/ice_qinq: " Ke Xu
2022-09-28  3:18 ` [DTS][PATCH V1 18/21] tests/ice_dcf_data_path: update test plan to support port representor " Ke Xu
2022-09-28  3:18 ` [DTS][PATCH V1 19/21] test_plans/ice_dcf_switch_filter: update test plan to support represented port " Ke Xu
2022-09-28  3:18 ` [DTS][PATCH V1 20/21] test/ice_dcf_switch_filter: " Ke Xu
2022-09-28  3:18 ` [DTS][PATCH V1 21/21] test_plans/ice_dcf_switch_filter: add white space to formate the table Ke Xu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).