[V2,2/4] test_plans/iavf_fdir_test_plan:add esp flow test plan

Message ID 20210914181204.20088-3-zhiminx.huang@intel.com (mailing list archive)
State Changes Requested
Headers
Series enable esp flow |

Commit Message

Huang, ZhiminX Sept. 14, 2021, 6:12 p.m. UTC
  add 21.08 new feature testplan,this feature support esp flow to match outer ip header.
take ip src/dst and spi for inputset,add 4 new cases in iavf_fdir test plan.

Signed-off-by: Zhimin Huang <zhiminx.huang@intel.com>
---
 test_plans/iavf_fdir_test_plan.rst | 253 +++++++++++++++++++++++++----
 1 file changed, 217 insertions(+), 36 deletions(-)
  

Comments

Lin, Xueqin Sept. 15, 2021, 3:27 a.m. UTC | #1
> -----Original Message-----
> From: Huang, ZhiminX <zhiminx.huang@intel.com>
> Sent: Wednesday, September 15, 2021 2:12 AM
> To: dts@dpdk.org
> Cc: Lin, Xueqin <xueqin.lin@intel.com>; Huang, ZhiminX
> <zhiminx.huang@intel.com>
> Subject: [dts] [PATCH V2 2/4] test_plans/iavf_fdir_test_plan:add esp flow
> test plan
> 
> add 21.08 new feature testplan,this feature support esp flow to match outer
> ip header.
> take ip src/dst and spi for inputset,add 4 new cases in iavf_fdir test plan.
> 
> Signed-off-by: Zhimin Huang <zhiminx.huang@intel.com>
Acked-by: Xueqin Lin <xueqin.lin@intel.com>
> ---
>  test_plans/iavf_fdir_test_plan.rst | 253 +++++++++++++++++++++++++----
>  1 file changed, 217 insertions(+), 36 deletions(-)
> 
> diff --git a/test_plans/iavf_fdir_test_plan.rst
> b/test_plans/iavf_fdir_test_plan.rst
> index c7b8bc97..a4ea71a0 100644
> --- a/test_plans/iavf_fdir_test_plan.rst
> +++ b/test_plans/iavf_fdir_test_plan.rst
> @@ -80,9 +80,9 @@ Pattern and input set
>      +------------------------------+------------------------------+--------------------------------
> -----------------------------------+
>      |                              |MAC_IPV6_L2TPv3               | [Session ID]
> |
>      +------------------------------+------------------------------+--------------------------------
> -----------------------------------+
> -    | ESP                          |MAC_IPV4_ESP                  | [SPI]
> |
> +    | ESP                          |MAC_IPV4_ESP                  | [Source IP], [Dest IP], [SPI]
> |
>      +------------------------------+------------------------------+--------------------------------
> -----------------------------------+
> -    |                              |MAC_IPV6_ESP                  | [SPI]
> |
> +    |                              |MAC_IPV6_ESP                  | [Source IP], [Dest IP], [SPI]
> |
>      +------------------------------+------------------------------+--------------------------------
> -----------------------------------+
>      |                              |MAC_IPV4_AH                   | [SPI]
> |
>      +------------------------------+------------------------------+--------------------------------
> -----------------------------------+
> @@ -599,23 +599,25 @@ Send packets
> 
>     matched packets::
> 
> -
> sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.3",proto=50)/ESP(spi
> =7)/Raw('x'*480),iface="enp134s0f1")
> -
> sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.1.3",proto=50)/ESP(spi
> =7)/Raw('x'*480),iface="enp134s0f1")
> -
> +
> + sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.20",dst="192.16
> + 8.0.21",proto=50)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
> +
>     mismatched packets::
> 
> -
> sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.3",proto=50)/ESP(spi
> =17)/Raw('x'*480),iface="enp134s0f1")
> +
> sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.22",dst="192.168.0.2
> 1",proto=50)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
> +
> sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.20",dst="192.168.0.1
> 1",proto=50)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
> +
> + sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.20",dst="192.16
> + 8.0.21",proto=50)/ESP(spi=17)/Raw('x'*480),iface="enp134s0f1")
> 
>  * MAC_IPV6_ESP
> 
>     matched packets::
> 
> -
> sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="1111:2222:3333:4444:5555:6
> 666:7777:8888",nh=50)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
> -
> sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="1111:2222:3333:4444:5555:6
> 666:7777:9999",nh=50)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
> -
> +
> + sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="2001::1",dst="2001::2",
> + nh=50)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
> +
>     mismatched packets::
> 
> -
> sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="1111:2222:3333:4444:5555:6
> 666:7777:8888",nh=50)/ESP(spi=17)/Raw('x'*480),iface="enp134s0f1")
> +
> sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="2001::8",dst="2001::2",nh=5
> 0)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
> +
> sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="2001::1",dst="2001::9",nh=5
> 0)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
> +
> + sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="2001::1",dst="2001::2",
> + nh=50)/ESP(spi=17)/Raw('x'*480),iface="enp134s0f1")
> 
>  * MAC_IPV4_AH
> 
> @@ -643,25 +645,25 @@ Send packets
> 
>     matched packets::
> 
> -
> sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.20")/UDP(dport=450
> 0)/ESP(spi=2)/Raw('x'*480),iface="enp134s0f1")
> +
> + sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.20",dst="192.16
> + 8.0.21")/UDP(dport=4500)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
> 
>     mismatched packets::
> 
> -
> sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.10.20")/UDP(dport=45
> 00)/ESP(spi=2)/Raw('x'*480),iface="enp134s0f1")
> -
> sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.20")/UDP(dport=450
> 0)/ESP(spi=12)/Raw('x'*480),iface="enp134s0f1")
> -
> sendp(Ether(dst='00:11:22:33:44:55')/IP(dst="192.168.0.20")/UDP(dport=450
> 0)/ESP(spi=2)/Raw('x'*480),iface="enp134s0f1")
> +
> sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.22",dst="192.168.0.2
> 1")/UDP(dport=4500)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
> +
> sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.20",dst="192.168.0.1
> 1")/UDP(dport=4500)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
> +
> + sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.20",dst="192.16
> + 8.0.21")/UDP(dport=4500)/ESP(spi=17)/Raw('x'*480),iface="enp134s0f1")
> 
>  * MAC_IPV6_NAT-T-ESP
> 
>     matched packets::
> 
> -
> sendp(Ether(dst='00:11:22:33:44:55')/IPv6(dst="1111:2222:3333:4444:5555:6
> 666:7777:8888")/UDP(dport=4500)/ESP(spi=2)/Raw('x'*480),iface="enp134s0
> f1")
> +
> + sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="2001::1",dst="2001::2")
> + /UDP(dport=4500)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
> 
>     mismatched packets::
> 
> -
> sendp(Ether(dst='00:11:22:33:44:55')/IPv6(dst="1111:2222:3333:4444:5555:6
> 666:7777:8888")/UDP(dport=4500)/ESP(spi=12)/Raw('x'*480),iface="enp134s
> 0f1")
> -
> sendp(Ether(dst='00:11:22:33:44:55')/IPv6(dst="1111:2222:3333:4444:5555:6
> 666:7777:9999")/UDP(dport=4500)/ESP(spi=2)/Raw('x'*480),iface="enp134s0
> f1")
> -
> sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="1111:2222:3333:4444:5555:6
> 666:7777:8888")/UDP(dport=4500)/ESP(spi=2)/Raw('x'*480),iface="enp134s0
> f1")
> +
> sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="2001::8",dst="2001::2")/UDP(
> dport=4500)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
> +
> sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="2001::1",dst="2001::9")/UDP(
> dport=4500)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
> +
> + sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="2001::1",dst="2001::2")
> + /UDP(dport=4500)/ESP(spi=17)/Raw('x'*480),iface="enp134s0f1")
> 
>  * MAC_IPV4_GTPU_IPV4
> 
> @@ -3610,7 +3612,7 @@ Subcase 1: MAC_IPV4_ESP queue index
> 
>  1. create filter rules::
> 
> -    flow create 0 ingress pattern eth / ipv4 / esp spi is 7 / end actions queue
> index 13 / mark id 7 / end
> +    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is
> + 192.168.0.21 / esp spi is 7 / end actions queue index 13 / mark id 7 /
> + end
> 
>  2. send matched packets, check the packets are distributed to queue 13 with
> FDIR matched ID.
>     send mismatched packets, check the packets are not distributed to queue
> 13 without FDIR matched ID.
> @@ -3632,7 +3634,7 @@ Subcase 2: MAC_IPV4_ESP rss queues
> 
>  1. create filter rules::
> 
> -    flow create 0 ingress pattern eth / ipv4 / esp spi is 7 / end actions rss
> queues 1 2 3 4 end / mark id 6 / end
> +    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is
> + 192.168.0.21 / esp spi is 7 / end actions rss queues 1 2 3 4 end /
> + mark id 6 / end
> 
>  2. send matched packets, check the packets are distributed to queue 1 or 2
> or 3 or 4 with FDIR matched ID.
>     send mismatched packets, check the packets are not distributed to queue 1
> or 2 or 3 or 4 without FDIR matched ID.
> @@ -3642,12 +3644,57 @@ Subcase 2: MAC_IPV4_ESP rss queues  4. verify
> matched packets are not distributed to queue 1 or 2 or 3 or 4 without FDIR
> matched ID.
>     check there is no rule listed.
> 
> -Subcase 3: MAC_IPV4_ESP mark
> +Subcase 3: MAC_IPV4_ESP passthru
> +-----------------------------------
> +
> +1. create filter rules::
> +
> +    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is
> + 192.168.0.21 / esp spi is 7 / end actions passthru / mark id 1 / end
> +
> +2. send matched packets, check the packets are distributed by RSS without
> FDIR matched ID.
> +   send mismatched packets, check the packets are distributed by RSS
> without FDIR matched ID.
> +
> +3. repeat step 3 of subcase 1.
> +
> +4. verify matched packets are distributed to the same queue without FDIR
> matched ID.
> +   check there is no rule listed.
> +
> +Subcase 4: MAC_IPV4_ESP drop
> +-------------------------------
> +
> +1. create filter rules::
> +
> +    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is
> + 192.168.0.21 / esp spi is 7 / end actions drop / end
> +
> +2. send matched packets, check the packets are dropped
> +   send mismatched packets, check the packets are not dropped.
> +
> +3. repeat step 3 of subcase 1.
> +
> +4. verify matched packets are not dropped.
> +   check there is no rule listed.
> +
> +Subcase 5: MAC_IPV4_ESP mark+rss
> +-----------------------------------
> +
> +1. create filter rules::
> +
> +    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is
> + 192.168.0.21 / esp spi is 7 / end actions mark id 2 / rss / end
> +
> +2. send matched packets, check the packets are distributed by RSS with FDIR
> matched ID.
> +   send mismatched packets, check the packets are distributed by RSS
> without FDIR matched ID.
> +
> +3. repeat step 3 of subcase 1.
> +
> +4. verify matched packets are distributed to the same queue without FDIR
> matched ID.
> +   check there is no rule listed.
> +
> +Subcase 6: MAC_IPV4_ESP mark
>  ----------------------------
> 
>  1. create filter rules::
> 
> -    flow create 0 ingress pattern eth / ipv4 / esp spi is 7 / end actions mark id
> 15 / end
> +    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is
> + 192.168.0.21 / esp spi is 7 / end actions mark id 15 / end
> 
>  2. send matched packets, check the packets are received with FDIR matched
> ID.
>     send mismatched packets, check the packets are received without FDIR
> matched ID.
> @@ -3657,7 +3704,6 @@ Subcase 3: MAC_IPV4_ESP mark  4. verify matched
> packets are received without FDIR matched ID.
>     check there is no rule listed.
> 
> -
>  Test case: MAC_IPV6_ESP pattern
>  ===============================
> 
> @@ -3666,7 +3712,7 @@ Subcase 1: MAC_IPV6_ESP queue index
> 
>  1. create filter rules::
> 
> -    flow create 0 ingress pattern eth / ipv6 / esp spi is 7 / end actions queue
> index 13 / mark id 7 / end
> +    flow create 0 ingress pattern eth / ipv6 dst is 2001::1 dst is
> + 2001::2 / esp spi is 7 / end actions queue index 13 / mark id 7 / end
> 
>  2. send matched packets, check the packets are distributed to queue 13 with
> FDIR matched ID.
>     send mismatched packets, check the packets are not distributed to queue
> 13 without FDIR matched ID.
> @@ -3688,7 +3734,7 @@ Subcase 2: MAC_IPV6_ESP rss queues
> 
>  1. create filter rules::
> 
> -    flow create 0 ingress pattern eth / ipv6 / esp spi is 7 / end actions rss
> queues 1 2 3 4 end / mark id 6 / end
> +    flow create 0 ingress pattern eth / ipv6 dst is 2001::1 dst is
> + 2001::2 / esp spi is 7 / end actions rss queues 1 2 3 4 end / mark id
> + 6 / end
> 
>  2. send matched packets, check the packets are distributed to queue 1 or 2
> or 3 or 4 with FDIR matched ID.
>     send mismatched packets, check the packets are not distributed to queue 1
> or 2 or 3 or 4 without FDIR matched ID.
> @@ -3698,12 +3744,57 @@ Subcase 2: MAC_IPV6_ESP rss queues  4. verify
> matched packets are not distributed to queue 1 or 2 or 3 or 4 without FDIR
> matched ID.
>     check there is no rule listed.
> 
> -Subcase 3: MAC_IPV6_ESP mark
> +Subcase 3: MAC_IPV6_ESP passthru
> +-----------------------------------
> +
> +1. create filter rules::
> +
> +    flow create 0 ingress pattern eth / ipv6 dst is 2001::1 dst is
> + 2001::2 / esp spi is 7 / end actions passthru / mark id 1 / end
> +
> +2. send matched packets, check the packets are distributed by RSS with FDIR
> matched ID.
> +   send mismatched packets, check the packets are distributed by RSS
> without FDIR matched ID.
> +
> +3. repeat step 3 of subcase 1.
> +
> +4. verify matched packets are distributed to the same queue without FDIR
> matched ID.
> +   check there is no rule listed.
> +
> +Subcase 4: MAC_IPV6_ESP drop
> +-------------------------------
> +
> +1. create filter rules::
> +
> +    flow create 0 ingress pattern eth / ipv6 dst is 2001::1 dst is
> + 2001::2 / esp spi is 7 / end actions drop / end
> +
> +2. send matched packets, check the packets are dropped
> +   send mismatched packets, check the packets are not dropped.
> +
> +3. repeat step 3 of subcase 1.
> +
> +4. verify matched packets are not dropped.
> +   check there is no rule listed.
> +
> +Subcase 5: MAC_IPV6_ESP mark+rss
> +-----------------------------------
> +
> + 1. create filter rules::
> +
> +    flow create 0 ingress pattern eth / ipv6 dst is 2001::1 dst is
> + 2001::2 / esp spi is 7 / end actions mark id 2 / rss / end
> +
> +2. send matched packets, check the packets are distributed by RSS with FDIR
> matched ID.
> +   send mismatched packets, check the packets are distributed by RSS
> without FDIR matched ID.
> +
> +3. repeat step 3 of subcase 1.
> +
> +4. verify matched packets are distributed to the same queue without FDIR
> matched ID.
> +   check there is no rule listed.
> +
> +Subcase 6: MAC_IPV6_ESP mark
>  ----------------------------
> 
>  1. create filter rules::
> 
> -    flow create 0 ingress pattern eth / ipv6 / esp spi is 7 / end actions mark id
> 15 / end
> +    flow create 0 ingress pattern eth / ipv6 dst is 2001::1 dst is
> + 2001::2 / esp spi is 7 / end actions mark id 15 / end
> 
>  2. send matched packets, check the packets are received with FDIR matched
> ID.
>     send mismatched packets, check the packets are received without FDIR
> matched ID.
> @@ -3834,7 +3925,7 @@ Subcase 1: MAC_IPV4_NAT-T-ESP queue index
> 
>  1. create filter rules::
> 
> -    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 / udp / esp spi
> is 2 / end actions queue index 13 / mark id 7 / end
> +    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is
> + 192.168.0.21 / udp / esp spi is 7 / end actions queue index 13 / mark
> + id 7 / end
> 
>  2. send matched packets, check the packets are distributed to queue 13 with
> FDIR matched ID.
>     send mismatched packets, check the packets are not distributed to queue
> 13 without FDIR matched ID.
> @@ -3856,7 +3947,7 @@ Subcase 2: MAC_IPV4_NAT-T-ESP rss queues
> 
>  1. create filter rules::
> 
> -    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 / udp / esp spi
> is 2 / end actions rss queues 1 2 3 4 end / mark id 6 / end
> +    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is
> + 192.168.0.21 / udp / esp spi is 7 / end actions rss queues 1 2 3 4 end
> + / mark id 6 / end
> 
>  2. send matched packets, check the packets are distributed to queue 1 or 2
> or 3 or 4 with FDIR matched ID.
>     send mismatched packets, check the packets are not distributed to queue 1
> or 2 or 3 or 4 without FDIR matched ID.
> @@ -3866,12 +3957,57 @@ Subcase 2: MAC_IPV4_NAT-T-ESP rss queues  4.
> verify matched packets are not distributed to queue 1 or 2 or 3 or 4 without
> FDIR matched ID.
>     check there is no rule listed.
> 
> -Subcase 3: MAC_IPV4_NAT-T-ESP mark
> -----------------------------------
> +Subcase 3: MAC_IPV4_NAT-T-ESP passthru
> +-----------------------------------------
> +
> +1. create filter rules::
> +
> +    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is
> + 192.168.0.21 / udp / esp spi is 7 / end actions passthru / mark id 1 /
> + end
> +
> +2. send matched packets, check the packets are distributed by RSS with FDIR
> matched ID.
> +   send mismatched packets, check the packets are distributed by RSS
> without FDIR matched ID.
> +
> +3. repeat step 3 of subcase 1.
> +
> +4. verify matched packets are distributed to the same queue without FDIR
> matched ID.
> +   check there is no rule listed.
> +
> +Subcase 4: MAC_IPV4_NAT-T-ESP drop
> +-------------------------------------
> 
>  1. create filter rules::
> 
> -    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 / udp / esp spi
> is 2 / end actions mark id 15 / end
> +    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is
> + 192.168.0.21 / udp / esp spi is 7 / end actions drop / end
> +
> +2. send matched packets, check the packets are dropped
> +   send mismatched packets, check the packets are not dropped.
> +
> +3. repeat step 3 of subcase 1.
> +
> +4. verify matched packets are not dropped.
> +   check there is no rule listed.
> +
> +Subcase 5: MAC_IPV4_NAT-T-ESP mark+rss
> +-----------------------------------------
> +
> + 1. create filter rules::
> +
> +    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is
> + 192.168.0.21 / udp / esp spi is 7 / end actions mark id 2 / rss / end
> +
> +2. send matched packets, check the packets are distributed by RSS with FDIR
> matched ID.
> +   send mismatched packets, check the packets are distributed by RSS
> without FDIR matched ID.
> +
> +3. repeat step 3 of subcase 1.
> +
> +4. verify matched packets are distributed to the same queue without FDIR
> matched ID.
> +   check there is no rule listed.
> +
> +Subcase 6: MAC_IPV4_NAT-T-ESP mark
> +-----------------------------------
> +
> +1. create filter rules::
> +
> +    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is
> + 192.168.0.21 / udp / esp spi is 7 / end actions mark id 15 / end
> 
>  2. send matched packets, check the packets are received with FDIR matched
> ID.
>     send mismatched packets, check the packets are received without FDIR
> matched ID.
> @@ -3890,7 +4026,7 @@ Subcase 1: MAC_IPV6_NAT-T-ESP queue index
> 
>  1. create filter rules::
> 
> -    flow create 0 ingress pattern eth / ipv6 src is 192.168.0.20 / udp / esp spi
> is 2 / end actions queue index 13 / mark id 7 / end
> +    flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst is
> + 2001::2 / udp / esp spi is 7 / end actions queue index 13 / mark id 7
> + / end
> 
>  2. send matched packets, check the packets are distributed to queue 13 with
> FDIR matched ID.
>     send mismatched packets, check the packets are not distributed to queue
> 13 without FDIR matched ID.
> @@ -3912,7 +4048,7 @@ Subcase 2: MAC_IPV6_NAT-T-ESP rss queues
> 
>  1. create filter rules::
> 
> -    flow create 0 ingress pattern eth / ipv6 src is 192.168.0.20 / udp / esp spi
> is 2 / end actions rss queues 1 2 3 4 end / mark id 6 / end
> +    flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst is
> + 2001::2 / udp / esp spi is 7 / end actions rss queues 1 2 3 4 end /
> + mark id 6 / end
> 
>  2. send matched packets, check the packets are distributed to queue 1 or 2
> or 3 or 4 with FDIR matched ID.
>     send mismatched packets, check the packets are not distributed to queue 1
> or 2 or 3 or 4 without FDIR matched ID.
> @@ -3922,12 +4058,57 @@ Subcase 2: MAC_IPV6_NAT-T-ESP rss queues  4.
> verify matched packets are not distributed to queue 1 or 2 or 3 or 4 without
> FDIR matched ID.
>     check there is no rule listed.
> 
> -Subcase 3: MAC_IPV6_NAT-T-ESP mark
> +Subcase 3: MAC_IPV6_NAT-T-ESP passthru
> +-----------------------------------------
> +
> +1. create filter rules::
> +
> +    flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst is
> + 2001::2 / udp / esp spi is 7 / end actions passthru / mark id 1 / end
> +
> +2. send matched packets, check the packets are distributed by RSS with FDIR
> matched ID.
> +   send mismatched packets, check the packets are distributed by RSS
> without FDIR matched ID.
> +
> +3. repeat step 3 of subcase 1.
> +
> +4. verify matched packets are distributed to the same queue without FDIR
> matched ID.
> +   check there is no rule listed.
> +
> +Subcase 4: MAC_IPV6_NAT-T-ESP drop
> +-------------------------------------
> +
> +1. create filter rules::
> +
> +    flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst is
> + 2001::2 / udp / esp spi is 7 / end actions drop / end
> +
> +2. send matched packets, check the packets are dropped
> +   send mismatched packets, check the packets are not dropped.
> +
> +3. repeat step 3 of subcase 1.
> +
> +4. verify matched packets are not dropped.
> +   check there is no rule listed.
> +
> +Subcase 5: MAC_IPV6_NAT-T-ESP mark+rss
> +-----------------------------------------
> +
> +1. create filter rules::
> +
> +    flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst is
> + 2001::2 / udp / esp spi is 7 / end actions mark id 2 / rss / end
> +
> +2. send matched packets, check the packets are distributed by RSS with FDIR
> matched ID.
> +   send mismatched packets, check the packets are distributed by RSS
> without FDIR matched ID.
> +
> +3. repeat step 3 of subcase 1.
> +
> +4. verify matched packets are distributed to the same queue without FDIR
> matched ID.
> +   check there is no rule listed.
> +
> +Subcase 6: MAC_IPV6_NAT-T-ESP mark
>  ----------------------------------
> 
>  1. create filter rules::
> 
> -    flow create 0 ingress pattern eth / ipv6 src is 192.168.0.20 / udp / esp spi
> is 2 / end actions mark id 15 / end
> +    flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst is
> + 2001::2 / udp / esp spi is 7 / end actions mark id 15 / end
> 
>  2. send matched packets, check the packets are received with FDIR matched
> ID.
>     send mismatched packets, check the packets are received without FDIR
> matched ID.
> --
> 2.17.1
  

Patch

diff --git a/test_plans/iavf_fdir_test_plan.rst b/test_plans/iavf_fdir_test_plan.rst
index c7b8bc97..a4ea71a0 100644
--- a/test_plans/iavf_fdir_test_plan.rst
+++ b/test_plans/iavf_fdir_test_plan.rst
@@ -80,9 +80,9 @@  Pattern and input set
     +------------------------------+------------------------------+-------------------------------------------------------------------+
     |                              |MAC_IPV6_L2TPv3               | [Session ID]                                                      |
     +------------------------------+------------------------------+-------------------------------------------------------------------+
-    | ESP                          |MAC_IPV4_ESP                  | [SPI]                                                             |
+    | ESP                          |MAC_IPV4_ESP                  | [Source IP], [Dest IP], [SPI]                                     |
     +------------------------------+------------------------------+-------------------------------------------------------------------+
-    |                              |MAC_IPV6_ESP                  | [SPI]                                                             |
+    |                              |MAC_IPV6_ESP                  | [Source IP], [Dest IP], [SPI]                                      |
     +------------------------------+------------------------------+-------------------------------------------------------------------+
     |                              |MAC_IPV4_AH                   | [SPI]                                                             |
     +------------------------------+------------------------------+-------------------------------------------------------------------+
@@ -599,23 +599,25 @@  Send packets
 
    matched packets::
 
-    sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.3",proto=50)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
-    sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.1.3",proto=50)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
-   
+    sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.20",dst="192.168.0.21",proto=50)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
+
    mismatched packets::
     
-    sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.3",proto=50)/ESP(spi=17)/Raw('x'*480),iface="enp134s0f1")
+    sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.22",dst="192.168.0.21",proto=50)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
+    sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.20",dst="192.168.0.11",proto=50)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
+    sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.20",dst="192.168.0.21",proto=50)/ESP(spi=17)/Raw('x'*480),iface="enp134s0f1")
 
 * MAC_IPV6_ESP
 
    matched packets::
 
-    sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="1111:2222:3333:4444:5555:6666:7777:8888",nh=50)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
-    sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="1111:2222:3333:4444:5555:6666:7777:9999",nh=50)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
-   
+    sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="2001::1",dst="2001::2",nh=50)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
+
    mismatched packets::
     
-    sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="1111:2222:3333:4444:5555:6666:7777:8888",nh=50)/ESP(spi=17)/Raw('x'*480),iface="enp134s0f1")
+    sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="2001::8",dst="2001::2",nh=50)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
+    sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="2001::1",dst="2001::9",nh=50)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
+    sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="2001::1",dst="2001::2",nh=50)/ESP(spi=17)/Raw('x'*480),iface="enp134s0f1")
 
 * MAC_IPV4_AH
 
@@ -643,25 +645,25 @@  Send packets
 
    matched packets::
 
-    sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.20")/UDP(dport=4500)/ESP(spi=2)/Raw('x'*480),iface="enp134s0f1")
+    sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.20",dst="192.168.0.21")/UDP(dport=4500)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
    
    mismatched packets::
     
-    sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.10.20")/UDP(dport=4500)/ESP(spi=2)/Raw('x'*480),iface="enp134s0f1")
-    sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.20")/UDP(dport=4500)/ESP(spi=12)/Raw('x'*480),iface="enp134s0f1")
-    sendp(Ether(dst='00:11:22:33:44:55')/IP(dst="192.168.0.20")/UDP(dport=4500)/ESP(spi=2)/Raw('x'*480),iface="enp134s0f1")
+    sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.22",dst="192.168.0.21")/UDP(dport=4500)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
+    sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.20",dst="192.168.0.11")/UDP(dport=4500)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
+    sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.20",dst="192.168.0.21")/UDP(dport=4500)/ESP(spi=17)/Raw('x'*480),iface="enp134s0f1")
 
 * MAC_IPV6_NAT-T-ESP
 
    matched packets::
 
-    sendp(Ether(dst='00:11:22:33:44:55')/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888")/UDP(dport=4500)/ESP(spi=2)/Raw('x'*480),iface="enp134s0f1")
+    sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="2001::1",dst="2001::2")/UDP(dport=4500)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
    
    mismatched packets::
     
-    sendp(Ether(dst='00:11:22:33:44:55')/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888")/UDP(dport=4500)/ESP(spi=12)/Raw('x'*480),iface="enp134s0f1")
-    sendp(Ether(dst='00:11:22:33:44:55')/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:9999")/UDP(dport=4500)/ESP(spi=2)/Raw('x'*480),iface="enp134s0f1")
-    sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="1111:2222:3333:4444:5555:6666:7777:8888")/UDP(dport=4500)/ESP(spi=2)/Raw('x'*480),iface="enp134s0f1")
+    sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="2001::8",dst="2001::2")/UDP(dport=4500)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
+    sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="2001::1",dst="2001::9")/UDP(dport=4500)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1")
+    sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="2001::1",dst="2001::2")/UDP(dport=4500)/ESP(spi=17)/Raw('x'*480),iface="enp134s0f1")
 
 * MAC_IPV4_GTPU_IPV4
 
@@ -3610,7 +3612,7 @@  Subcase 1: MAC_IPV4_ESP queue index
 
 1. create filter rules::
 
-    flow create 0 ingress pattern eth / ipv4 / esp spi is 7 / end actions queue index 13 / mark id 7 / end
+    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / esp spi is 7 / end actions queue index 13 / mark id 7 / end
 
 2. send matched packets, check the packets are distributed to queue 13 with FDIR matched ID.
    send mismatched packets, check the packets are not distributed to queue 13 without FDIR matched ID.
@@ -3632,7 +3634,7 @@  Subcase 2: MAC_IPV4_ESP rss queues
 
 1. create filter rules::
 
-    flow create 0 ingress pattern eth / ipv4 / esp spi is 7 / end actions rss queues 1 2 3 4 end / mark id 6 / end
+    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / esp spi is 7 / end actions rss queues 1 2 3 4 end / mark id 6 / end
 
 2. send matched packets, check the packets are distributed to queue 1 or 2 or 3 or 4 with FDIR matched ID.
    send mismatched packets, check the packets are not distributed to queue 1 or 2 or 3 or 4 without FDIR matched ID.
@@ -3642,12 +3644,57 @@  Subcase 2: MAC_IPV4_ESP rss queues
 4. verify matched packets are not distributed to queue 1 or 2 or 3 or 4 without FDIR matched ID.
    check there is no rule listed.
 
-Subcase 3: MAC_IPV4_ESP mark
+Subcase 3: MAC_IPV4_ESP passthru
+-----------------------------------
+
+1. create filter rules::
+
+    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / esp spi is 7 / end actions passthru / mark id 1 / end
+
+2. send matched packets, check the packets are distributed by RSS without FDIR matched ID.
+   send mismatched packets, check the packets are distributed by RSS without FDIR matched ID.
+
+3. repeat step 3 of subcase 1.
+
+4. verify matched packets are distributed to the same queue without FDIR matched ID.
+   check there is no rule listed.
+
+Subcase 4: MAC_IPV4_ESP drop
+-------------------------------
+
+1. create filter rules::
+
+    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / esp spi is 7 / end actions drop / end
+
+2. send matched packets, check the packets are dropped
+   send mismatched packets, check the packets are not dropped.
+
+3. repeat step 3 of subcase 1.
+
+4. verify matched packets are not dropped.
+   check there is no rule listed.
+
+Subcase 5: MAC_IPV4_ESP mark+rss
+-----------------------------------
+
+1. create filter rules::
+
+    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / esp spi is 7 / end actions mark id 2 / rss / end
+
+2. send matched packets, check the packets are distributed by RSS with FDIR matched ID.
+   send mismatched packets, check the packets are distributed by RSS without FDIR matched ID.
+
+3. repeat step 3 of subcase 1.
+
+4. verify matched packets are distributed to the same queue without FDIR matched ID.
+   check there is no rule listed.
+
+Subcase 6: MAC_IPV4_ESP mark
 ----------------------------
 
 1. create filter rules::
 
-    flow create 0 ingress pattern eth / ipv4 / esp spi is 7 / end actions mark id 15 / end
+    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / esp spi is 7 / end actions mark id 15 / end
 
 2. send matched packets, check the packets are received with FDIR matched ID.
    send mismatched packets, check the packets are received without FDIR matched ID.
@@ -3657,7 +3704,6 @@  Subcase 3: MAC_IPV4_ESP mark
 4. verify matched packets are received without FDIR matched ID.
    check there is no rule listed.
 
-
 Test case: MAC_IPV6_ESP pattern
 ===============================
 
@@ -3666,7 +3712,7 @@  Subcase 1: MAC_IPV6_ESP queue index
 
 1. create filter rules::
 
-    flow create 0 ingress pattern eth / ipv6 / esp spi is 7 / end actions queue index 13 / mark id 7 / end
+    flow create 0 ingress pattern eth / ipv6 dst is 2001::1 dst is 2001::2 / esp spi is 7 / end actions queue index 13 / mark id 7 / end
 
 2. send matched packets, check the packets are distributed to queue 13 with FDIR matched ID.
    send mismatched packets, check the packets are not distributed to queue 13 without FDIR matched ID.
@@ -3688,7 +3734,7 @@  Subcase 2: MAC_IPV6_ESP rss queues
 
 1. create filter rules::
 
-    flow create 0 ingress pattern eth / ipv6 / esp spi is 7 / end actions rss queues 1 2 3 4 end / mark id 6 / end
+    flow create 0 ingress pattern eth / ipv6 dst is 2001::1 dst is 2001::2 / esp spi is 7 / end actions rss queues 1 2 3 4 end / mark id 6 / end
 
 2. send matched packets, check the packets are distributed to queue 1 or 2 or 3 or 4 with FDIR matched ID.
    send mismatched packets, check the packets are not distributed to queue 1 or 2 or 3 or 4 without FDIR matched ID.
@@ -3698,12 +3744,57 @@  Subcase 2: MAC_IPV6_ESP rss queues
 4. verify matched packets are not distributed to queue 1 or 2 or 3 or 4 without FDIR matched ID.
    check there is no rule listed.
 
-Subcase 3: MAC_IPV6_ESP mark
+Subcase 3: MAC_IPV6_ESP passthru
+-----------------------------------
+
+1. create filter rules::
+
+    flow create 0 ingress pattern eth / ipv6 dst is 2001::1 dst is 2001::2 / esp spi is 7 / end actions passthru / mark id 1 / end
+
+2. send matched packets, check the packets are distributed by RSS with FDIR matched ID.
+   send mismatched packets, check the packets are distributed by RSS without FDIR matched ID.
+
+3. repeat step 3 of subcase 1.
+
+4. verify matched packets are distributed to the same queue without FDIR matched ID.
+   check there is no rule listed.
+
+Subcase 4: MAC_IPV6_ESP drop
+-------------------------------
+
+1. create filter rules::
+
+    flow create 0 ingress pattern eth / ipv6 dst is 2001::1 dst is 2001::2 / esp spi is 7 / end actions drop / end
+
+2. send matched packets, check the packets are dropped
+   send mismatched packets, check the packets are not dropped.
+
+3. repeat step 3 of subcase 1.
+
+4. verify matched packets are not dropped.
+   check there is no rule listed.
+
+Subcase 5: MAC_IPV6_ESP mark+rss
+-----------------------------------
+
+ 1. create filter rules::
+
+    flow create 0 ingress pattern eth / ipv6 dst is 2001::1 dst is 2001::2 / esp spi is 7 / end actions mark id 2 / rss / end
+
+2. send matched packets, check the packets are distributed by RSS with FDIR matched ID.
+   send mismatched packets, check the packets are distributed by RSS without FDIR matched ID.
+
+3. repeat step 3 of subcase 1.
+
+4. verify matched packets are distributed to the same queue without FDIR matched ID.
+   check there is no rule listed.
+
+Subcase 6: MAC_IPV6_ESP mark
 ----------------------------
 
 1. create filter rules::
 
-    flow create 0 ingress pattern eth / ipv6 / esp spi is 7 / end actions mark id 15 / end
+    flow create 0 ingress pattern eth / ipv6 dst is 2001::1 dst is 2001::2 / esp spi is 7 / end actions mark id 15 / end
 
 2. send matched packets, check the packets are received with FDIR matched ID.
    send mismatched packets, check the packets are received without FDIR matched ID.
@@ -3834,7 +3925,7 @@  Subcase 1: MAC_IPV4_NAT-T-ESP queue index
 
 1. create filter rules::
 
-    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 / udp / esp spi is 2 / end actions queue index 13 / mark id 7 / end
+    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp / esp spi is 7 / end actions queue index 13 / mark id 7 / end
 
 2. send matched packets, check the packets are distributed to queue 13 with FDIR matched ID.
    send mismatched packets, check the packets are not distributed to queue 13 without FDIR matched ID.
@@ -3856,7 +3947,7 @@  Subcase 2: MAC_IPV4_NAT-T-ESP rss queues
 
 1. create filter rules::
 
-    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 / udp / esp spi is 2 / end actions rss queues 1 2 3 4 end / mark id 6 / end
+    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp / esp spi is 7 / end actions rss queues 1 2 3 4 end / mark id 6 / end
 
 2. send matched packets, check the packets are distributed to queue 1 or 2 or 3 or 4 with FDIR matched ID.
    send mismatched packets, check the packets are not distributed to queue 1 or 2 or 3 or 4 without FDIR matched ID.
@@ -3866,12 +3957,57 @@  Subcase 2: MAC_IPV4_NAT-T-ESP rss queues
 4. verify matched packets are not distributed to queue 1 or 2 or 3 or 4 without FDIR matched ID.
    check there is no rule listed.
 
-Subcase 3: MAC_IPV4_NAT-T-ESP mark
-----------------------------------
+Subcase 3: MAC_IPV4_NAT-T-ESP passthru
+-----------------------------------------
+
+1. create filter rules::
+
+    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp / esp spi is 7 / end actions passthru / mark id 1 / end
+
+2. send matched packets, check the packets are distributed by RSS with FDIR matched ID.
+   send mismatched packets, check the packets are distributed by RSS without FDIR matched ID.
+
+3. repeat step 3 of subcase 1.
+
+4. verify matched packets are distributed to the same queue without FDIR matched ID.
+   check there is no rule listed.
+
+Subcase 4: MAC_IPV4_NAT-T-ESP drop
+-------------------------------------
 
 1. create filter rules::
 
-    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 / udp / esp spi is 2 / end actions mark id 15 / end
+    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp / esp spi is 7 / end actions drop / end
+
+2. send matched packets, check the packets are dropped
+   send mismatched packets, check the packets are not dropped.
+
+3. repeat step 3 of subcase 1.
+
+4. verify matched packets are not dropped.
+   check there is no rule listed.
+
+Subcase 5: MAC_IPV4_NAT-T-ESP mark+rss
+-----------------------------------------
+
+ 1. create filter rules::
+
+    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp / esp spi is 7 / end actions mark id 2 / rss / end
+
+2. send matched packets, check the packets are distributed by RSS with FDIR matched ID.
+   send mismatched packets, check the packets are distributed by RSS without FDIR matched ID.
+
+3. repeat step 3 of subcase 1.
+
+4. verify matched packets are distributed to the same queue without FDIR matched ID.
+   check there is no rule listed.
+
+Subcase 6: MAC_IPV4_NAT-T-ESP mark
+-----------------------------------
+
+1. create filter rules::
+
+    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp / esp spi is 7 / end actions mark id 15 / end
 
 2. send matched packets, check the packets are received with FDIR matched ID.
    send mismatched packets, check the packets are received without FDIR matched ID.
@@ -3890,7 +4026,7 @@  Subcase 1: MAC_IPV6_NAT-T-ESP queue index
 
 1. create filter rules::
 
-    flow create 0 ingress pattern eth / ipv6 src is 192.168.0.20 / udp / esp spi is 2 / end actions queue index 13 / mark id 7 / end
+    flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst is 2001::2 / udp / esp spi is 7 / end actions queue index 13 / mark id 7 / end
 
 2. send matched packets, check the packets are distributed to queue 13 with FDIR matched ID.
    send mismatched packets, check the packets are not distributed to queue 13 without FDIR matched ID.
@@ -3912,7 +4048,7 @@  Subcase 2: MAC_IPV6_NAT-T-ESP rss queues
 
 1. create filter rules::
 
-    flow create 0 ingress pattern eth / ipv6 src is 192.168.0.20 / udp / esp spi is 2 / end actions rss queues 1 2 3 4 end / mark id 6 / end
+    flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst is 2001::2 / udp / esp spi is 7 / end actions rss queues 1 2 3 4 end / mark id 6 / end
 
 2. send matched packets, check the packets are distributed to queue 1 or 2 or 3 or 4 with FDIR matched ID.
    send mismatched packets, check the packets are not distributed to queue 1 or 2 or 3 or 4 without FDIR matched ID.
@@ -3922,12 +4058,57 @@  Subcase 2: MAC_IPV6_NAT-T-ESP rss queues
 4. verify matched packets are not distributed to queue 1 or 2 or 3 or 4 without FDIR matched ID.
    check there is no rule listed.
 
-Subcase 3: MAC_IPV6_NAT-T-ESP mark
+Subcase 3: MAC_IPV6_NAT-T-ESP passthru
+-----------------------------------------
+
+1. create filter rules::
+
+    flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst is 2001::2 / udp / esp spi is 7 / end actions passthru / mark id 1 / end
+
+2. send matched packets, check the packets are distributed by RSS with FDIR matched ID.
+   send mismatched packets, check the packets are distributed by RSS without FDIR matched ID.
+
+3. repeat step 3 of subcase 1.
+
+4. verify matched packets are distributed to the same queue without FDIR matched ID.
+   check there is no rule listed.
+
+Subcase 4: MAC_IPV6_NAT-T-ESP drop
+-------------------------------------
+
+1. create filter rules::
+
+    flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst is 2001::2 / udp / esp spi is 7 / end actions drop / end
+
+2. send matched packets, check the packets are dropped
+   send mismatched packets, check the packets are not dropped.
+
+3. repeat step 3 of subcase 1.
+
+4. verify matched packets are not dropped.
+   check there is no rule listed.
+
+Subcase 5: MAC_IPV6_NAT-T-ESP mark+rss
+-----------------------------------------
+
+1. create filter rules::
+
+    flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst is 2001::2 / udp / esp spi is 7 / end actions mark id 2 / rss / end
+
+2. send matched packets, check the packets are distributed by RSS with FDIR matched ID.
+   send mismatched packets, check the packets are distributed by RSS without FDIR matched ID.
+
+3. repeat step 3 of subcase 1.
+
+4. verify matched packets are distributed to the same queue without FDIR matched ID.
+   check there is no rule listed.
+
+Subcase 6: MAC_IPV6_NAT-T-ESP mark
 ----------------------------------
 
 1. create filter rules::
 
-    flow create 0 ingress pattern eth / ipv6 src is 192.168.0.20 / udp / esp spi is 2 / end actions mark id 15 / end
+    flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst is 2001::2 / udp / esp spi is 7 / end actions mark id 15 / end
 
 2. send matched packets, check the packets are received with FDIR matched ID.
    send mismatched packets, check the packets are received without FDIR matched ID.