test suite reviews and discussions
 help / color / Atom feed
* Re: [dts] [PATCH] test_plans: fix format to beauty html pages
  2020-01-13 11:06 [dts] [PATCH] test_plans: fix format to beauty html pages Lijuan Tu
@ 2020-01-13  3:14 ` Tu, Lijuan
  0 siblings, 0 replies; 2+ messages in thread
From: Tu, Lijuan @ 2020-01-13  3:14 UTC (permalink / raw)
  To: dts

applied

> -----Original Message-----
> From: Tu, Lijuan
> Sent: Monday, January 13, 2020 7:07 PM
> To: dts@dpdk.org
> Cc: Tu, Lijuan <lijuan.tu@intel.com>
> Subject: [PATCH] test_plans: fix format to beauty html pages
> 
> Signed-off-by: Lijuan Tu <lijuan.tu@intel.com>
> ---
>  test_plans/cvl_advanced_rss_test_plan.rst  | 799 ++++++++++++++++----------
>  test_plans/cvl_fdir_test_plan.rst          |  37 +-
>  test_plans/cvl_switch_filter_test_plan.rst | 873 ++++++++++++++++++---------
> --
>  3 files changed, 1080 insertions(+), 629 deletions(-)
> 
> diff --git a/test_plans/cvl_advanced_rss_test_plan.rst
> b/test_plans/cvl_advanced_rss_test_plan.rst
> index 8a9af1b..000ac38 100644
> --- a/test_plans/cvl_advanced_rss_test_plan.rst
> +++ b/test_plans/cvl_advanced_rss_test_plan.rst
> @@ -46,154 +46,155 @@ to hash IP and ports domain, diversion the packets
> to the difference queues.
> 
>  Pattern and input set
>  ---------------------
> -Table 1:
> -
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    | Default hash function: Non Symmetric_toeplitz
> |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |    Packet Type                |        Pattern                     |            Input Set
> |
> -
> +===============================+===============================
> =====+==========================================================
> =======================+
> -    | IPv4/IPv6 + TCP/UDP/SCTP/ICMP |    MAC_IPV4_SRC_ONLY
> |[Dest MAC],[Source IP]                                                          |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_DST_ONLY_FRAG          |[Dest MAC],
> [Dest IP]                                                            |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_PAY                    |[Dest MAC],[Source IP],
> [Dest IP]                                               |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_SRC_ICMP               |[Dest MAC],[Source
> IP]                                                          |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_DST_ICMP               |[Dest MAC],[Source
> IP]                                                          |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_UDP_L3SRC_L4DST        |[Dest MAC],
> [Source IP],[Dest Port]                                              |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_UDP                    |[Dest MAC],[Source IP],
> [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]    |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_TCP_L3SRC_L4DST        |[Dest MAC],
> [Source IP],[Dest Port]                                              |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_TCP_L3DST_L4SRC        |[Dest MAC],
> [Dest IP],[Source Port]                                              |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_TCP                    |[Dest MAC],[Source IP],
> [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]    |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_SCTP_L3SRC_L4DST       |[Dest MAC],
> [Source IP],[Dest Port]                                              |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_SCTP                   |[Dest MAC],[Source IP],
> [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]    |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_NVGRE_ICMP             |[Inner Source IP],
> [Inner Dest IP]                                               |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_NVGRE_L3SRC_ICMP       |[Inner
> MAC][Inner Source IP]                                                     |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_NVGRE_L3DST_ICMP       |[Inner
> MAC][Inner Dest IP]                                                       |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_NVGRE_TCP              |[Inner Source IP],
> [Inner Dest IP],[Inner Source Port], [Inner Dest Port]        |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_NVGRE_SCTP             |[Inner Source IP],
> [Inner Dest IP],[Inner Source Port], [Inner Dest Port]        |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_VXLAN_ICMP             |[Inner Source IP],
> [Inner Dest IP]                                               |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_VXLAN_L3SRC_ICMP       |[Inner
> MAC][Inner Source IP]                                                     |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_VXLAN_L3DST_ICMP       |[Inner
> MAC][Inner Dest IP]                                                       |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_VXLAN_TCP              |[Inner Source IP],
> [Inner Dest IP],[Inner Source Port], [Inner Dest Port]        |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_VXLAN_SCTP             |[Inner Source IP],
> [Inner Dest IP],[Inner Source Port], [Inner Dest Port]        |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_VXLAN_UDP              |[Inner Source IP],
> [Inner Dest IP],[Inner Source Port], [Inner Dest Port]        |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV6_SRC_ONLY               |[Dest MAC],[Source
> IP]                                                          |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV6_DST_ONLY_FRAG          |[Dest MAC],
> [Dest IP]                                                            |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV6_PAY                    |[Dest MAC],[Source IP],
> [Dest IP],                                              |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV6_UDP                    |[Dest MAC],[Source IP],
> [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]    |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV6_TCP                    |[Dest MAC],[Source IP],
> [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]    |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV6_SCTP                   |[Dest MAC],[Source IP],
> [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]    |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_PPPOE_PPPOD            |[Dest MAC],
> [Session ID],[Proto] ,[Source IP] ,[Dest IP]                         |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_PPPOE_TCP              |[Dest MAC],
> [Session ID],[Proto],[Source IP],[Dest IP],[Source Port],[Dest Port] |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_PPPOE_UDP              |[Dest MAC],
> [Session ID],[Proto],[Source IP],[Dest IP],[Source Port],[Dest Port] |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_PPPOE_TCP              |[Dest MAC],
> [Session ID],[Proto],[Source IP],[Dest IP],[Source Port],[Dest Port] |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_PPPOE_ICMP             |[Dest MAC],
> [Session ID],[Proto],[Source IP],[Dest IP]                           |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_GTP                    | [TEID]
> |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -    |                               |    MAC_IPV4_GTPU_IPV4_TCP          | [TEID]
> |
> -    +-------------------------------+------------------------------------+-------------------------
> --------------------------------------------------------+
> -
> -Table 2:
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    | Hash function: Symmetric_toeplitz
> |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |    Packet Type                |        Pattern                     |            Input Set
> |
> -
> +===============================+===============================
> =====+==========================================================
> =====================+
> -    |  IPV4/IPV6                    |    MAC_IPV4_SRC_ONLY               |[Dest MAC],
> [Source IP]                                                        |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV4_DST_ONLY_FRAG          |[Dest MAC],
> [Dest IP]                                                          |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV4_PAY                    |[Dest MAC],[Source IP],
> [Dest IP]                                             |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV4_SRC_ICMP               |[Dest MAC],[Source
> IP]                                                        |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV4_DST_ICMP               |[Dest MAC],[Source
> IP]                                                        |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV4_UDP_L3SRC_L4DST        |[Dest MAC],
> [Source IP],[Dest Port]                                            |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV4_UDP                    |[Dest MAC],[Source IP],
> [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]  |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV4_TCP_L3SRC_L4DST        |[Dest MAC],
> [Source IP],[Dest Port]                                            |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV4_TCP_L3DST_L4SRC        |[Dest MAC],
> [Dest IP],[Source Port]                                            |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV4_TCP                    |[Dest MAC],[Source IP],
> [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]  |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV4_SCTP_L3SRC_L4DST       |[Dest MAC],
> [Source IP],[Dest Port]                                            |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV4_SCTP                   |[Dest MAC],[Source IP],
> [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]  |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV4_NVGRE_ICMP             |[Inner Source IP],
> [Inner Dest IP]                                             |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV4_NVGRE_L3SRC_ICMP       |[Inner
> MAC][Inner Source IP]                                                   |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV4_NVGRE_L3DST_ICMP       |[Inner
> MAC][Inner Dest IP]                                                     |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV4_NVGRE_TCP              |[Inner Source IP],
> [Inner Dest IP],[Inner Source Port], [Inner Dest Port]      |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV4_NVGRE_SCTP             |[Inner Source IP],
> [Inner Dest IP],[Inner Source Port], [Inner Dest Port]      |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV4_VXLAN_ICMP             |[Inner Source IP],
> [Inner Dest IP]                                             |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV4_VXLAN_L3SRC_ICMP       |[Inner
> MAC][Inner Source IP]                                                   |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV4_VXLAN_L3DST_ICMP       |[Inner
> MAC][Inner Dest IP]                                                     |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV4_VXLAN_TCP              |[Inner Source IP],
> [Inner Dest IP],[Inner Source Port], [Inner Dest Port]      |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV4_VXLAN_SCTP             |[Inner Source IP],
> [Inner Dest IP],[Inner Source Port], [Inner Dest Port]      |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV4_VXLAN_UDP              |[Inner Source IP],
> [Inner Dest IP],[Inner Source Port], [Inner Dest Port]      |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV6_SRC_ONLY               |[Dest MAC],[Source
> IP]                                                        |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV6_DST_ONLY_FRAG          |[Dest MAC],
> [Dest IP]                                                          |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV6_PAY                    |[Dest MAC],[Source IP],
> [Dest IP],                                            |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV6_UDP                    |[Dest MAC],[Source IP],
> [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]  |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV6_TCP                    |[Dest MAC],[Source IP],
> [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]  |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV6_SCTP                   |[Dest MAC],[Source IP],
> [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]  |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV4_SIMPLE_XOR             |[Dest MAC],
> [Source IP], [Dest IP]                                             |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> -    |                               |    MAC_IPV6_SIMPLE_XOR             |[Dest MAC],
> [Source IP], [Dest IP]                                             |
> -    +-------------------------------+------------------------------------+-------------------------
> ------------------------------------------------------+
> +.. table::
> +
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    | Default hash function: Non Symmetric_toeplitz
> |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    | Packet Type                   | Pattern                   | Input Set
> |
> +
> +===============================+===========================+===
> ================================================================
> ===============+
> +    | IPv4/IPv6 + TCP/UDP/SCTP/ICMP | MAC_IPV4_SRC_ONLY         | [Dest
> MAC],[Source IP]                                                          |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_DST_ONLY_FRAG    | [Dest MAC],[Dest IP]
> |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_PAY              | [Dest MAC],[Source IP],
> [Dest IP]                                               |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_SRC_ICMP         | [Dest MAC],[Source IP]
> |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_DST_ICMP         | [Dest MAC],[Source IP]
> |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_UDP_L3SRC_L4DST  | [Dest MAC],
> [Source IP],[Dest Port]                                              |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_UDP              | [Dest MAC],[Source IP],
> [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]    |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_TCP_L3SRC_L4DST  | [Dest MAC],[Source
> IP],[Dest Port]                                              |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_TCP_L3DST_L4SRC  | [Dest MAC],[Dest
> IP],[Source Port]                                              |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_TCP              | [Dest MAC],[Source IP],
> [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]    |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_SCTP_L3SRC_L4DST | [Dest MAC],
> [Source IP],[Dest Port]                                              |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_SCTP             | [Dest MAC],[Source IP],
> [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]    |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_NVGRE_ICMP       | [Inner Source IP],
> [Inner Dest IP]                                               |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_NVGRE_L3SRC_ICMP | [Inner MAC][Inner
> Source IP]                                                     |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_NVGRE_L3DST_ICMP | [Inner MAC][Inner
> Dest IP]                                                       |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_NVGRE_TCP        | [Inner Source IP], [Inner
> Dest IP],[Inner Source Port], [Inner Dest Port]        |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_NVGRE_SCTP       | [Inner Source IP],
> [Inner Dest IP],[Inner Source Port], [Inner Dest Port]        |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_VXLAN_ICMP       | [Inner Source IP],
> [Inner Dest IP]                                               |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_VXLAN_L3SRC_ICMP | [Inner MAC][Inner
> Source IP]                                                     |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_VXLAN_L3DST_ICMP | [Inner MAC][Inner
> Dest IP]                                                       |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_VXLAN_TCP        | [Inner Source IP], [Inner
> Dest IP],[Inner Source Port], [Inner Dest Port]        |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_VXLAN_SCTP       | [Inner Source IP], [Inner
> Dest IP],[Inner Source Port], [Inner Dest Port]        |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_VXLAN_UDP        | [Inner Source IP], [Inner
> Dest IP],[Inner Source Port], [Inner Dest Port]        |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV6_SRC_ONLY         | [Dest MAC],[Source IP]
> |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV6_DST_ONLY_FRAG    | [Dest MAC],[Dest IP]
> |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV6_PAY              | [Dest MAC],[Source IP],
> [Dest IP],                                              |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV6_UDP              | [Dest MAC],[Source IP],
> [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]    |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV6_TCP              | [Dest MAC],[Source IP],
> [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]    |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV6_SCTP             | [Dest MAC],[Source IP],
> [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]    |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_PPPOE_PPPOD      | [Dest MAC],[Session
> ID],[Proto] ,[Source IP] ,[Dest IP]                         |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_PPPOE_TCP        | [Dest MAC],[Session
> ID],[Proto],[Source IP],[Dest IP],[Source Port],[Dest Port] |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_PPPOE_UDP        | [Dest MAC],[Session
> ID],[Proto],[Source IP],[Dest IP],[Source Port],[Dest Port] |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_PPPOE_TCP        | [Dest MAC],[Session
> ID],[Proto],[Source IP],[Dest IP],[Source Port],[Dest Port] |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_PPPOE_ICMP       | [Dest MAC],[Session
> ID],[Proto],[Source IP],[Dest IP]                           |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_GTP              |  [TEID]
> |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +    |                               | MAC_IPV4_GTPU_IPV4_TCP    |  [TEID]
> |
> +    +-------------------------------+---------------------------+---------------------------------
> -------------------------------------------------+
> +
> +.. table::
> +
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    | Hash function: Symmetric_toeplitz
> |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    | Packet Type                   | Pattern                   | Input Set
> |
> +
> +===============================+===========================+===
> ================================================================
> =============+
> +    |  IPV4/IPV6                    | MAC_IPV4_SRC_ONLY         | [Dest MAC],
> [Source IP]                                                        |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV4_DST_ONLY_FRAG    | [Dest MAC],[Dest IP]
> |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV4_PAY              | [Dest MAC],[Source IP],
> [Dest IP]                                             |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV4_SRC_ICMP         | [Dest MAC],[Source IP]
> |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV4_DST_ICMP         | [Dest MAC],[Source IP]
> |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV4_UDP_L3SRC_L4DST  | [Dest MAC],
> [Source IP],[Dest Port]                                            |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV4_UDP              | [Dest MAC],[Source IP],
> [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]  |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV4_TCP_L3SRC_L4DST  | [Dest MAC],[Source
> IP],[Dest Port]                                            |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV4_TCP_L3DST_L4SRC  | [Dest MAC],[Dest
> IP],[Source Port]                                            |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV4_TCP              | [Dest MAC],[Source IP],
> [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]  |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV4_SCTP_L3SRC_L4DST | [Dest MAC],
> [Source IP],[Dest Port]                                            |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV4_SCTP             | [Dest MAC],[Source IP],
> [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]  |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV4_NVGRE_ICMP       | [Inner Source IP],
> [Inner Dest IP]                                             |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV4_NVGRE_L3SRC_ICMP | [Inner MAC][Inner
> Source IP]                                                   |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV4_NVGRE_L3DST_ICMP | [Inner MAC][Inner
> Dest IP]                                                     |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV4_NVGRE_TCP        | [Inner Source IP], [Inner
> Dest IP],[Inner Source Port], [Inner Dest Port]      |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV4_NVGRE_SCTP       | [Inner Source IP],
> [Inner Dest IP],[Inner Source Port], [Inner Dest Port]      |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV4_VXLAN_ICMP       | [Inner Source IP],
> [Inner Dest IP]                                             |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV4_VXLAN_L3SRC_ICMP | [Inner MAC][Inner
> Source IP]                                                   |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV4_VXLAN_L3DST_ICMP | [Inner MAC][Inner
> Dest IP]                                                     |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV4_VXLAN_TCP        | [Inner Source IP], [Inner
> Dest IP],[Inner Source Port], [Inner Dest Port]      |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV4_VXLAN_SCTP       | [Inner Source IP], [Inner
> Dest IP],[Inner Source Port], [Inner Dest Port]      |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV4_VXLAN_UDP        | [Inner Source IP], [Inner
> Dest IP],[Inner Source Port], [Inner Dest Port]      |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV6_SRC_ONLY         | [Dest MAC],[Source IP]
> |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV6_DST_ONLY_FRAG    | [Dest MAC],[Dest IP]
> |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV6_PAY              | [Dest MAC],[Source IP],
> [Dest IP],                                            |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV6_UDP              | [Dest MAC],[Source IP],
> [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]  |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV6_TCP              | [Dest MAC],[Source IP],
> [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]  |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV6_SCTP             | [Dest MAC],[Source IP],
> [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]  |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV4_SIMPLE_XOR       | [Dest MAC],[Source
> IP], [Dest IP]                                             |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> +    |                               | MAC_IPV6_SIMPLE_XOR       | [Dest MAC],[Source
> IP], [Dest IP]                                             |
> +    +-------------------------------+---------------------------+---------------------------------
> -----------------------------------------------+
> 
>  Default parameters
>  ------------------
> @@ -219,6 +220,7 @@ Default parameters
>      [TC]: 1
> 
>     UDP/TCP/SCTP::
> +
>      [Source IP]: RandIP
>      [Dest IP]: RandIP
>      [Source Port]: Randport
> @@ -240,19 +242,26 @@ Prerequisites
>  =============
> 
>  1. Hardware:
> -   Intel E810 series ethernet cards: columbiaville_25g/columbiaville_100g/
> +
> +   - Intel E810 series ethernet cards: columbiaville_25g/columbiaville_100g/
> 
>  2. Software:
> -   dpdk: http://dpdk.org/git/dpdk
> -   scapy: http://www.secdev.org/projects/scapy/
> +
> +   - dpdk: http://dpdk.org/git/dpdk
> +   - scapy: http://www.secdev.org/projects/scapy/
> 
> -Note: This rss feature designed for CVL NIC 25G and 100g, so below the case
> only support CVL nic.
> +.. note::
> +
> +   This rss feature designed for CVL NIC 25G and 100g, so below the case
> only support CVL nic.
> 
>  3. bind the CVL port to dpdk driver in DUT::
> -   modprobe vfio-pci
> -   usertools/dpdk-devbind.py --force --bind=vfio-pci 0000:18:00.0
> 
> -Note: The kernel must be >= 3.6+ and VT-d must be enabled in bios.
> +    modprobe vfio-pci
> +    usertools/dpdk-devbind.py --force --bind=vfio-pci 0000:18:00.0
> +
> +.. note::
> +
> +   The kernel must be >= 3.6+ and VT-d must be enabled in bios.
> 
>  4. Launch the testpmd to configuration queue of rx and tx number 64 in
> DUT::
> 
> @@ -261,8 +270,9 @@ Note: The kernel must be >= 3.6+ and VT-d must be
> enabled in bios.
>      testpmd>set verbose 1
>      testpmd>rx_vxlan_port add 4789 0
> 
> -3. start scapy and configuration NVGRE and GTP profile in tester
> +5. start scapy and configuration NVGRE and GTP profile in tester
>     scapy::
> +
>     >>> import sys
>     >>> sys.path.append('~/dts/dep')
>     >>> from nvgre import NVGRE
> @@ -270,6 +280,7 @@ Note: The kernel must be >= 3.6+ and VT-d must be
> enabled in bios.
> 
>  Test case: MAC_IPV4_L3SRC
>  =========================
> +
>  #. create rule for the rss type for l3 src only::
> 
>      testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss types
> ipv4 l3-src-only end key_len 0 queues end / end
> @@ -287,9 +298,10 @@ Test case: MAC_IPV4_L3SRC
>     Once rule has created and receive related packets,
>     Check the rss hash value and rss queue, make sure the different hash
> value and cause to related packets enter difference queue::
> 
> -    src=00:00:00:00:00:00 - dst=68:05:CA:A3:28:94 - type=0x0800 - length=514
> - nb_segs=1 - RSS hash=0x60994f6e - RSS queue=0x2e - hw ptype: L2_ETHER
> L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV   4  -
> l2_len=14 - l3_len=20 - Receive queue=0x2e ol_flags: PKT_RX_RSS_HASH
> PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD
> PKT_RX_OUTER_L4_CKSUM_UNKNOWN
> +    src=00:00:00:00:00:00 - dst=68:05:CA:A3:28:94 - type=0x0800 - length=514
> - nb_segs=1 - RSS hash=0x60994f6e - RSS queue=0x2e - hw ptype: L2_ETHER
> L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV4  -
> l2_len=14 - l3_len=20 - Receive queue=0x2e ol_flags: PKT_RX_RSS_HASH
> PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD
> PKT_RX_OUTER_L4_CKSUM_UNKNOWN
> 
> -   statistics log:
> +statistics log::
> +
>     ------- Forward Stats for RX Port= 0/Queue= 0 -> TX Port= 0/Queue= 0 -------
>     RX-packets: 1              TX-packets: 0              TX-dropped: 0
> 
> @@ -297,8 +309,8 @@ Test case: MAC_IPV4_L3SRC
>     RX-packets: 2              TX-packets: 0              TX-dropped: 0
>     ......
> 
> -  ------- Forward Stats for RX Port= 0/Queue=63 -> TX Port= 0/Queue=63 ------
> -
> -  RX-packets: 4              TX-packets: 0              TX-dropped: 0
> +   ------- Forward Stats for RX Port= 0/Queue=63 -> TX Port= 0/Queue=63 -----
> --
> +   RX-packets: 4              TX-packets: 0              TX-dropped: 0
> 
>     ---------------------- Forward statistics for port 0  ----------------------
>     RX-packets: 100            RX-dropped: 0             RX-total: 100
> @@ -312,6 +324,7 @@ Test case: MAC_IPV4_L3SRC
> 
>  Test case: MAC_IPV4_L3SRC_FRAG
>  ==============================
> +
>  #. create rule for the rss type for l3 src only::
> 
>      testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss types
> ipv4 l3-dst-only end key_len 0 queues end / end
> @@ -327,41 +340,47 @@ Test case: MAC_IPV4_L3SRC_FRAG
> 
>  Test case: MAC_IPV4_L3DST:
>  ==========================
> +
>  #. create rule for the rss type for l3 dst only::
> -       testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types
> ipv4 l3-dst-only end key_len 0 queues end / end
> -       testpmd> start
> +
> +    testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types
> ipv4 l3-dst-only end key_len 0 queues end / end
> +    testpmd> start
> +
>  #. send the 100 IP +frag type pkts::
> 
> -       sendp([Ether(dst="68:05:ca:a3:28:94")/IP(dst=RandIP())/("X"*480)],
> iface="enp175s0f0", count=100)
> -       testpmd> stop
> +    sendp([Ether(dst="68:05:ca:a3:28:94")/IP(dst=RandIP())/("X"*480)],
> iface="enp175s0f0", count=100)
> +    testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value,and check the pkts typ is L2_ETHER L3_IPV4
> "FRAG"
> 
> -
>  Test case: MAC_IPV4_L3DST_FRAG:
>  ===============================
>  #. create rule for the rss type for l3 dst only::
> -       testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types
> ipv4 l3-dst-only end key_len 0 queues end / end
> -       testpmd> start
> +
> +    testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types
> ipv4 l3-dst-only end key_len 0 queues end / end
> +    testpmd> start
> 
>  #. send the 100 IP frag pkts::
> -       sendp([Ether(dst="68:05:ca:a3:28:94")/IP(dst=RandIP(),
> frag=5)/SCTP(sport=RandShort())/("X" * 80)], iface="enp175s0f0", count=100)
> -
> -       testpmd> stop
> +
> +    sendp([Ether(dst="68:05:ca:a3:28:94")/IP(dst=RandIP(),
> frag=5)/SCTP(sport=RandShort())/("X" * 80)], iface="enp175s0f0", count=100)
> +    testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value,and check the pkts typ is L2_ETHER L3_IPV4
> "FRAG"
> 
> -
> -
>  Test case: MAC_IPV4_L3SRC_FRAG_ICMP:
>  ====================================
>  #. create rule for the rss type for l3 dst only::
> -       testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types
> ipv4 l3-src-only end key_len 0 queues end / end
> -       testpmd> start
> +
> +    testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types
> ipv4 l3-src-only end key_len 0 queues end / end
> +    testpmd> start
> +
>  #. send the 100 IP pkts::
> -       sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),
> frag=5)/ICMP()/("X" * 80)], iface="enp175s0f0", count=100)
> -
> -       testpmd> stop
> +
> +    sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),
> frag=5)/ICMP()/("X" * 80)], iface="enp175s0f0", count=100)
> +    testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
> @@ -369,12 +388,15 @@ Test case: MAC_IPV4_L3SRC_FRAG_ICMP:
>  Test case: MAC_IPV4_L3DST_FRAG_ICMP:
>  ====================================
>  #. create rule for the rss type for l3 dst only::
> -       testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types
> ipv4 l3-dst-only end key_len 0 queues end / end
> -       testpmd> start
> +
> +    testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types
> ipv4 l3-dst-only end key_len 0 queues end / end
> +    testpmd> start
> +
>  #. send the 100 IP pkts::
> -       sendp([Ether(dst="68:05:ca:a3:28:94")/IP(dst=RandIP(),
> frag=5)/ICMP()/("X" * 80)], iface="enp175s0f0", count=100)
> -
> -       testpmd> stop
> +
> +    sendp([Ether(dst="68:05:ca:a3:28:94")/IP(dst=RandIP(),
> frag=5)/ICMP()/("X" * 80)], iface="enp175s0f0", count=100)
> +    testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
> @@ -382,25 +404,27 @@ Test case: MAC_IPV4_PAY:
>  ========================
>  #. create rule for the rss type for l3 all keywords::
> 
> -       testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types
> ipv4 end key_len 0 queues end / end
> -       testpmd> start
> +    testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types
> ipv4 end key_len 0 queues end / end
> +    testpmd> start
> +
>  #. send the 100 IP pkts::
> 
> -
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/("X"*4
> 80)], iface="enp175s0f0", count=100)
> -       testpmd>stop
> +
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/("X"*4
> 80)], iface="enp175s0f0", count=100)
> +    testpmd>stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> -
> 
>  Test case: MAC_IPV4_PAY_FRAG_ICMP:
>  ==================================
>  #. create rule for the rss type for IPV4 l3 all (src and dst) +frag+ICMP::
> -       flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 end
> key_len 0 queues end / end
> +
> +    flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 end
> key_len 0 queues end / end
> 
>  #. send the 100 IP pkts::
> 
> -
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/ICMP()
> /("X"*480)], iface="enp175s0f0", count=100)
> -       testpmd>stop
> +
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/ICMP()
> /("X"*480)], iface="enp175s0f0", count=100)
> +    testpmd>stop
> 
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> @@ -408,37 +432,45 @@ Test case: MAC_IPV4_PAY_FRAG_ICMP:
>  Test case: MAC_IPV4_NVGRE_L3SRC:
>  ================================
>  #. create rule for the rss type is IPV4 l3 src +NVGRE inner IPV4 +frag + ICMP::
> -       testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types
> ipv4 l3-src-only end key_len 0 queues end / end
> -       testpmd> start
> +
> +    testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types
> ipv4 l3-src-only end key_len 0 queues end / end
> +    testpmd> start
> +
>  #. send the 100 IP nvgre pkts::
> 
> -
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(src=RandIP())
> /ICMP()/("X"*480)],iface="enp175s0f0",count=100)
> -       testpmd> stop
> +
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(src=RandIP())
> /ICMP()/("X"*480)],iface="enp175s0f0",count=100)
> +    testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
>  Test case: MAC_IPV4_NVGRE_L3DST:
>  ================================
>  #. create rule for the rss type is IPV4 l3 dst +NVGRE inner IPV4 +frag + ICMP::
> -       testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types
> ipv4 l3-dst-only end key_len 0 queues end / end
> -       testpmd> start
> +
> +    testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types
> ipv4 l3-dst-only end key_len 0 queues end / end
> +    testpmd> start
> +
>  #. send the 100 IP nvgre pkts::
> 
> -
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(dst=RandIP()
> )/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
> -       testpmd> stop
> +
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(dst=RandIP()
> )/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
> +    testpmd> stop
> 
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> -
> 
>  Test case: MAC_IPV4_VXLAN_L3SRC:
>  ================================
>  #. create rule for the rss type is IPV4 src VXLAN +frag +ICMP::
> -       testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss types
> ipv4 l3-src-only end key_len 0 queues end / end
> -       testpmd>start
> +
> +    testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss types
> ipv4 l3-src-only end key_len 0 queues end / end
> +    testpmd>start
> +
>  #. send the 100 VXLAN pkts::
> -
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IP(src=Ra
> ndIP(), frag=5)/ICMP()/("X" * 80)], iface="enp175s0f0", count=100)
> -       testpmd> stop
> +
> +
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IP(src=Ra
> ndIP(), frag=5)/ICMP()/("X" * 80)], iface="enp175s0f0", count=100)
> +    testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
> @@ -446,12 +478,14 @@ Test case: MAC_IPV4_NVGRE_L3DST:
>  ================================
>  #. create rule for the rss type is IPV4 dst VXLAN +frag+ICMP::
> 
> -       testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss types
> ipv4 l3-dst-only end key_len 0 queues end / end
> -       testpmd>start
> +    testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss types
> ipv4 l3-dst-only end key_len 0 queues end / end
> +    testpmd>start
> +
>  #. send the 100 vxlan pkts::
> 
> -
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IP(dst=Ra
> ndIP(), frag=5)/ICMP()/("X" * 80)], iface="enp175s0f0", count=100)
> -       testpmd> stop
> +
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IP(dst=Ra
> ndIP(), frag=5)/ICMP()/("X" * 80)], iface="enp175s0f0", count=100)
> +    testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
> @@ -460,58 +494,69 @@ Test case: MAC_IPV4_NVGRE:
>  ==========================
>  #. create rule for the rss type is IPV4 all VXLAN +frag +ICMP::
> 
> -       testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss types
> ipv4 end key_len 0 queues end / end
> -       testpmd>start
> +    testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss types
> ipv4 end key_len 0 queues end / end
> +    testpmd>start
> 
>  #. send the 100 vxlan pkts::
> -
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IP(src=Ra
> ndIP(),dst=RandIP(),frag=5)/ICMP()/("X" * 80)], iface="enp175s0f0",
> count=100)
> -
> -       testpmd> stop
> +
> +
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IP(src=Ra
> ndIP(),dst=RandIP(),frag=5)/ICMP()/("X" * 80)], iface="enp175s0f0",
> count=100)
> +    testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> -
> 
>  Test case: MAC_IPV6_L3SRC
>  ==========================
>  #. create rule for the rss type is IPV6 L3 src::
> 
> -       testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss types
> ipv6 l3-src-only end key_len 0 queues end / end
> -       testpmd>start
> +    testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss types
> ipv6 l3-src-only end key_len 0 queues end / end
> +    testpmd>start
> +
>  #. send the 100 IPV6 pkts::
> -       sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6())/("X" * 80)],
> iface="enp175s0f0", count=100)
> +
> +    sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6())/("X" * 80)],
> iface="enp175s0f0", count=100)
> 
>  Test case: MAC_IPV6_L3SRC_FRAG
>  ===============================
>  #. create rule for the rss type is IPV6 L3 src +ExtHdrFragment::
> -       testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss types
> ipv6 l3-src-only end key_len 0 queues end / end
> -       testpmd>start
> +
> +    testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss types
> ipv6 l3-src-only end key_len 0 queues end / end
> +    testpmd>start
> 
>  #. send the 100 IPV6 pkts::
> -
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6())/IPv6ExtHdrFragm
> ent()/("X" * 80)], iface="enp175s0f0", count=100)
> -
> -       testpmd> stop
> +
> +
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6())/IPv6ExtHdrFragm
> ent()/("X" * 80)], iface="enp175s0f0", count=100)
> +    testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
>  Test case: MAC_IPV6_L3DST
>  =========================
>  #. create rule for the rss type is IPV6 L3 dst +ExtHdrFragment::
> -       testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss types
> ipv6 l3-dst-only end key_len 0 queues end / end
> -       testpmd>start
> +
> +    testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss types
> ipv6 l3-dst-only end key_len 0 queues end / end
> +    testpmd>start
> +
>  #. send the 100 IPV6 pkts::
> -
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(dst=RandIP6())/IPv6ExtHdrFragm
> ent()/("X" * 80)], iface="enp175s0f0", count=100)
> -       testpmd> stop
> +
> +
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(dst=RandIP6())/IPv6ExtHdrFragm
> ent()/("X" * 80)], iface="enp175s0f0", count=100)
> +    testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
>  Test case: MAC_IPV6_PAY
>  =======================
>  #. create rule for the rss type is IPV6 L3 all +ExtHdrFragment+ICMP::
> -      testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss types
> ipv6 end key_len 0 queues end / end
> -      testpmd>start
> +
> +    testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss types
> ipv6 end key_len 0 queues end / end
> +    testpmd>start
> +
>  #. send the 100 IPV6 pkts::
> -
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6(),dst=RandIP6())/IP
> v6ExtHdrFragment()/ICMP()/("X" * 80)], iface="enp175s0f0", count=100)
> -      testpmd> stop
> +
> +
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6(),dst=RandIP6())/IP
> v6ExtHdrFragment()/ICMP()/("X" * 80)], iface="enp175s0f0", count=100)
> +    testpmd> stop
> 
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> @@ -519,12 +564,15 @@ Test case: MAC_IPV6_PAY
>  Test case: MAC_IPV4_UDP:
>  ========================
>  #. create rule for the rss type is ipv4 UDP +l3 src and dst::
> +
>        testpmd>flow create 0 ingress pattern eth / ipv4 / udp / end actions rss
> types ipv4-udp l3-src-only l4-dst-only end key_len 0 queues end / end
>        testpmd>start
> +
>  #. send the 100 IP+UDP pkts::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP())/UDP(dport=RandSho
> rt())/("X"*480)], iface="enp175s0f0", count=100)
>        testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
> @@ -532,8 +580,10 @@ Test case: MAC_IPV4_UDP:
>  Test case: MAC_IPV4_UDP_FRAG:
>  =============================
>  #. create rule for the rss type is ipv4 +UDP +frag::
> +
>        testpmd> flow create 0 ingress pattern eth / ipv4 / udp / end actions rss
> types ipv4-udp end key_len 0 queues end / end
>        testpmd> start
> +
>  #. send the 100 IP src IP +UDP port pkts::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/UDP(sp
> ort=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0",
> count=100)
> @@ -541,6 +591,7 @@ Test case: MAC_IPV4_UDP_FRAG:
>  #. send the 100 IP +UDP port pkts::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(sport=RandShort(),dport=Ra
> ndShort())/("X"*480)], iface="enp175s0f0", count=100)
> +
>  #. send the 100 IP src and dst IP  +UDP port pkts::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/UDP()/
> ("X"*480)], iface="enp175s0f0", count=100)
> @@ -552,6 +603,7 @@ Test case: MAC_IPV4_UDP_FRAG:
>  Test case: MAC_NVGRE_IPV4_UDP_FRAG:
>  ===================================
>  #. create rule for the rss type is ipv4 + inner IP and UDP::
> +
>       testpmd>flow create 0 ingress pattern eth / ipv4 / udp / end actions rss
> types ipv4-udp end key_len 0 queues end / end
>       testpmd>start
> 
> @@ -559,119 +611,150 @@ Test case: MAC_NVGRE_IPV4_UDP_FRAG:
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(src=RandIP(),
> dst=RandIP())/UDP(sport=RandShort(),dport=RandShort())/("X"*480)],
> iface="enp175s0f0", count=100)
>       testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
>  Test case: MAC_VXLAN_IPV4_UDP_FRAG:
>  ===================================
>  #. create rule for the rss type is ipv4 + vxlan UDP::
> +
>       testpmd> flow create 0 ingress pattern eth / ipv4 / udp / end actions rss
> types ipv4-udp end key_len 0 queues end / end
>       testpmd> start
> +
>  #. To send VXLAN pkts with IP src and dst,UDP port::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IP(src=Ra
> ndIP(),dst=RandIP())/UDP(sport=RandShort(),dport=RandShort())/("X"*480)],
> iface="enp175s0f0", count=100)
>       testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
>  Test case: MAC_IPV6_UDP:
>  ========================
>  #. create rule for the rss type is IPV6 + UDP src and dst type hash::
> +
>       testpmd> flow create 0 ingress pattern eth / ipv6 / udp / end actions rss
> types ipv6-udp end key_len 0 queues end / end
>       testpmd> start
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6())/UDP(sport=Rand
> Short(),dport=RandShort())/("X" * 80)], iface="enp175s0f0", count=100)
>       testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
>  Test case: MAC_IPV6_UDP_FRAG:
>  =============================
>  #. To send IPV6 pkts with IPV6 src +frag +UDP port::
> +
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6())/IPv6ExtHdrFragm
> ent()/UDP(sport=RandShort(),dport=RandShort())/("X" * 80)],
> iface="enp175s0f0", count=100)
>       testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
>  Test case: MAC_IPV4_TCP_FRAG:
>  =============================
>  #. create rule for the rss type is IPV4 + TCP L3 src and  L4 dst type hash::
> +
>       testpmd>flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss
> types ipv4-tcp l3-src-only l4-dst-only end key_len 0 queues end / end
> +
>  #. To send IPV4 pkts with scr IP and TCP dst port::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP())/TCP(dport=RandSho
> rt())/("X"*480)], iface="enp175s0f0", count=100)
>       testpmd>flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss
> types ipv4-tcp l3-src-only l4-src-only end key_len 0 queues end / end
> +
>  #. To send IPV4 pkts with scr IP and TCP src port::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(dst=RandIP())/TCP(sport=RandShor
> t())/("X"*480)], iface="enp175s0f0", count=100)
>       testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
>  Test case: MAC_IPV4_TCP_PAY
>  ===========================
>  #. Create rule for the rss type is IPV4 +tcp and hash tcp src and dst ports::
> +
>       testpmd>flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss
> types ipv4-tcp end key_len 0 queues end / end
>       testpmd>start
> +
>  #. To send IPV4 pkts with IP src and dst ip and TCP ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/TCP(sp
> ort=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0",
> count=100)
> +
>  #. To send IPV4 pkts without IP src and dst ip and includ TCP ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/TCP(sport=RandShort(),dport=Ra
> ndShort())/("X"*480)], iface="enp175s0f0", count=100)
> +
>  #. To send IPV4 pkts with IP src and dst ip and without TCP port::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/TCP()/(
> "X"*480)], iface="enp175s0f0", count=100)
> +
>  #. To send IPV4 pkts with IP src and dst +frag and without TCP port::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP(),frag=4)/
> TCP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0",
> count=100)
>       testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> -
> 
>  Test case: MAC_IPV6_UDP_FRAG:
>  =============================
>  #. Create rule for the RSS type nvgre IP src dst ip and TCP::
> +
>       testpmd>flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss
> types ipv4-tcp end key_len 0 queues end / end
>       testpmd>start
> +
>  #. To send NVGRE ip pkts::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(src=RandIP(),
> dst=RandIP())/TCP(sport=RandShort(),dport=RandShort())/("X"*480)],
> iface="enp175s0f0", count=100)
>       testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
>  Test case: MAC_VXLAN_IPV4_TCP
>  =============================
>  #. Create rule for the rss type is IPV4 +tcp and hash tcp src and dst ports::
> +
>        testpmd>flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss
> types ipv4-tcp end key_len 0 queues end / end
>        testpmd>start
> +
>  #. To send VXLAN pkts includ src and dst ip and TCP ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/TCP()/VXLAN()/Ether()/IP(src=Ra
> ndIP(),dst=RandIP())/TCP(sport=RandShort(),dport=RandShort())/("X"*480)],
> iface="enp175s0f0", count=100)
>        testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
>  Test case: MAC_IPV6_TCP
>  =======================
>  #. Create rule for the rss IPV6 tcp::
> +
>         testpmd>flow create 0 ingress pattern eth / ipv6 / tcp / end actions rss
> types ipv6-tcp end key_len 0 queues end / end
>         testpmd>start
> +
>  #. To send IPV6 pkts include TCP ports::
> +
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6())/TCP(sport=RandS
> hort(),dport=RandShort())/("X" * 80)], iface="enp175s0f0", count=100)
>         testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
>  Test case: MAC_IPV6_TCP_FRAG:
>  =============================
>  #. Create rule for the rss IPV6 tcp::
> +
>         testpmd>flow create 0 ingress pattern eth / ipv6 / tcp / end actions rss
> types ipv6-tcp end key_len 0 queues end / end
>         testpmd>start
> +
>  #. To send ipv6 pkts and IPV6 frag::
> +
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6())/IPv6ExtHdrFragm
> ent()/TCP(sport=RandShort(),dport=RandShort())/("X" * 80)],
> iface="enp175s0f0", count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
> @@ -679,24 +762,29 @@ Test case: MAC_IPV6_TCP_FRAG:
>  Test case: MAC_IPV4_SCTP:
>  =========================
>  #. Create rule for the rss type IPV4 and SCTP, hash keywords with ipv4 sctp
> and l3 src port l4 dst port::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv4 / sctp / end actions rss
> types ipv4-sctp l3-src-only l4-dst-only end key_len 0 queues end / end
>          testpmd>start
> +
>  #. To send IP pkts includ SCTP dport::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP())/SCTP(dport=RandSh
> ort())/("X"*480)], iface="enp175s0f0", count=100)
> +
>  #. To send IP pkts includ SCTP sport::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(dst=RandIP())/SCTP(sport=RandSh
> ort())/("X"*480)], iface="enp175s0f0", count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
> -
>  Test case: MAC_IPV4_SCTP_FRAG:
>  ==============================
>  #. Create rule for the rss type IPV4 and SCTP, hash keywords with ipv4 sctp::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv4 / sctp / end actions rss
> types ipv4-sctp end key_len 0 queues end / end
>          testpmd>start
> +
>  #. To send IPV4 pkt include SCTP ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/SCTP(s
> port=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0",
> count=100)
> @@ -704,99 +792,117 @@ Test case: MAC_IPV4_SCTP_FRAG:
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/SCTP()/
> ("X"*480)], iface="enp175s0f0", count=100)
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP(),frag=4)/
> SCTP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0",
> count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> -
> 
>  Test case: MAC_NVGRE_IPV4_SCTP:
>  ===============================
>  #. Create rule for the rss type IPV4 and hash keywords ipv4 sctp src and dst
> type::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv4 / sctp / end actions rss
> types ipv4-sctp end key_len 0 queues end / end
>          testpmd>start
> +
>  #. To send NVGRE ip pkts and sctp ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(src=RandIP(),
> dst=RandIP())/SCTP(sport=RandShort(),dport=RandShort())/("X"*480)],
> iface="enp175s0f0", count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
> -
>  Test case: MAC_VXLAN_IPV4_SCTP:
>  ===============================
>  #. create rule for the rss type IPV4 and hash keywords ipv4 sctp src and dst
> type::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv4 / sctp / end actions rss
> types ipv4-sctp end key_len 0 queues end / end
>          testpmd>start
> +
>  #. To send VXLAN ip pkts and sctp ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/SCTP()/VXLAN()/Ether()/IP(src=Ra
> ndIP(),dst=RandIP())/SCTP(sport=RandShort(),dport=RandShort())/("X"*480)],
> iface="enp175s0f0", count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
>  Test case: MAC_IPV6_SCTP_PAY:
>  =============================
>  #. Create rule for the rss type IPV6 and hash keywords ipv4 sctp src and dst
> type::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv6 / sctp / end actions rss
> types ipv6-sctp end key_len 0 queues end / end
>          testpmd>start
> +
>  #. To send IPV6 pkts and sctp ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6())/SCTP(sport=Rand
> Short(),dport=RandShort())/("X" * 80)], iface="enp175s0f0", count=100)
>          MAC IPV6 SCTP all+frag:
> +
>  #. to send IPV6 pkts includ frag::
> +
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6())/IPv6ExtHdrFragm
> ent()/SCTP(sport=RandShort(),dport=RandShort())/("X" * 80)],
> iface="enp175s0f0", count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
> -
>  Test case: MAC_IPV4_PPPOD_PPPOE:
>  ================================
>  #. Create rule for the rss type pppoes type::
> +
>          testpmd>flow create 0 ingress pattern eth / pppoes / ipv4 / end actions
> rss types ipv4 end key_len 0 queues end / end
>          testpmd>start
> +
>  #. To send pppoe 100pkts::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/PPPoE(sessionid=RandShort())/PPP(pr
> oto=0x21)/IP(src=RandIP())/UDP(sport=RandShort())/("X"*480)],
> iface="enp175s0f0", count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
> -
>  Test case: MAC_IPV4_PPPOD_PPPOE:
>  ================================
>  #. Create rule for the rss type pppoes::
> +
>          testpmd>flow create 0 ingress pattern eth / pppoes / ipv4 / end actions
> rss types ipv4 end key_len 0 queues end / end
>          testpmd>start
> +
>  #. To send pppoe pkts::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/PPPoE(sessionid=RandShort())/PPP(pr
> oto=0x21)/IP(src=RandIP())/("X"*480)], iface="enp175s0f0", count=100)
>          testpmd> stop
> +
>  #. Verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> -
> 
>  Test case: MAC_IPV4_PPPOD_PPPOE_UDP:
>  ====================================
>  #. Create rule for the rss type pppoes and hash l3 src , l4 dst port::
> +
>          testpmd>flow create 0 ingress pattern eth / pppoes / ipv4 / udp / end
> actions rss types ipv4-udp l3-src-only l4-dst-only end key_len 0 queues end /
> end
>          testpmd>start
> +
>  #. To send pppoe pkt and include the UPD ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/PPPoE(sessionid=RandShort())/PPP(pr
> oto=0x21)/IP(src=RandIP())/UDP(dport=RandShort())/("X"*480)],
> iface="enp175s0f0", count=100)
>          testpmd> stop
> +
>  #. Verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> -
> 
>  Test case: MAC_IPV4_PPPOD_PPPOE_SCTP:
>  =====================================
>  #. Create rule for the rss type pppoe and hash sctp keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / pppoes / ipv4 / sctp / end
> actions rss types ipv4-sctp end key_len 0 queues end / end
>          testpmd>start
> +
>  #. To send pppoe pkt and include the SCTP ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/PPPoE(sessionid=RandShort())/PPP(pr
> oto=0x21)/IP(src=RandIP())/SCTP(dport=RandShort())/("X"*480)],
> iface="enp175s0f0", count=100)
>          testpmd> stop
> +
>  #. Verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
> @@ -804,12 +910,15 @@ Test case: MAC_IPV4_PPPOD_PPPOE_SCTP:
>  Test case: MAC_IPV4_PPPOD_PPPOE_ICMP:
>  =====================================
>  #. Create rule for the rss type pppoe and hash icmp keywords::
> +
>          testpmd> flow create 0 ingress pattern eth / pppoes / ipv4 / end actions
> rss types ipv4 end key_len 0 queues end / end
>          testpmd>start
> +
>  #. To send pppoe pkt and include the ICMP ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/PPPoE(sessionid=RandShort())/PPP(pr
> oto=0x21)/IP(src=RandIP())/ICMP()/("X"*480)], iface="enp175s0f0",
> count=100)
>          testpmd> stop
> +
>  #. Verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
> @@ -817,15 +926,19 @@ Test case: MAC_IPV4_PPPOD_PPPOE_ICMP:
>  Test case: MAC_IPV4_GTPU_FRAG:
>  ==============================
>  #. Create rule for the rss type GTPU and hash l3 src keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc /
> ipv4 / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end
>          testpmd>start
> +
>  #. To send GTPU pkts::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(dport=2152)/GTP_U_Heade
> r(teid=0x123456)/IP(src=RandIP())/ICMP()/("X"*480)],iface="enp175s0f0",co
> unt=100)
> +
>  #. To send GTPU PKTS and IPV4 frag::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(dport=2152)/GTP_U_Heade
> r(teid=0x123456)/IP(src=RandIP(),frag=6)/("X"*480)],iface="enp175s0f0",cou
> nt=100)
>          testpmd> stop
> +
>  #. Verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
> @@ -833,12 +946,15 @@ Test case: MAC_IPV4_GTPU_FRAG:
>  Test case: MAC_IPV4_GTPU_FRAG_UDP:
>  ==================================
>  #. create rule for the rss type GTPU and hash l3 src and dst keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc /
> ipv4 / udp / end actions rss types ipv4 end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send GTP pkts and include IP pkts and UDP::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(dport=2152)/GTP_U_Heade
> r(teid=0x123456)/IP(src=RandIP(),frag=6)/UDP(dport=RandShort())/("X"*480)
> ],iface="enp175s0f0",count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
> @@ -846,12 +962,15 @@ Test case: MAC_IPV4_GTPU_FRAG_UDP:
>  Test case: MAC_IPV4_GTPU_FRAG_TCP:
>  ==================================
>  #. create rule for the rss type GTPU and hash l3 src and dst keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc /
> ipv4 / tcp / end actions rss types ipv4 l3-src-only end key_len 0 queues end /
> end
>          testpmd>start
> +
>  #. to send GTP pkts and include IP pkts and tcp::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(dport=2152)/GTP_U_Heade
> r(teid=0x123456)/IP(src=RandIP(),frag=6)/TCP(dport=RandShort())/("X"*480)
> ],iface="enp175s0f0",count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and to check the 100 pkts has send to differently
> totaly 64 queues evenly with
>     differently RSS random value
> 
> @@ -862,6 +981,7 @@ Test case: MAC_IPV4_GTPU_FRAG_ICMP:
> 
>          testpmd>flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc /
> ipv4 / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send GTP pkts and include IP pkts and ICMP::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(dport=2152)/GTP_U_Heade
> r(teid=0x123456)/IP(src=RandIP(),frag=6)/ICMP()/("X"*480)],iface="enp175s0
> f0",count=100)
> @@ -872,46 +992,51 @@ Test case: MAC_IPV4_GTPU_FRAG_ICMP:
>  Test case: SYMMETRIC_TOEPLITZ_IPV4_PAY:
>  =======================================
>  #. create rule for the rss type symmetric_toeplitz and hash ipv4 src and dst
> keywords::
> -        testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss func
> symmetric_toeplitz types ipv4 end key_len 0 queues end / end
> -        testpmd>start
> +
> +    testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss func
> symmetric_toeplitz types ipv4 end key_len 0 queues end / end
> +    testpmd>start
> +
>  #. to send ip pkts with fix IP::
> 
> -
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.1",dst="192.168.0.2
> ")/("X"*480)], iface="enp175s0f0", count=100)
> +
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.1",dst="192.168.0.2
> ")/("X"*480)], iface="enp175s0f0", count=100)
> +
>  #. to send ip pkts with fix IP and switch src and dst ip address::
> 
> -
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.2",dst="192.168.0.1
> ")/("X"*480)], iface="enp175s0f0", count=100)
> +
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.2",dst="192.168.0.1
> ")/("X"*480)], iface="enp175s0f0", count=100)
> +
> +Verbos log::
> 
> -   Verbos log:
> -   src=A4:BF:01:68:D2:03 - dst=68:05:CA:A3:28:94 - type=0x0800 - length=514
> - nb_segs=1 - RSS hash=0xf84ccd9b - RSS queue=0x1b - hw ptype: L2_ETHER
> L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV4  -
> l2_len=14 - l3_len=20 - Receive queue=0x1b ol_flags: PKT_RX_RSS_HASH
> PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD
> PKT_RX_OUTER_L4_CKSUM_UNKNOWN
> +    src=A4:BF:01:68:D2:03 - dst=68:05:CA:A3:28:94 - type=0x0800 -
> length=514 - nb_segs=1 - RSS hash=0xf84ccd9b - RSS queue=0x1b - hw ptype:
> L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER
> L3_IPV4  - l2_len=14 - l3_len=20 - Receive queue=0x1b ol_flags:
> PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD
> PKT_RX_OUTER_L4_CKSUM_UNKNOWN
> 
> -   src=A4:BF:01:68:D2:03 - dst=68:05:CA:A3:28:94 - type=0x0800 - length=514
> - nb_segs=1 - RSS hash=0xf84ccd9b - RSS queue=0x1b - hw ptype: L2_ETHER
> L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV4  -
> l2_len=14 - l3_len=20 - Receive queue=0x1b ol_flags: PKT_RX_RSS_HASH
> PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD
> PKT_RX_OUTER_L4_CKSUM_UNKNOWN
> +    src=A4:BF:01:68:D2:03 - dst=68:05:CA:A3:28:94 - type=0x0800 -
> length=514 - nb_segs=1 - RSS hash=0xf84ccd9b - RSS queue=0x1b - hw ptype:
> L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER
> L3_IPV4  - l2_len=14 - l3_len=20 - Receive queue=0x1b ol_flags:
> PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD
> PKT_RX_OUTER_L4_CKSUM_UNKNOWN
> 
> -#. To verify the hash value keep with a same value when the IP has
> exchanged.
> +#. To verify the hash value keep with a same value when the IP has
> exchanged::
> 
> -   hash=0xf84ccd9b - RSS queue=0
> -   hash=0xf84ccd9b - RSS queue=0
> +    hash=0xf84ccd9b - RSS queue=0
> +    hash=0xf84ccd9b - RSS queue=0
> 
>  #. to send ip pkts with fix IP::
> 
> -
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="8.8.8.2",dst="5.6.7.8")/("X"*4
> 80)], iface="enp175s0f0", count=100)
> -#. to send ip pkts with fix IP and switch src and dst ip address::
> +
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="8.8.8.2",dst="5.6.7.8")/("X"*4
> 80)], iface="enp175s0f0", count=100)
> 
> -
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="5.6.7.8",dst="8.8.8.2")/("X"*4
> 80)], iface="enp175s0f0", count=100)
> +#. to send ip pkts with fix IP and switch src and dst ip address::
> 
> -   testpmd> stop
> -   verify 100 pkts has sent, and check the has value has fixed, verify the has
> value keep with a same value, when the IP has exchanged
> +
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="5.6.7.8",dst="8.8.8.2")/("X"*4
> 80)], iface="enp175s0f0", count=100)
> +    testpmd> stop
> 
> -
> -   Verbose log:
> -   src=A4:BF:01:68:D2:03 - dst=68:05:CA:A3:28:94 - type=0x0800 - length=514
> - nb_segs=1 - RSS hash=0x772baed3 - RSS queue=0x13 - hw ptype: L2_ETHER
> L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV4  -
> l2_len=14 - l3_len=20 - Receive queue=0x13 ol_flags: PKT_RX_RSS_HASH
> PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD
> PKT_RX_OUTER_L4_CKSUM_UNKNOWN
> -   src=A4:BF:01:68:D2:03 - dst=68:05:CA:A3:28:94 - type=0x0800 - length=514
> - nb_segs=1 - RSS hash=0x772baed3 - RSS queue=0x13 - hw ptype: L2_ETHER
> L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV4  -
> l2_len=14 - l3_len=20 - Receive queue=0x13 ol_flags: PKT_RX_RSS_HASH
> PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD
> PKT_RX_OUTER_L4_CKSUM_UNKNOWN
> +verify 100 pkts has sent, and check the has value has fixed, verify the has
> value keep with a same value, when the IP has exchanged
> +Verbose log::
> +
> +    src=A4:BF:01:68:D2:03 - dst=68:05:CA:A3:28:94 - type=0x0800 -
> length=514 - nb_segs=1 - RSS hash=0x772baed3 - RSS queue=0x13 - hw ptype:
> L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER
> L3_IPV4  - l2_len=14 - l3_len=20 - Receive queue=0x13 ol_flags:
> PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD
> PKT_RX_OUTER_L4_CKSUM_UNKNOWN
> +    src=A4:BF:01:68:D2:03 - dst=68:05:CA:A3:28:94 - type=0x0800 -
> length=514 - nb_segs=1 - RSS hash=0x772baed3 - RSS queue=0x13 - hw ptype:
> L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER
> L3_IPV4  - l2_len=14 - l3_len=20 - Receive queue=0x13 ol_flags:
> PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD
> PKT_RX_OUTER_L4_CKSUM_UNKNOWN
> 
> -#. To verify the hash value keep with a same value when the IP has
> exchanged.
> +#. To verify the hash value keep with a same value when the IP has
> exchanged::
> 
> -   0x772baed3 - RSS queue=0x19
> -   0x772baed3 - RSS queue=0x19
> +    0x772baed3 - RSS queue=0x19
> +    0x772baed3 - RSS queue=0x19
> 
> -    statistics log:
> +statistics log::
> +
>      ------- Forward Stats for RX Port= 0/Queue=19 -> TX Port= 0/Queue=19 -----
> --
>      RX-packets: 200            TX-packets: 0              TX-dropped: 0
> 
> @@ -931,13 +1056,16 @@ Test case:
> SYMMETRIC_TOEPLITZ_IPV4_PAY_FRAG:
> 
>          testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss func
> symmetric_toeplitz types ipv4 end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ip pkts with fix IP includ frag::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.1",dst="192.168.0.2
> ",frag=6)/("X"*480)], iface="enp175s0f0", count=100)
> +
>  #. to send ip pkts with fix IP includ frag and switch src and dst ip address::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.2",dst="192.168.0.1
> ",frag=6)/("X"*480)], iface="enp175s0f0", count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss has has fixed with a same value.
> 
> 
> @@ -947,13 +1075,16 @@ Test case: SYMMETRIC_TOEPLITZ_IPV4_UDP:
> 
>          testpmd>flow create 0 ingress pattern eth / ipv4 / udp / end actions rss
> func symmetric_toeplitz types ipv4-udp end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ip pkts with fix IP includ frag and UDP::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.1",dst="192.168.0.2
> ",frag=6)/UDP(sport=20,dport=22)/("X"*480)], iface="enp175s0f0",
> count=100)
> +
>  #. to send ip pkts with fix IP includ frag and switch src and dst ip address and
> UDP ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.2",dst="192.168.0.1
> ",frag=6)/UDP(sport=22,dport=20)/("X"*480)], iface="enp175s0f0",
> count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value.
> 
>  Test case: SYMMETRIC_TOEPLITZ_IPV4_UDP_L3SRC_L3DST_L4SRC_L4DST:
> @@ -962,13 +1093,16 @@ Test case:
> SYMMETRIC_TOEPLITZ_IPV4_UDP_L3SRC_L3DST_L4SRC_L4DST:
> 
>          testpmd>flow create 0 ingress pattern eth / ipv4 / udp / end actions rss
> func symmetric_toeplitz types ipv4-udp l3-src-only l3-dst-only l4-src-only l4-
> dst-only end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ip pkts with fix IP includ frag and UDP::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="1.1.4.1",dst="2.2.2.3")/UDP(s
> port=20,dport=22)/("X"*480)], iface="enp175s0f0", count=100)
> +
>  #. to send ip pkts with fix IP includ frag and switch src and dst ip address and
> UDP ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="2.2.2.3",dst="1.1.4.1")/UDP(s
> port=22,dport=20)/("X"*480)], iface="enp175s0f0", count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value.
> 
>  Test case: SYMMETRIC_TOEPLITZ_IPV4_TCP:
> @@ -977,13 +1111,16 @@ Test case: SYMMETRIC_TOEPLITZ_IPV4_TCP:
> 
>          testpmd>flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss
> func symmetric_toeplitz types ipv4-tcp end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ip pkts with fix IP includ frag and TCP::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.1",dst="192.168.0.2
> ",frag=6)/TCP(sport=20,dport=22)/("X"*480)], iface="enp175s0f0",
> count=100)
> +
>  #. to send ip pkts with fix IP includ frag and switch src and dst ip address and
> tcp ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.2",dst="192.168.0.1
> ",frag=6)/TCP(sport=22,dport=20)/("X"*480)], iface="enp175s0f0",
> count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value.
> 
> 
> @@ -993,9 +1130,11 @@ Test case: SYMMETRIC_TOEPLITZ_IPV4_SCTP:
> 
>          testpmd>flow create 0 ingress pattern eth / ipv4 / sctp / end actions rss
> func symmetric_toeplitz types ipv4-sctp end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ip pkts with fix IP includ frag and SCTP::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.1",dst="192.168.0.2
> ",frag=6)/SCTP(sport=20,dport=22)/("X"*480)], iface="enp175s0f0",
> count=100)
> +
>  #. to send ip pkts with fix IP includ frag and switch src and dst ip address and
> sctp ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.2",dst="192.168.0.1
> ",frag=6)/SCTP(sport=22,dport=20)/("X"*480)], iface="enp175s0f0",
> count=100)
> @@ -1009,203 +1148,264 @@ Test case: SYMMETRIC_TOEPLITZ_IPV4_ICMP:
> 
>          testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss func
> symmetric_toeplitz types ipv4 end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ip pkts with fix IP includ frag and ICMP::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.1",dst="192.168.0.2
> ",frag=6)/ICMP()/("X"*480)], iface="enp175s0f0", count=100)
> +
>  #. to send ip pkts with fix IP includ frag and switch src and dst ip address and
> ICMP ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.2",dst="192.168.0.1
> ",frag=6)/ICMP()/("X"*480)], iface="enp175s0f0", count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash value with a fixed value .
> 
> 
>  Test case: SYMMETRIC_TOEPLITZ_IPV6:
>  ===================================
>  #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss func
> symmetric_toeplitz types ipv6 end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ip pkts with fix IPV6  pkts with fixed address::
> +
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="ABAB:910B:6666:3457:8295
> :3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X" *
> 80)], iface="enp175s0f0", count=100)
> +
>  #. to send ip pkts with fix IPv6 includ frag and switch src and dst ip address::
> +
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="CDCD:910A:2222:5498:8475
> :1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/("X" *
> 80)], iface="enp175s0f0", count=100)
> 
>  #. to send ip pkts with fix IPV6  pkts with fixed address without MAC
> address::
> +
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="CDCD:910A:2222:5498:8475
> :1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/("X" *
> 80)], iface="enp175s0f0", count=100)
> +
>  #. to send ip pkts with fix IPv6 includ frag and switch src and dst ip address
> without mac address::
> +
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="ABAB:910B:6666:3457:8295
> :3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X" *
> 80)], iface="enp175s0f0", count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rssh hash with a fixed value .
> 
>  Test case: SYMMETRIC_TOEPLITZ_IPV6_PAY:
>  ==========================================
>  #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss func
> symmetric_toeplitz types ipv6 end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ip pkts with fix IPV6  pkts with fixed address and includ IPV6 frag::
> +
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="CDCD:910A:2222:5498:8475
> :1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/IPv6Ext
> HdrFragment()/("X" * 80)], iface="enp175s0f0", count=100)
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="ABAB:910B:6666:3457:8295
> :3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6Ex
> tHdrFragment()/("X" * 80)], iface="enp175s0f0", count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value.
> 
> 
>  Test case: SYMMETRIC_TOEPLITZ_IPV6_UDP:
>  =======================================
>  #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv6 / udp / end actions rss
> func symmetric_toeplitz types ipv6-udp end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ip pkts with fix IPV6  pkts with fixed address and includ IPV6 frag
> and UDP port::
> +
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="CDCD:910A:2222:5498:8475
> :1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/UDP(s
> port=30,dport=32)/("X" * 80)], iface="enp175s0f0", count=100)
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="ABAB:910B:6666:3457:8295
> :3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(s
> port=32,dport=30)/("X" * 80)], iface="enp175s0f0", count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value.
> 
> 
>  Test case: SYMMETRIC_TOEPLITZ_IPV6_TCP:
>  =======================================
>  #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv6 / tcp / end actions rss
> func symmetric_toeplitz types ipv6-tcp end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ip pkts with fix IPV6  pkts with fixed address and includ IPV6 frag
> and tcp port::
> +
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="CDCD:910A:2222:5498:8475
> :1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/TCP(sp
> ort=30,dport=32)/("X" * 80)], iface="enp175s0f0", count=100)
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="ABAB:910B:6666:3457:8295
> :3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sp
> ort=32,dport=30)/("X" * 80)], iface="enp175s0f0", count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value.
> 
> 
>  Test case: SYMMETRIC_TOEPLITZ_IPV6_SCTP:
>  ========================================
>  #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv6 / sctp / end actions rss
> func symmetric_toeplitz types ipv6-sctp end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ip pkts with fix IPV6  pkts with fixed address and includ IPV6 frag
> and sctp port::
> +
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="CDCD:910A:2222:5498:8475
> :1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/SCTP(s
> port=30,dport=32)/("X" * 80)], iface="enp175s0f0", count=100)
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="ABAB:910B:6666:3457:8295
> :3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/SCTP(s
> port=32,dport=30)/("X" * 80)], iface="enp175s0f0", count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value.
> 
> 
>  Test case: SYMMETRIC_TOEPLITZ_IPV6_ICMP:
>  ========================================
>  #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss func
> symmetric_toeplitz types ipv6 end key_len 0 queues end key_len 0 queues
> end / end
>          testpmd>start
> +
>  #. to send ip pkts with fix IPV6  pkts with fixed address and includ IPV6 frag
> and ICMP port::
> +
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="CDCD:910A:2222:5498:8475
> :1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/ICMP()
> /("X" * 80)], iface="enp175s0f0", count=100)
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="ABAB:910B:6666:3457:8295
> :3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/ICMP()
> /("X" * 80)], iface="enp175s0f0", count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value.
> 
> 
>  Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV4:
>  =========================================
>  #. create rule for the rss type symmetric_toeplitz and hash IPV4 keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss func
> symmetric_toeplitz types ipv4 end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ip pkts with fix nvgre pkts with fixed address and includ frag::
> 
> 
> sendp([Ether()/IP()/NVGRE()/Ether()/IP(src="192.168.0.8",dst="192.168.0.69
> ",frag=6)/("X"*480)], iface="enp175s0f0", count=100)
> 
> sendp([Ether()/IP()/NVGRE()/Ether()/IP(src="192.168.0.69",dst="192.168.0.8
> ",frag=6)/("X"*480)], iface="enp175s0f0", count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value.
> 
>  Test case: SYMMETRIC_TOEPLITZ_VXLAN_IPV4:
>  =========================================
>  #. create rule for the rss type symmetric_toeplitz and hash IPV4 keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss func
> symmetric_toeplitz types ipv4 end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ip pkts with fix vxlan pkts with fixed address and includ frag::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IP(src="1
> 92.168.0.1",dst="192.168.0.2",frag=6)/("X"*480)], iface="enp175s0f0",
> count=100)
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IP(src="1
> 92.168.0.2",dst="192.168.0.1",frag=6)/("X"*480)], iface="enp175s0f0",
> count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value.
> 
> 
>  Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV4_UDP:
>  =============================================
>  #. create rule for the rss type symmetric_toeplitz and hash IPV4 keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv4 / udp / end actions rss
> func symmetric_toeplitz types ipv4-udp end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ip pkts with fix nvgre pkts with fixed address and includ frag and
> udp ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether(dst="68:05:ca:a3:
> 28:94")/IP(src="8.8.8.1",dst="5.6.8.2")/UDP(sport=20,dport=22)/("X"*480)],if
> ace="enp175s0f0",count=100)
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether(dst="68:05:ca:a3:
> 28:94")/IP(src="5.6.8.2",dst="8.8.8.1")/UDP(sport=22,dport=20)/("X"*480)],if
> ace="enp175s0f0",count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value.
> 
>  Test case: SYMMETRIC_TOEPLITZ_NVGRE_SCTP:
>  =========================================
>  #. create rule for the rss type symmetric_toeplitz and hash IPV4 keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv4 / sctp / end actions rss
> func symmetric_toeplitz types ipv4-sctp end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ip pkts with fix nvgre pkts with fixed address and includ frag and
> sctp ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether(dst="68:05:ca:a3:
> 28:94")/IP(src="8.8.8.1",dst="5.6.8.2")/SCTP(sport=20,dport=22)/("X"*480)],i
> face="enp175s0f0",count=100)
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether(dst="68:05:ca:a3:
> 28:94")/IP(src="5.6.8.2",dst="8.8.8.1")/SCTP(sport=22,dport=20)/("X"*480)],i
> face="enp175s0f0",count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value.
> 
>  Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV4_TCP:
>  =============================================
>  #. create rule for the rss type symmetric_toeplitz and hash IPV4 keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss
> func symmetric_toeplitz types ipv4-tcp end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ip pkts with fix nvgre pkts with fixed address and includ frag and
> tcp ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether(dst="68:05:ca:a3:
> 28:94")/IP(src="8.8.8.1",dst="5.6.8.2")/TCP(sport=20,dport=22)/("X"*480)],if
> ace="enp175s0f0",count=100)
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether(dst="68:05:ca:a3:
> 28:94")/IP(src="5.6.8.2",dst="8.8.8.1")/TCP(sport=22,dport=20)/("X"*480)],if
> ace="enp175s0f0",count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value.
> 
>  Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV4_ICMP:
>  ==============================================
>  #. create rule for the rss type symmetric_toeplitz and hash IPV4 keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss func
> symmetric_toeplitz types ipv4 end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ip pkts with fix nvgre pkts with fixed address and includ frag and
> icmp ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(src="8.8.8.1",
> dst="5.6.8.2")/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(src="5.6.8.2",
> dst="8.8.8.1")/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value.
> 
>  Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV6:
>  =========================================
>  #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss func
> symmetric_toeplitz types ipv6 end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ipv6 pkts with fix nvgre pkts with fixed address::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="CDCD
> :910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:333
> 3:1800:2929")/("X"*480)],iface="enp175s0f0",count=100)
> +
>  #. to send ip pkts with fix IPv6 includ frag and switch src and dst ip address::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="ABAB:
> 910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:111
> 1:3900:2020")/("X"*480)],iface="enp175s0f0",count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value.
> 
>  Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV6_UDP:
>  ================================================
>  #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv6 / udp / end actions rss
> func symmetric_toeplitz types ipv6-udp end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ipv6 pkts with fix nvgre pkts with fixed address and includ ipv6
> frag and UDP ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="CDCD
> :910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:333
> 3:1800:2929")/UDP(sport=30,dport=32)/("X"*480)],iface="enp175s0f0",count
> =100)
> +
>  #. to send ip pkts with fix IPv6 includ frag and switch src and dst ip address
> and udp ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="ABAB:
> 910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:111
> 1:3900:2020")/UDP(sport=32,dport=33)/("X"*480)],iface="enp175s0f0",count
> =100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value.
> 
> 
>  Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV6_TCP:
>  =============================================
>  #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv6 / tcp / end actions rss
> func symmetric_toeplitz types ipv6-tcp end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ipv6 pkts with fix nvgre pkts with fixed address and includ ipv6
> frag and tcp ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="CDCD
> :910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:333
> 3:1800:2929")/TCP(sport=30,dport=32)/("X"*480)],iface="enp175s0f0",count
> =100)
> +
>  #. to send ip pkts with fix IPv6 includ frag and switch src and dst ip address
> and tcp ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="ABAB:
> 910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:111
> 1:3900:2020")/TCP(sport=32,dport=33)/("X"*480)],iface="enp175s0f0",count
> =100)
> @@ -1215,106 +1415,134 @@ Test case:
> SYMMETRIC_TOEPLITZ_NVGRE_IPV6_TCP:
>  Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV6_SCTP
>  ==============================================
>  #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv6 / sctp / end actions rss
> func symmetric_toeplitz types ipv6-sctp end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ipv6 pkts with fix nvgre pkts with fixed address and includ ipv6
> frag and SCTP ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="CDCD
> :910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:333
> 3:1800:2929")/SCTP(sport=30,dport=32)/("X"*480)],iface="enp175s0f0",coun
> t=100)
> +
>  #. to send ip pkts with fix IPv6 includ frag and switch src and dst ip address
> and SCTP ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="ABAB:
> 910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:111
> 1:3900:2020")/SCTP(sport=32,dport=33)/("X"*480)],iface="enp175s0f0",coun
> t=100)
> -    testpmd> stop
> +        testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value.
> 
> 
>  Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV6_ICMP:
>  ==============================================
>  #.  create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss func
> symmetric_toeplitz types ipv6 end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ipv6 pkts with fix nvgre pkts with fixed address and includ ipv6
> frag and ICMP ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="CDCD
> :910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:333
> 3:1800:2929")/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
> +
>  #. to send ip pkts with fix IPv6 includ frag and switch src and dst ip address
> and ICMP ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="ABAB:
> 910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:111
> 1:3900:2020")/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value.
> 
>  Test case: SYMMETRIC_TOEPLITZ_VXLAN_IPV6_UDP:
>  =============================================
>  #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv6 / udp / end actions rss
> func symmetric_toeplitz types ipv6-udp end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ipv6 pkts with fix vxlan pkts with fixed address and includ ipv6 frag
> and UDP ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(sr
> c="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:
> 8295:3333:1800:2929")/UDP(sport=30,dport=32)/("X"*480)],iface="enp175s0
> f0",count=100)
> +
>  #. to send VXLAN pkts with fix IPv6 includ frag and switch src and dst ip
> address and UDP ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(sr
> c="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:
> 8475:1111:3900:2020")/UDP(sport=32,dport=33)/("X"*480)],iface="enp175s0
> f0",count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value.
> 
>  Test case: SYMMETRIC_TOEPLITZ_VXLAN_IPV6:
>  =========================================
>  #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss func
> symmetric_toeplitz types ipv6 end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ipv6 pkts with fix vxlan pkts with fixed address and includ ipv6
> frag::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IPv6(src=
> "CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:82
> 95:3333:1800:2929")/("X"*480)],iface="enp175s0f0",count=100)
> +
>  #. to send VXLAN pkts with fix IPv6 includ frag and switch src and dst ip
> address::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IPv6(src=
> "ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:84
> 75:1111:3900:2020")/("X"*480)],iface="enp175s0f0",count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value.
> 
>  Test case: SYMMETRIC_TOEPLITZ_VXLAN_IPV6_TCP:
>  =============================================
>  #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv6 / tcp / end actions rss
> func symmetric_toeplitz types ipv6-tcp end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ipv6 pkts with fix vxlan pkts with fixed address and includ ipv6 frag
> and tcp ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(sr
> c="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:
> 8295:3333:1800:2929")/TCP(sport=30,dport=32)/("X"*480)],iface="enp175s0f
> 0",count=100)
> +
>  #. to send VXLAN pkts with fix IPv6 includ frag and switch src and dst ip
> address and tcp ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(sr
> c="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:
> 8475:1111:3900:2020")/TCP(sport=32,dport=33)/("X"*480)],iface="enp175s0f
> 0",count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value.
> 
>  Test case: SYMMETRIC_TOEPLITZ_VXLAN_IPV6_SCTP:
>  ==============================================
>  #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv6 / sctp / end actions rss
> func symmetric_toeplitz types ipv6-sctp end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ipv6 pkts with fix vxlan pkts with fixed address and includ ipv6 frag
> and sctp ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(sr
> c="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:
> 8295:3333:1800:2929")/SCTP(sport=30,dport=32)/("X"*480)],iface="enp175s
> 0f0",count=100)
> +
>  #. to send VXLAN pkts with fix IPv6 includ frag and switch src and dst ip
> address and sctp ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(sr
> c="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:
> 8475:1111:3900:2020")/SCTP(sport=32,dport=30)/("X"*480)],iface="enp175s
> 0f0",count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value.
> 
>  Test case: SYMMETRIC_TOEPLITZ_VXLAN_IPV6_ICMP:
>  ==============================================
>  #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
> +
>          testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss func
> symmetric_toeplitz types ipv6 end key_len 0 queues end / end
>          testpmd>start
> +
>  #. to send ipv6 pkts with fix vxlan pkts with fixed address and includ ipv6 frag
> and ICMP ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(sr
> c="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:
> 8295:3333:1800:2929")/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
> +
>  #. to send VXLAN pkts with fix IPv6 includ frag and switch src and dst ip
> address and icmp ports::
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(sr
> c="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:
> 8475:1111:3900:2020")/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value
> 
> -
>  Test case: SIMPLE_XOR:
>  ======================
>  #. create rule for the rss type simple_xor::
> +
>          testpmd>flow create 0 ingress pattern end actions rss func simple_xor
> key_len 0 queues end / end
>          testpmd>start
> 
> @@ -1324,18 +1552,20 @@ Test case: SIMPLE_XOR_IPV4:
> 
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="1.1.4.1",dst="2.2.2.3")/("X"*4
> 80)], iface="enp175s0f0", count=100)
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="2.2.2.3",dst="1.1.4.1")/("X"*4
> 80)], iface="enp175s0f0", count=100)
> -
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value.
> 
> -   Verbose log:
> +Verbose log::
> +
>     src=A4:BF:01:68:D2:03 - dst=68:05:CA:A3:28:94 - type=0x0800 - length=514
> - nb_segs=1 - RSS hash=0x3030602 - RSS queue=0x2 - hw ptype: L2_ETHER
> L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV4  -
> l2_len=14 - l3_len=20 - Receive queue=0x2 ol_flags: PKT_RX_RSS_HASH
> PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD
> PKT_RX_OUTER_L4_CKSUM_UNKNOWN
> -
> +
>     src=A4:BF:01:68:D2:03 - dst=68:05:CA:A3:28:94 - type=0x0800 - length=514
> - nb_segs=1 - RSS hash=0x3030602 - RSS queue=0x2 - hw ptype: L2_ETHER
> L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV4  -
> l2_len=14 - l3_len=20 - Receive queue=0x2 ol_flags: PKT_RX_RSS_HASH
> PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD
> PKT_RX_OUTER_L4_CKSUM_UNKNOWN
> 
> -   Chheck the RSS value wiht a same value and the packets enter to a queue
> +Check the RSS value wiht a same value and the packets enter to a queue
> 
> -   statistics log:
> +statistics log::
> +
>     ------- Forward Stats for RX Port= 0/Queue= 2 -> TX Port= 0/Queue= 2 -------
>     RX-packets: 200            TX-packets: 0              TX-dropped: 0
> 
> @@ -1353,27 +1583,30 @@ Test case: SIMPLE_XOR_IPV4:
>  SIMPLE_XOR_IPV6:
>  ================
>  #. to send IPV6 pkt with fixed IP and switch IP src and dst address and switch
> the upd, tcp, sctp, icpm ports::
> +
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="CDCD:910A:2222:5498:8475
> :1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/("X" *
> 80)], iface="enp175s0f0", count=100)
> 
> sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="ABAB:910B:6666:3457:8295
> :3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X" *
> 80)], iface="enp175s0f0", count=100)
> -
>          testpmd> stop
> +
>  #. verify 100 pkts has sent, and check the rss hash with a fixed value.
> 
> -   Verbose log:
> +Verbose log::
> +
>     src=00:00:00:00:00:00 - dst=68:05:CA:A3:28:94 - type=0x86dd - length=134
> - nb_segs=1 - RSS hash=0x5c24be5 - RSS queue=0x25 - hw ptype: L2_ETHER
> L3_IPV6_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV6  -
> l2_len=14 - l3_len=40 - Receive queue=0x25 ol_flags: PKT_RX_RSS_HASH
> PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD
> PKT_RX_OUTER_L4_CKSUM_UNKNOWN
> -
> +
>     src=00:00:00:00:00:00 - dst=68:05:CA:A3:28:94 - type=0x86dd - length=134
> - nb_segs=1 - RSS hash=0x5c24be5 - RSS queue=0x25 - hw ptype: L2_ETHER
> L3_IPV6_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV6  -
> l2_len=14 - l3_len=40 - Receive queue=0x25 ol_flags: PKT_RX_RSS_HASH
> PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD
> PKT_RX_OUTER_L4_CKSUM_UNKNOWN
> 
> -    statistics log:
> -    ------- Forward Stats for RX Port= 0/Queue=37 -> TX Port= 0/Queue=37 -----
> --
> -    RX-packets: 200            TX-packets: 0              TX-dropped: 0
> -
> -    ---------------------- Forward statistics for port 0  ----------------------
> -    RX-packets: 200            RX-dropped: 0             RX-total: 200
> -    TX-packets: 0              TX-dropped: 0             TX-total: 0
> -    ----------------------------------------------------------------------------
> -
> -    +++++++++++++++ Accumulated forward statistics for all
> ports+++++++++++++++
> -    RX-packets: 200            RX-dropped: 0             RX-total: 200
> -    TX-packets: 0              TX-dropped: 0             TX-total: 0
> -
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> ++++++++++++
> +statistics log::
> +
> +   ------- Forward Stats for RX Port= 0/Queue=37 -> TX Port= 0/Queue=37 -----
> --
> +   RX-packets: 200            TX-packets: 0              TX-dropped: 0
> +
> +   ---------------------- Forward statistics for port 0  ----------------------
> +   RX-packets: 200            RX-dropped: 0             RX-total: 200
> +   TX-packets: 0              TX-dropped: 0             TX-total: 0
> +   ----------------------------------------------------------------------------
> +
> +   +++++++++++++++ Accumulated forward statistics for all
> ports+++++++++++++++
> +   RX-packets: 200            RX-dropped: 0             RX-total: 200
> +   TX-packets: 0              TX-dropped: 0             TX-total: 0
> +
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> ++++++++++++
> diff --git a/test_plans/cvl_fdir_test_plan.rst
> b/test_plans/cvl_fdir_test_plan.rst
> index 0d93735..2f65313 100644
> --- a/test_plans/cvl_fdir_test_plan.rst
> +++ b/test_plans/cvl_fdir_test_plan.rst
> @@ -34,9 +34,9 @@
>  CVL:Classification:Flow Director
>  ================================
> 
> -Enable fdir filter for IPv4/IPv6 + TCP/UDP/SCTP  (OS default package)
> -Enable fdir filter for UDP tunnel: Vxlan / NVGRE (OS default package)
> -Enable fdir filter for GTP (comm #1 package)
> +* Enable fdir filter for IPv4/IPv6 + TCP/UDP/SCTP  (OS default package)
> +* Enable fdir filter for UDP tunnel: Vxlan / NVGRE (OS default package)
> +* Enable fdir filter for GTP (comm #1 package)
> 
>  Pattern and input set
>  ---------------------
> @@ -86,31 +86,34 @@ Pattern and input set
>      |                              | MAC_IPV4_GTPU_IPV4_SCTP    | [TEID], [QFI]
> |
>      +------------------------------+----------------------------+----------------------------------
> ---------------------------------------------+
> 
> -Notes: 1. Enable fdir filter for UDP tunnel: Vxlan / NVGRE (OS default
> package) , share code not
> -          support outer header as inputset, so Out Dest IP and VNI/GRE_KEY
> may not able to be implemented.
> +.. notes::
> 
> -       2. For VXLAN case MAC_IPV4_TUN_*** means
> MAC_IPV4_UDP_VXLAN_***
> -       3. For Dest MAC, there is package /sharecode limitation on multicast dst
> mac support for FDIR
> +    1. Enable fdir filter for UDP tunnel: Vxlan / NVGRE (OS default package) ,
> share code not
> +       support outer header as inputset, so Out Dest IP and VNI/GRE_KEY may
> not able to be implemented.
> +    2. For VXLAN case MAC_IPV4_TUN_*** means
> MAC_IPV4_UDP_VXLAN_***
> +    3. For Dest MAC, there is package /sharecode limitation on multicast dst
> mac support for FDIR
> 
>  Action type
>  -----------
> 
> -    queue index
> -    drop
> -    rss queues
> -    count identifier 0x1234 shared on|off
> -    mark id
> +    * queue index
> +    * drop
> +    * rss queues
> +    * count identifier 0x1234 shared on|off
> +    * mark id
> 
> 
>  Prerequisites
>  =============
> 
>  1. Hardware:
> -   columbiaville_25g/columbiaville_100g
> +
> +   - columbiaville_25g/columbiaville_100g
> 
>  2. Software:
> -   DPDK: http://dpdk.org/git/dpdk
> -   scapy: http://www.secdev.org/projects/scapy/
> +
> +   - DPDK: http://dpdk.org/git/dpdk
> +   - scapy: http://www.secdev.org/projects/scapy/
> 
>  3. Copy specific ice package to /lib/firmware/intel/ice/ddp/ice.pkg
>     Then reboot server, and compile DPDK
> @@ -130,7 +133,9 @@ Prerequisites
>      testpmd> port config 0 udp_tunnel_port add vxlan 4789
>      testpmd> start
> 
> -   Notes: if need two ports environment, launch ``testpmd`` with the
> following arguments::
> +.. notes::
> +
> +   if need two ports environment, launch ``testpmd`` with the following
> arguments::
> 
>      ./testpmd -c 0xff -n 6 -w 86:00.0 -w 86:00.1 -- -i --portmask=0xff --rxq=64 -
> -txq=64 --port-topology=loop
> 
> diff --git a/test_plans/cvl_switch_filter_test_plan.rst
> b/test_plans/cvl_switch_filter_test_plan.rst
> index 630fcc3..833125a 100644
> --- a/test_plans/cvl_switch_filter_test_plan.rst
> +++ b/test_plans/cvl_switch_filter_test_plan.rst
> @@ -141,11 +141,13 @@ Prerequisites
>  =============
> 
>  1. Hardware:
> -   columbiaville_25g/columbiaville_100g
> +
> +   - columbiaville_25g/columbiaville_100g
> 
>  2. software:
> -   dpdk: http://dpdk.org/git/dpdk
> -   scapy: http://www.secdev.org/projects/scapy/
> +
> +   - dpdk: http://dpdk.org/git/dpdk
> +   - scapy: http://www.secdev.org/projects/scapy/
> 
>  3. Copy comm #1 package to /lib/firmware/intel/ice/ddp/ice.pkg,
>     then reboot server, and compile DPDK.
> @@ -181,9 +183,11 @@ Test case: VXLAN non-pipeline mode
> 
>  2. create switch filter rules and verify
> 
> -* MAC_IPV4_VXLAN_IPV4_FRAG
> +MAC_IPV4_VXLAN_IPV4_FRAG
> +------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -205,7 +209,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 3
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -227,7 +232,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -249,9 +255,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_VXLAN_IPV4_PAY
> +MAC_IPV4_VXLAN_IPV4_PAY
> +-----------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -273,7 +281,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 3
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -295,7 +304,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -317,9 +327,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_VXLAN_IPV4_UDP_PAY
> +MAC_IPV4_VXLAN_IPV4_UDP_PAY
> +---------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -338,7 +350,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -357,7 +370,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -376,9 +390,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_VXLAN_IPV4_TCP
> +MAC_IPV4_VXLAN_IPV4_TCP
> +-----------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -397,7 +413,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 5
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -416,7 +433,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -435,9 +453,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_VXLAN_IPV4_SCTP (not support in 19.11)
> +MAC_IPV4_VXLAN_IPV4_SCTP (not support in 19.11)
> +----------------------------------------------
> 
> -1) to queue action
> +to queue action
> +---------------
> 
>  create a rule::
> 
> @@ -456,7 +476,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -475,7 +496,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -494,9 +516,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_VXLAN_IPV4_ICMP (not support in 19.11)
> +MAC_IPV4_VXLAN_IPV4_ICMP (not support in 19.11)
> +----------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -514,7 +538,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -532,7 +557,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -550,9 +576,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_VXLAN_MAC_IPV4_FRAG
> +MAC_IPV4_VXLAN_MAC_IPV4_FRAG
> +----------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -575,7 +603,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -598,7 +627,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -621,9 +651,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_VXLAN_MAC_IPV4_PAY
> +MAC_IPV4_VXLAN_MAC_IPV4_PAY
> +---------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -646,7 +678,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 3
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -669,7 +702,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -692,9 +726,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_VXLAN_MAC_IPV4_UDP_PAY
> +MAC_IPV4_VXLAN_MAC_IPV4_UDP_PAY
> +--------------------------------
> 
> -1) to queue action
> +to queue action
> +---------------
> 
>  create a rule::
> 
> @@ -713,7 +749,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 1
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -732,7 +769,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -751,9 +789,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_VXLAN_MAC_IPV4_TCP
> +MAC_IPV4_VXLAN_MAC_IPV4_TCP
> +---------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -772,7 +812,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 1
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -791,7 +832,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 1 and 2
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -810,9 +852,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_VXLAN_MAC_IPV4_SCTP (not support in 19.11)
> +MAC_IPV4_VXLAN_MAC_IPV4_SCTP (not support in 19.11)
> +---------------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -831,7 +875,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -850,7 +895,9 @@ send mismatched packets::
> 
>  verify these packets not to queue 4 and 5
> 
> -3) drop action
> +
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -869,9 +916,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_VXLAN_MAC_IPV4_ICMP (not support in 19.11)
> +MAC_IPV4_VXLAN_MAC_IPV4_ICMP (not support in 19.11)
> +---------------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -889,7 +938,8 @@ send a mismatched packet::
> 
>  verify this packet not to queue 3
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -907,7 +957,9 @@ send a mismatched packet::
> 
>  verify this packet not to queue 4 and 5
> 
> -3) drop action
> +
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -943,9 +995,11 @@ Test case: VXLAN pipeline mode
> 
>  1. create switch filter rules and verify
> 
> -* MAC_IPV4_VXLAN_IPV4_FRAG
> +MAC_IPV4_VXLAN_IPV4_FRAG
> +------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -966,7 +1020,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -987,7 +1042,9 @@ send mismatched packets::
> 
>  verify these packets not to queue 2 and 3
> 
> -3) drop action
> +
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1008,9 +1065,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_VXLAN_IPV4_PAY (not support in 19.11)
> +MAC_IPV4_VXLAN_IPV4_PAY (not support in 19.11)
> +----------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule for tcp::
> 
> @@ -1044,7 +1103,8 @@ send a mismatched packet::
> 
>  verify this packet not to queue 2
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule for tcp::
> 
> @@ -1078,7 +1138,8 @@ send a mismatched packet::
> 
>  verify this packet not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule for tcp::
> 
> @@ -1112,9 +1173,11 @@ send a mismatched packet::
> 
>  verify this packet not dropped
> 
> -* MAC_IPV4_VXLAN_IPV4_UDP_PAY
> +MAC_IPV4_VXLAN_IPV4_UDP_PAY
> +---------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1133,7 +1196,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1152,7 +1216,9 @@ send mismatched packets::
> 
>  verify these packets not to queue 4 and 5
> 
> -3) drop action
> +
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1171,9 +1237,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_VXLAN_IPV4_TCP
> +MAC_IPV4_VXLAN_IPV4_TCP
> +-----------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1192,7 +1260,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 3
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1211,7 +1280,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1230,9 +1300,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_VXLAN_IPV4_SCTP (not support in 19.11)
> +MAC_IPV4_VXLAN_IPV4_SCTP (not support in 19.11)
> +----------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1251,7 +1323,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1270,7 +1343,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1289,9 +1363,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_VXLAN_IPV4_ICMP (not support in 19.11)
> +MAC_IPV4_VXLAN_IPV4_ICMP (not support in 19.11)
> +----------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1309,7 +1385,8 @@ send a mismatched packet::
> 
>  verify this packet not to queue 2
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1327,7 +1404,8 @@ send a mismatched packet::
> 
>  verify this packet not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1345,9 +1423,11 @@ send a mismatched packet::
> 
>  verify this packet not dropped
> 
> -* MAC_IPV4_VXLAN_IPV6_FRAG (not support in 19.11)
> +MAC_IPV4_VXLAN_IPV6_FRAG (not support in 19.11)
> +-----------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1366,7 +1446,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1385,7 +1466,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1404,9 +1486,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_VXLAN_IPV6_PAY (not support in 19.11)
> +MAC_IPV4_VXLAN_IPV6_PAY (not support in 19.11)
> +----------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule for tcp::
> 
> @@ -1440,7 +1524,8 @@ send a mismatched packet::
> 
>  verify this packet not to queue 3
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule for tcp::
> 
> @@ -1474,7 +1559,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule for tcp::
> 
> @@ -1508,9 +1594,11 @@ send mismatched packets::
> 
>  verify this packet not dropped
> 
> -* MAC_IPV4_VXLAN_IPV6_UDP_PAY (not support in 19.11)
> +MAC_IPV4_VXLAN_IPV6_UDP_PAY (not support in 19.11)
> +--------------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1529,7 +1617,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1548,7 +1637,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 1 and 2
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1567,9 +1657,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_VXLAN_IPV6_TCP (not support in 19.11)
> +MAC_IPV4_VXLAN_IPV6_TCP (not support in 19.11)
> +----------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1588,7 +1680,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1607,7 +1700,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1626,9 +1720,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_VXLAN_IPV6_SCTP (not support in 19.11)
> +MAC_IPV4_VXLAN_IPV6_SCTP (not support in 19.11)
> +-----------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1647,7 +1743,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 3
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1666,7 +1763,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1685,9 +1783,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_VXLAN_IPV6_ICMPV6 (not support in 19.11)
> +MAC_IPV4_VXLAN_IPV6_ICMPV6 (not support in 19.11)
> +-------------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1705,7 +1805,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 2
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1723,7 +1824,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1764,9 +1866,10 @@ Test case: NVGRE non-pipeline mode
> 
>  2. create switch filter rules and verify
> 
> -* MAC_IPV4_NVGRE_IPV4_FRAG
> +MAC_IPV4_NVGRE_IPV4_FRAG
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1788,7 +1891,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 3
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1810,7 +1914,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1832,9 +1937,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_NVGRE_IPV4_PAY
> +MAC_IPV4_NVGRE_IPV4_PAY
> +-----------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1856,7 +1963,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 3
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1878,7 +1986,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1900,9 +2009,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_NVGRE_IPV4_UDP_PAY
> +MAC_IPV4_NVGRE_IPV4_UDP_PAY
> +---------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1921,7 +2032,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1940,7 +2052,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1959,9 +2072,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_NVGRE_IPV4_TCP
> +MAC_IPV4_NVGRE_IPV4_TCP
> +-----------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1980,7 +2095,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 1
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -1999,7 +2115,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 1 and 2
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2018,9 +2135,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_NVGRE_IPV4_SCTP (not support in 19.11)
> +MAC_IPV4_NVGRE_IPV4_SCTP (not support in 19.11)
> +-----------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2039,7 +2158,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 3
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2058,7 +2178,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2077,9 +2198,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_NVGRE_IPV4_ICMP (not support in 19.11)
> +MAC_IPV4_NVGRE_IPV4_ICMP (not support in 19.11)
> +-----------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2097,7 +2220,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 3
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2115,7 +2239,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2133,9 +2258,11 @@ send mismatched packets::
> 
>  verify this packet not dropped
> 
> -* MAC_IPV4_NVGRE_MAC_IPV4_FRAG
> +MAC_IPV4_NVGRE_MAC_IPV4_FRAG
> +----------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2158,7 +2285,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 3
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2181,7 +2309,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2204,9 +2333,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_NVGRE_MAC_IPV4_PAY
> +MAC_IPV4_NVGRE_MAC_IPV4_PAY
> +---------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2229,7 +2360,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 3
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2252,7 +2384,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2275,9 +2408,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_NVGRE_MAC_IPV4_UDP_PAY
> +MAC_IPV4_NVGRE_MAC_IPV4_UDP_PAY
> +-------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2296,7 +2431,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2315,7 +2451,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2334,9 +2471,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_NVGRE_MAC_IPV4_TCP
> +MAC_IPV4_NVGRE_MAC_IPV4_TCP
> +---------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2355,7 +2494,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 3
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2374,7 +2514,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2393,9 +2534,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_NVGRE_MAC_IPV4_SCTP (not support in 19.11)
> +MAC_IPV4_NVGRE_MAC_IPV4_SCTP (not support in 19.11)
> +---------------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2414,7 +2557,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 3
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2433,7 +2577,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2452,9 +2597,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_NVGRE_MAC_IPV4_ICMP (not support in 19.11)
> +MAC_IPV4_NVGRE_MAC_IPV4_ICMP (not support in 19.11)
> +---------------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2472,7 +2619,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 3
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2490,7 +2638,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2526,9 +2675,11 @@ Test case: NVGRE pipeline mode
> 
>  1. create switch filter rules and verify
> 
> -* MAC_IPV4_NVGRE_IPV4_FRAG
> +MAC_IPV4_NVGRE_IPV4_FRAG
> +------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2549,7 +2700,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 3
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2570,7 +2722,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2591,9 +2744,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_NVGRE_IPV4_PAY (not support in 19.11)
> +MAC_IPV4_NVGRE_IPV4_PAY (not support in 19.11)
> +----------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule for tcp::
> 
> @@ -2627,7 +2782,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 2
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule for tcp::
> 
> @@ -2661,7 +2817,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule for tcp::
> 
> @@ -2695,9 +2852,11 @@ send mismatched packets::
> 
>  verify this packet not dropped
> 
> -* MAC_IPV4_NVGRE_IPV4_UDP_PAY
> +MAC_IPV4_NVGRE_IPV4_UDP_PAY
> +---------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2716,7 +2875,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2735,7 +2895,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2754,9 +2915,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_NVGRE_IPV4_TCP
> +MAC_IPV4_NVGRE_IPV4_TCP
> +-----------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2775,7 +2938,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2794,7 +2958,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2813,9 +2978,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_NVGRE_IPV4_SCTP (not support in 19.11)
> +MAC_IPV4_NVGRE_IPV4_SCTP (not support in 19.11)
> +-----------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2834,7 +3001,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2853,7 +3021,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2872,9 +3041,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_NVGRE_IPV4_ICMP (not support in 19.11)
> +MAC_IPV4_NVGRE_IPV4_ICMP (not support in 19.11)
> +-----------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2892,7 +3063,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 2
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2910,7 +3082,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2928,9 +3101,11 @@ send mismatched packets::
> 
>  verify this packet not dropped
> 
> -* MAC_IPV4_NVGRE_IPV6_FRAG (not support in 19.11)
> +MAC_IPV4_NVGRE_IPV6_FRAG (not support in 19.11)
> +-----------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2949,7 +3124,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2968,7 +3144,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -2987,9 +3164,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_NVGRE_IPV6_PAY (not support in 19.11)
> +MAC_IPV4_NVGRE_IPV6_PAY (not support in 19.11)
> +----------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule for tcp::
> 
> @@ -3023,7 +3202,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 3
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule for tcp::
> 
> @@ -3057,7 +3237,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule for tcp::
> 
> @@ -3091,9 +3272,11 @@ send mismatched packets::
> 
>  verify this packet not dropped
> 
> -* MAC_IPV4_NVGRE_IPV6_UDP_PAY (not support in 19.11)
> +MAC_IPV4_NVGRE_IPV6_UDP_PAY (not support in 19.11)
> +--------------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3112,7 +3295,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3131,7 +3315,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3150,9 +3335,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_NVGRE_IPV6_TCP (not support in 19.11)
> +MAC_IPV4_NVGRE_IPV6_TCP (not support in 19.11)
> +----------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3171,7 +3358,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 1
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3190,7 +3378,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3209,9 +3398,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_NVGRE_IPV6_SCTP (not support in 19.11)
> +MAC_IPV4_NVGRE_IPV6_SCTP (not support in 19.11)
> +-----------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3230,7 +3421,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 5
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3249,7 +3441,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3268,9 +3461,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_NVGRE_IPV6_ICMPV6 (not support in 19.11)
> +MAC_IPV4_NVGRE_IPV6_ICMPV6 (not support in 19.11)
> +-------------------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3288,7 +3483,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 2
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3306,7 +3502,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3347,9 +3544,11 @@ Test case: PPPOD non-pipeline mode
> 
>  2. create switch filter rules and verify
> 
> -* MAC_PPPOD_PAY
> +MAC_PPPOD_PAY
> +-------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create rules::
> 
> @@ -3367,7 +3566,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 2
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3385,7 +3585,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3426,9 +3627,11 @@ Test case: PPPOE non-pipeline mode
> 
>  2. create switch filter rules and verify
> 
> -* MAC_PPPOE_PAY
> +MAC_PPPOE_PAY
> +-------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create rules::
> 
> @@ -3446,7 +3649,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 2
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3464,7 +3668,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3482,9 +3687,11 @@ send mismatched packets::
> 
>  verify this packet not dropped
> 
> -* MAC_PPPOE_IPV4_PAY
> +MAC_PPPOE_IPV4_PAY
> +------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3503,7 +3710,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 1
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3522,7 +3730,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3559,9 +3768,11 @@ Test case: IPv4/IPv6 + TCP/UDP pipeline mode
> 
>  1. create switch filter rules and verify
> 
> -* MAC_IPV4_FRAG
> +MAC_IPV4_FRAG
> +-------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3600,7 +3811,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 3
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3639,7 +3851,8 @@ send mismatched packets::
> 
>    verify these packets not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3678,9 +3891,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_PAY
> +MAC_IPV4_PAY
> +------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule for tcp::
> 
> @@ -3714,7 +3929,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 2
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule for tcp::
> 
> @@ -3748,7 +3964,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule for tcp::
> 
> @@ -3782,9 +3999,11 @@ send mismatched packets::
> 
>  verify this packet not dropped
> 
> -* MAC_IPV4_UDP_PAY
> +MAC_IPV4_UDP_PAY
> +----------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3803,7 +4022,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3822,7 +4042,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3841,9 +4062,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_TCP
> +MAC_IPV4_TCP
> +------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3862,7 +4085,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 3
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3881,7 +4105,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3900,9 +4125,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_SCTP (not support in 19.11)
> +MAC_IPV4_SCTP (not support in 19.11)
> +------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3921,7 +4148,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3940,7 +4168,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3959,9 +4188,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV4_ICMP (not support in 19.11)
> +MAC_IPV4_ICMP (not support in 19.11)
> +------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3979,7 +4210,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 2
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -3997,7 +4229,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -4015,9 +4248,10 @@ send mismatched packets::
> 
>  verify this packet not dropped
> 
> -* MAC_IPV6_FRAG
> +MAC_IPV6_FRAG
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule with src ipv6 + dst ipv6::
> 
> @@ -4053,7 +4287,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 3
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule with src ipv6 + dst ipv6::
> 
> @@ -4089,7 +4324,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule with src ipv6 + dst ipv6::
> 
> @@ -4125,9 +4361,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV6_PAY (not support in 19.11)
> +MAC_IPV6_PAY (not support in 19.11)
> +-----------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule for tcp::
> 
> @@ -4161,7 +4399,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 3
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule for tcp::
> 
> @@ -4195,7 +4434,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule for tcp::
> 
> @@ -4229,9 +4469,11 @@ send mismatched packets::
> 
>  verify this packet not dropped
> 
> -* MAC_IPV6_UDP_PAY
> +MAC_IPV6_UDP_PAY
> +----------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -4250,7 +4492,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 5
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -4269,7 +4512,8 @@ send mismatched packets::
> 
>  verify these packets not to queue 2 and 3
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -4288,9 +4532,11 @@ send mismatched packets::
> 
>  verify these packets not dropped
> 
> -* MAC_IPV6_TCP
> +MAC_IPV6_TCP
> +------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -4309,7 +4555,8 @@ send mismatched packets::
> 
>  verify these two packets not to queue 4
> 
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -4328,7 +4575,8 @@ send mismatched packets::
> 
>  verify these two packets not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -4347,9 +4595,11 @@ send mismatched packets::
> 
>  verify these two packets not dropped
> 
> -* MAC_IPV6_SCTP (not support in 19.11)
> +MAC_IPV6_SCTP (not support in 19.11)
> +------------------------------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -4368,65 +4618,8 @@ send mismatched packets::
> 
>  verify these two packets not to queue 4
> 
> -2) to queue group action
> -
> -create a rule::
> -
> -  testpmd> flow create 0 priority 0 ingress pattern eth / ipv6 dst is
> CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / sctp src is 25 dst is 23 /
> end actions rss queues 2 3 end / end
> -
> -send matched packets::
> -
> -
> sendp([Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1515",dst="
> CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/SCTP(sport=25,dport=23)
> /Raw('x'*80)],iface="enp27s0f2",count=1)
> -
> -verify this packet to queue 2 or 3
> -
> -send mismatched packets::
> -
> -
> sendp([Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1515",dst="
> CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/SCTP(sport=1,dport=23)/
> Raw('x'*80)],iface="enp27s0f2",count=1)
> -
> sendp([Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1515",dst="
> CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/SCTP(sport=25,dport=9)/
> Raw('x'*80)],iface="enp27s0f2",count=1)
> -
> -verify these two packets not to queue 2 and 3
> -
> -3) drop action
> -
> -create a rule::
> -
> -  testpmd> flow create 0 priority 0 ingress pattern eth / ipv6 dst is
> CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / sctp src is 25 dst is 23 /
> end actions drop / end
> -
> -send matched packets::
> -
> -
> sendp([Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1515",dst="
> CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/SCTP(sport=25,dport=23)
> /Raw('x'*80)],iface="enp27s0f2",count=1)
> -
> -verify this packet dropped
> -
> -send mismatched packets::
> -
> -
> sendp([Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1515",dst="
> CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/SCTP(sport=1,dport=23)/
> Raw('x'*80)],iface="enp27s0f2",count=1)
> -
> sendp([Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1515",dst="
> CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/SCTP(sport=25,dport=9)/
> Raw('x'*80)],iface="enp27s0f2",count=1)
> -
> -verify these two packets not dropped
> -
> -* MAC_IPV6_ICMPV6 (not support in 19.11)
> -
> -1) to queue action
> -
> -create a rule::
> -
> -  testpmd> flow create 0 priority 0 ingress pattern eth / ipv6 dst is
> CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / icmp type is 0x01 / end
> actions queue index 2 / end
> -
> -send matched packets::
> -
> -
> sendp([Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1515",dst="
> CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/ICMP(type=0x01)/Raw('x'
> *80)],iface="enp27s0f2",count=1)
> -
> -verify this packet to queue 2
> -
> -send mismatched packets::
> -
> -
> sendp([Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1515",dst="
> CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/ICMP(type=0x03)/Raw('x'
> *80)],iface="enp27s0f2",count=1)
> -
> -verify this packet not to queue 2
> -
> -2) to queue group action
> +to queue group action
> +^^^^^^^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -4444,7 +4637,8 @@ send mismatched packets::
> 
>  verify this packet not to queue 4 and 5
> 
> -3) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -4484,9 +4678,11 @@ Test case: IPv4/IPv6 + TCP/UDP non-pipeline
> mode
> 
>  2. create switch filter rules and verify
> 
> -* MAC_IPV4_PAY
> +MAC_IPV4_PAY
> +------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -4498,7 +4694,8 @@ send matched packets::
> 
>  verify these 100 packets to queue 4
> 
> -2) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -4510,9 +4707,11 @@ send matched packets::
> 
>  verify theses 100 packets dropped
> 
> -* MAC_IPV4_UDP_PAY
> +MAC_IPV4_UDP_PAY
> +----------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -4524,7 +4723,8 @@ send matched packets::
> 
>  verify these 100 packets to queue 2
> 
> -2) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -4536,9 +4736,11 @@ send matched packets::
> 
>  verify theses 100 packets dropped
> 
> -* MAC_IPV4_TCP_PAY
> +MAC_IPV4_TCP_PAY
> +----------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -4550,7 +4752,8 @@ send matched packets::
> 
>  verify these 100 packets to queue 3
> 
> -2) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -4563,9 +4766,11 @@ send matched packets::
>  verify theses 100 packets dropped
> 
> 
> -* MAC_IPV6_PAY
> +MAC_IPV6_PAY
> +------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -4577,7 +4782,8 @@ send matched packets::
> 
>  verify these 100 packets to queue 8
> 
> -2) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -4589,9 +4795,11 @@ send matched packets::
> 
>  verify theses 100 packets dropped
> 
> -* MAC_IPV6_FRAG
> +MAC_IPV6_FRAG
> +-------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -4603,7 +4811,8 @@ send matched packets::
> 
>  verify these 100 packets to queue 10
> 
> -2) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -4615,9 +4824,11 @@ send matched packets::
> 
>  verify theses 100 packets dropped
> 
> -* MAC_IPV6_UDP
> +MAC_IPV6_UDP
> +------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -4629,7 +4840,8 @@ send matched packets::
> 
>  verify these 100 packets to queue 6
> 
> -2) drop action
> +drop action
> +^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -4641,9 +4853,11 @@ send matched packets::
> 
>  verify theses 100 packets dropped
> 
> -* MAC_IPV6_TCP
> +MAC_IPV6_TCP
> +------------
> 
> -1) to queue action
> +to queue action
> +^^^^^^^^^^^^^^^
> 
>  create a rule::
> 
> @@ -4655,7 +4869,6 @@ send matched packets::
> 
>  verify these 100 packets to queue 12
> 
> -2) drop action
> 
>  create a rule::
> 
> --
> 1.8.3.1


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

* [dts] [PATCH] test_plans: fix format to beauty html pages
@ 2020-01-13 11:06 Lijuan Tu
  2020-01-13  3:14 ` Tu, Lijuan
  0 siblings, 1 reply; 2+ messages in thread
From: Lijuan Tu @ 2020-01-13 11:06 UTC (permalink / raw)
  To: dts; +Cc: Lijuan Tu

[-- Warning: decoded text below may be mangled --]
[-- Attachment #0: Type: text/plain; charset=n, Size: 167391 bytes --]

Signed-off-by: Lijuan Tu <lijuan.tu@intel.com>
---
 test_plans/cvl_advanced_rss_test_plan.rst  | 799 ++++++++++++++++----------
 test_plans/cvl_fdir_test_plan.rst          |  37 +-
 test_plans/cvl_switch_filter_test_plan.rst | 873 ++++++++++++++++++-----------
 3 files changed, 1080 insertions(+), 629 deletions(-)

diff --git a/test_plans/cvl_advanced_rss_test_plan.rst b/test_plans/cvl_advanced_rss_test_plan.rst
index 8a9af1b..000ac38 100644
--- a/test_plans/cvl_advanced_rss_test_plan.rst
+++ b/test_plans/cvl_advanced_rss_test_plan.rst
@@ -46,154 +46,155 @@ to hash IP and ports domain, diversion the packets to the difference queues.
   
 Pattern and input set
 ---------------------
-Table 1: 
-
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    | Default hash function: Non Symmetric_toeplitz                                                                                                        |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |    Packet Type                |        Pattern                     |            Input Set                                                            |
-    +===============================+====================================+=================================================================================+
-    | IPv4/IPv6 + TCP/UDP/SCTP/ICMP |    MAC_IPV4_SRC_ONLY               |[Dest MAC],[Source IP]                                                          |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_DST_ONLY_FRAG          |[Dest MAC],[Dest IP]                                                            |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_PAY                    |[Dest MAC],[Source IP], [Dest IP]                                               |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_SRC_ICMP               |[Dest MAC],[Source IP]                                                          |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_DST_ICMP               |[Dest MAC],[Source IP]                                                          |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_UDP_L3SRC_L4DST        |[Dest MAC],[Source IP],[Dest Port]                                              |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_UDP                    |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]    |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_TCP_L3SRC_L4DST        |[Dest MAC],[Source IP],[Dest Port]                                              |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_TCP_L3DST_L4SRC        |[Dest MAC],[Dest IP],[Source Port]                                              |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_TCP                    |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]    |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_SCTP_L3SRC_L4DST       |[Dest MAC],[Source IP],[Dest Port]                                              |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_SCTP                   |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]    |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_NVGRE_ICMP             |[Inner Source IP], [Inner Dest IP]                                               |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_NVGRE_L3SRC_ICMP       |[Inner MAC][Inner Source IP]                                                     |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_NVGRE_L3DST_ICMP       |[Inner MAC][Inner Dest IP]                                                       |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_NVGRE_TCP              |[Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port]        |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_NVGRE_SCTP             |[Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port]        |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_VXLAN_ICMP             |[Inner Source IP], [Inner Dest IP]                                               |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_VXLAN_L3SRC_ICMP       |[Inner MAC][Inner Source IP]                                                     |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_VXLAN_L3DST_ICMP       |[Inner MAC][Inner Dest IP]                                                       |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_VXLAN_TCP              |[Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port]        |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_VXLAN_SCTP             |[Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port]        |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_VXLAN_UDP              |[Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port]        |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV6_SRC_ONLY               |[Dest MAC],[Source IP]                                                          |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV6_DST_ONLY_FRAG          |[Dest MAC],[Dest IP]                                                            |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV6_PAY                    |[Dest MAC],[Source IP], [Dest IP],                                              |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV6_UDP                    |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]    |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV6_TCP                    |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]    |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV6_SCTP                   |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]    |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_PPPOE_PPPOD            |[Dest MAC],[Session ID],[Proto] ,[Source IP] ,[Dest IP]                         |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_PPPOE_TCP              |[Dest MAC],[Session ID],[Proto],[Source IP],[Dest IP],[Source Port],[Dest Port] |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_PPPOE_UDP              |[Dest MAC],[Session ID],[Proto],[Source IP],[Dest IP],[Source Port],[Dest Port] |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_PPPOE_TCP              |[Dest MAC],[Session ID],[Proto],[Source IP],[Dest IP],[Source Port],[Dest Port] |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_PPPOE_ICMP             |[Dest MAC],[Session ID],[Proto],[Source IP],[Dest IP]                           |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_GTP                    | [TEID]                                                                          |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_GTPU_IPV4_TCP          | [TEID]                                                                          |
-    +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
-
-Table 2:
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
-    | Hash function: Symmetric_toeplitz                                                                                                                  |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
-    |    Packet Type                |        Pattern                     |            Input Set                                                          |
-    +===============================+====================================+===============================================================================+
-    |  IPV4/IPV6                    |    MAC_IPV4_SRC_ONLY               |[Dest MAC],[Source IP]                                                        |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_DST_ONLY_FRAG          |[Dest MAC],[Dest IP]                                                          |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_PAY                    |[Dest MAC],[Source IP], [Dest IP]                                             |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+ 
-    |                               |    MAC_IPV4_SRC_ICMP               |[Dest MAC],[Source IP]                                                        |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
-    |                               |    MAC_IPV4_DST_ICMP               |[Dest MAC],[Source IP]                                                        |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV4_UDP_L3SRC_L4DST        |[Dest MAC],[Source IP],[Dest Port]                                            |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV4_UDP                    |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]  |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV4_TCP_L3SRC_L4DST        |[Dest MAC],[Source IP],[Dest Port]                                            |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV4_TCP_L3DST_L4SRC        |[Dest MAC],[Dest IP],[Source Port]                                            |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV4_TCP                    |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]  |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV4_SCTP_L3SRC_L4DST       |[Dest MAC],[Source IP],[Dest Port]                                            |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV4_SCTP                   |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]  |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV4_NVGRE_ICMP             |[Inner Source IP], [Inner Dest IP]                                             |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV4_NVGRE_L3SRC_ICMP       |[Inner MAC][Inner Source IP]                                                   |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV4_NVGRE_L3DST_ICMP       |[Inner MAC][Inner Dest IP]                                                     |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV4_NVGRE_TCP              |[Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port]      |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV4_NVGRE_SCTP             |[Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port]      |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV4_VXLAN_ICMP             |[Inner Source IP], [Inner Dest IP]                                             |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV4_VXLAN_L3SRC_ICMP       |[Inner MAC][Inner Source IP]                                                   |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV4_VXLAN_L3DST_ICMP       |[Inner MAC][Inner Dest IP]                                                     |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV4_VXLAN_TCP              |[Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port]      |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV4_VXLAN_SCTP             |[Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port]      |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV4_VXLAN_UDP              |[Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port]      |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV6_SRC_ONLY               |[Dest MAC],[Source IP]                                                        |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV6_DST_ONLY_FRAG          |[Dest MAC],[Dest IP]                                                          |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV6_PAY                    |[Dest MAC],[Source IP], [Dest IP],                                            |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV6_UDP                    |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]  |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV6_TCP                    |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]  |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV6_SCTP                   |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]  |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV4_SIMPLE_XOR             |[Dest MAC],[Source IP], [Dest IP]                                             |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
-    |                               |    MAC_IPV6_SIMPLE_XOR             |[Dest MAC],[Source IP], [Dest IP]                                             |
-    +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+	
+.. table::
+
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    | Default hash function: Non Symmetric_toeplitz                                                                                                |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    | Packet Type                   | Pattern                   | Input Set                                                                        |
+    +===============================+===========================+==================================================================================+
+    | IPv4/IPv6 + TCP/UDP/SCTP/ICMP | MAC_IPV4_SRC_ONLY         | [Dest MAC],[Source IP]                                                          |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_DST_ONLY_FRAG    | [Dest MAC],[Dest IP]                                                            |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_PAY              | [Dest MAC],[Source IP], [Dest IP]                                               |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_SRC_ICMP         | [Dest MAC],[Source IP]                                                          |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_DST_ICMP         | [Dest MAC],[Source IP]                                                          |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_UDP_L3SRC_L4DST  | [Dest MAC],[Source IP],[Dest Port]                                              |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_UDP              | [Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]    |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_TCP_L3SRC_L4DST  | [Dest MAC],[Source IP],[Dest Port]                                              |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_TCP_L3DST_L4SRC  | [Dest MAC],[Dest IP],[Source Port]                                              |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_TCP              | [Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]    |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_SCTP_L3SRC_L4DST | [Dest MAC],[Source IP],[Dest Port]                                              |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_SCTP             | [Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]    |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_NVGRE_ICMP       | [Inner Source IP], [Inner Dest IP]                                               |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_NVGRE_L3SRC_ICMP | [Inner MAC][Inner Source IP]                                                     |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_NVGRE_L3DST_ICMP | [Inner MAC][Inner Dest IP]                                                       |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_NVGRE_TCP        | [Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port]        |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_NVGRE_SCTP       | [Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port]        |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_VXLAN_ICMP       | [Inner Source IP], [Inner Dest IP]                                               |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_VXLAN_L3SRC_ICMP | [Inner MAC][Inner Source IP]                                                     |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_VXLAN_L3DST_ICMP | [Inner MAC][Inner Dest IP]                                                       |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_VXLAN_TCP        | [Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port]        |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_VXLAN_SCTP       | [Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port]        |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_VXLAN_UDP        | [Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port]        |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV6_SRC_ONLY         | [Dest MAC],[Source IP]                                                          |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV6_DST_ONLY_FRAG    | [Dest MAC],[Dest IP]                                                            |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV6_PAY              | [Dest MAC],[Source IP], [Dest IP],                                              |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV6_UDP              | [Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]    |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV6_TCP              | [Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]    |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV6_SCTP             | [Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]    |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_PPPOE_PPPOD      | [Dest MAC],[Session ID],[Proto] ,[Source IP] ,[Dest IP]                         |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_PPPOE_TCP        | [Dest MAC],[Session ID],[Proto],[Source IP],[Dest IP],[Source Port],[Dest Port] |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_PPPOE_UDP        | [Dest MAC],[Session ID],[Proto],[Source IP],[Dest IP],[Source Port],[Dest Port] |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_PPPOE_TCP        | [Dest MAC],[Session ID],[Proto],[Source IP],[Dest IP],[Source Port],[Dest Port] |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_PPPOE_ICMP       | [Dest MAC],[Session ID],[Proto],[Source IP],[Dest IP]                           |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_GTP              |  [TEID]                                                                          |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_GTPU_IPV4_TCP    |  [TEID]                                                                          |
+    +-------------------------------+---------------------------+----------------------------------------------------------------------------------+
+
+.. table::
+
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+
+    | Hash function: Symmetric_toeplitz                                                                                                          |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+
+    | Packet Type                   | Pattern                   | Input Set                                                                      |
+    +===============================+===========================+================================================================================+
+    |  IPV4/IPV6                    | MAC_IPV4_SRC_ONLY         | [Dest MAC],[Source IP]                                                        |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_DST_ONLY_FRAG    | [Dest MAC],[Dest IP]                                                          |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_PAY              | [Dest MAC],[Source IP], [Dest IP]                                             |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+ 
+    |                               | MAC_IPV4_SRC_ICMP         | [Dest MAC],[Source IP]                                                        |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+
+    |                               | MAC_IPV4_DST_ICMP         | [Dest MAC],[Source IP]                                                        |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV4_UDP_L3SRC_L4DST  | [Dest MAC],[Source IP],[Dest Port]                                            |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV4_UDP              | [Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]  |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV4_TCP_L3SRC_L4DST  | [Dest MAC],[Source IP],[Dest Port]                                            |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV4_TCP_L3DST_L4SRC  | [Dest MAC],[Dest IP],[Source Port]                                            |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV4_TCP              | [Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]  |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV4_SCTP_L3SRC_L4DST | [Dest MAC],[Source IP],[Dest Port]                                            |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV4_SCTP             | [Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]  |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV4_NVGRE_ICMP       | [Inner Source IP], [Inner Dest IP]                                             |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV4_NVGRE_L3SRC_ICMP | [Inner MAC][Inner Source IP]                                                   |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV4_NVGRE_L3DST_ICMP | [Inner MAC][Inner Dest IP]                                                     |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV4_NVGRE_TCP        | [Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port]      |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV4_NVGRE_SCTP       | [Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port]      |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV4_VXLAN_ICMP       | [Inner Source IP], [Inner Dest IP]                                             |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV4_VXLAN_L3SRC_ICMP | [Inner MAC][Inner Source IP]                                                   |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV4_VXLAN_L3DST_ICMP | [Inner MAC][Inner Dest IP]                                                     |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV4_VXLAN_TCP        | [Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port]      |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV4_VXLAN_SCTP       | [Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port]      |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV4_VXLAN_UDP        | [Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port]      |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV6_SRC_ONLY         | [Dest MAC],[Source IP]                                                        |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV6_DST_ONLY_FRAG    | [Dest MAC],[Dest IP]                                                          |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV6_PAY              | [Dest MAC],[Source IP], [Dest IP],                                            |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV6_UDP              | [Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]  |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV6_TCP              | [Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]  |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV6_SCTP             | [Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port]  |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV4_SIMPLE_XOR       | [Dest MAC],[Source IP], [Dest IP]                                             |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
+    |                               | MAC_IPV6_SIMPLE_XOR       | [Dest MAC],[Source IP], [Dest IP]                                             |
+    +-------------------------------+---------------------------+--------------------------------------------------------------------------------+	
 
 Default parameters
 ------------------
@@ -219,6 +220,7 @@ Default parameters
     [TC]: 1
 
    UDP/TCP/SCTP::
+
     [Source IP]: RandIP
     [Dest IP]: RandIP
     [Source Port]: Randport
@@ -240,19 +242,26 @@ Prerequisites
 =============
 
 1. Hardware:
-   Intel E810 series ethernet cards: columbiaville_25g/columbiaville_100g/
+
+   - Intel E810 series ethernet cards: columbiaville_25g/columbiaville_100g/
 
 2. Software:
-   dpdk: http://dpdk.org/git/dpdk
-   scapy: http://www.secdev.org/projects/scapy/
+
+   - dpdk: http://dpdk.org/git/dpdk
+   - scapy: http://www.secdev.org/projects/scapy/
  
-Note: This rss feature designed for CVL NIC 25G and 100g, so below the case only support CVL nic.
+.. note::
+
+   This rss feature designed for CVL NIC 25G and 100g, so below the case only support CVL nic.
 
 3. bind the CVL port to dpdk driver in DUT::
-   modprobe vfio-pci
-   usertools/dpdk-devbind.py --force --bind=vfio-pci 0000:18:00.0
 
-Note: The kernel must be >= 3.6+ and VT-d must be enabled in bios.
+    modprobe vfio-pci
+    usertools/dpdk-devbind.py --force --bind=vfio-pci 0000:18:00.0
+
+.. note::
+
+   The kernel must be >= 3.6+ and VT-d must be enabled in bios.
    
 4. Launch the testpmd to configuration queue of rx and tx number 64 in DUT::
 
@@ -261,8 +270,9 @@ Note: The kernel must be >= 3.6+ and VT-d must be enabled in bios.
     testpmd>set verbose 1
     testpmd>rx_vxlan_port add 4789 0
    
-3. start scapy and configuration NVGRE and GTP profile in tester
+5. start scapy and configuration NVGRE and GTP profile in tester
    scapy::
+
    >>> import sys
    >>> sys.path.append('~/dts/dep')
    >>> from nvgre import NVGRE
@@ -270,6 +280,7 @@ Note: The kernel must be >= 3.6+ and VT-d must be enabled in bios.
 
 Test case: MAC_IPV4_L3SRC
 =========================
+
 #. create rule for the rss type for l3 src only::
 
     testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end
@@ -287,9 +298,10 @@ Test case: MAC_IPV4_L3SRC
    Once rule has created and receive related packets, 
    Check the rss hash value and rss queue, make sure the different hash value and cause to related packets enter difference queue::
    
-    src=00:00:00:00:00:00 - dst=68:05:CA:A3:28:94 - type=0x0800 - length=514 - nb_segs=1 - RSS hash=0x60994f6e - RSS queue=0x2e - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV   4  - l2_len=14 - l3_len=20 - Receive queue=0x2e ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
+    src=00:00:00:00:00:00 - dst=68:05:CA:A3:28:94 - type=0x0800 - length=514 - nb_segs=1 - RSS hash=0x60994f6e - RSS queue=0x2e - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV4  - l2_len=14 - l3_len=20 - Receive queue=0x2e ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
    
-   statistics log:
+statistics log::
+
    ------- Forward Stats for RX Port= 0/Queue= 0 -> TX Port= 0/Queue= 0 -------
    RX-packets: 1              TX-packets: 0              TX-dropped: 0
    
@@ -297,8 +309,8 @@ Test case: MAC_IPV4_L3SRC
    RX-packets: 2              TX-packets: 0              TX-dropped: 0
    ......
    
-  ------- Forward Stats for RX Port= 0/Queue=63 -> TX Port= 0/Queue=63 -------
-  RX-packets: 4              TX-packets: 0              TX-dropped: 0
+   ------- Forward Stats for RX Port= 0/Queue=63 -> TX Port= 0/Queue=63 -------
+   RX-packets: 4              TX-packets: 0              TX-dropped: 0
 
    ---------------------- Forward statistics for port 0  ----------------------
    RX-packets: 100            RX-dropped: 0             RX-total: 100
@@ -312,6 +324,7 @@ Test case: MAC_IPV4_L3SRC
  
 Test case: MAC_IPV4_L3SRC_FRAG
 ==============================
+
 #. create rule for the rss type for l3 src only::
 
     testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end
@@ -327,41 +340,47 @@ Test case: MAC_IPV4_L3SRC_FRAG
  
 Test case: MAC_IPV4_L3DST:   
 ==========================
+
 #. create rule for the rss type for l3 dst only::
-       testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end
-       testpmd> start
+
+    testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end
+    testpmd> start
+
 #. send the 100 IP +frag type pkts::
 
-       sendp([Ether(dst="68:05:ca:a3:28:94")/IP(dst=RandIP())/("X"*480)], iface="enp175s0f0", count=100)
-       testpmd> stop
+    sendp([Ether(dst="68:05:ca:a3:28:94")/IP(dst=RandIP())/("X"*480)], iface="enp175s0f0", count=100)
+    testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
    differently RSS random value,and check the pkts typ is L2_ETHER L3_IPV4 "FRAG"
 
-
 Test case: MAC_IPV4_L3DST_FRAG:
 =============================== 
 #. create rule for the rss type for l3 dst only::
-       testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end
-       testpmd> start
+
+    testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end
+    testpmd> start
    
 #. send the 100 IP frag pkts::
-       sendp([Ether(dst="68:05:ca:a3:28:94")/IP(dst=RandIP(), frag=5)/SCTP(sport=RandShort())/("X" * 80)], iface="enp175s0f0", count=100)
-   
-       testpmd> stop
+
+    sendp([Ether(dst="68:05:ca:a3:28:94")/IP(dst=RandIP(), frag=5)/SCTP(sport=RandShort())/("X" * 80)], iface="enp175s0f0", count=100)
+    testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value,and check the pkts typ is L2_ETHER L3_IPV4 "FRAG"
    
- 
-   
 Test case: MAC_IPV4_L3SRC_FRAG_ICMP:
 ==================================== 
 #. create rule for the rss type for l3 dst only::
-       testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end
-       testpmd> start
+
+    testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end
+    testpmd> start
+
 #. send the 100 IP pkts::
-       sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(), frag=5)/ICMP()/("X" * 80)], iface="enp175s0f0", count=100)
-   
-       testpmd> stop
+
+    sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(), frag=5)/ICMP()/("X" * 80)], iface="enp175s0f0", count=100)
+    testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
    
@@ -369,12 +388,15 @@ Test case: MAC_IPV4_L3SRC_FRAG_ICMP:
 Test case: MAC_IPV4_L3DST_FRAG_ICMP:
 ====================================
 #. create rule for the rss type for l3 dst only::
-       testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end
-       testpmd> start
+
+    testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end
+    testpmd> start
+
 #. send the 100 IP pkts::
-       sendp([Ether(dst="68:05:ca:a3:28:94")/IP(dst=RandIP(), frag=5)/ICMP()/("X" * 80)], iface="enp175s0f0", count=100)
-   
-       testpmd> stop
+
+    sendp([Ether(dst="68:05:ca:a3:28:94")/IP(dst=RandIP(), frag=5)/ICMP()/("X" * 80)], iface="enp175s0f0", count=100)
+    testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
 
@@ -382,25 +404,27 @@ Test case: MAC_IPV4_PAY:
 ========================
 #. create rule for the rss type for l3 all keywords::
 
-       testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 end key_len 0 queues end / end
-       testpmd> start
+    testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 end key_len 0 queues end / end
+    testpmd> start
+
 #. send the 100 IP pkts::
 
-       sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/("X"*480)], iface="enp175s0f0", count=100)
-       testpmd>stop   
+    sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/("X"*480)], iface="enp175s0f0", count=100)
+    testpmd>stop   
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
-   
  
 Test case: MAC_IPV4_PAY_FRAG_ICMP:
 ==================================
 #. create rule for the rss type for IPV4 l3 all (src and dst) +frag+ICMP::
-       flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 end key_len 0 queues end / end
+
+    flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 end key_len 0 queues end / end
    
 #. send the 100 IP pkts::
 
-       sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/ICMP()/("X"*480)], iface="enp175s0f0", count=100)
-       testpmd>stop
+    sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/ICMP()/("X"*480)], iface="enp175s0f0", count=100)
+    testpmd>stop
    
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
@@ -408,37 +432,45 @@ Test case: MAC_IPV4_PAY_FRAG_ICMP:
 Test case: MAC_IPV4_NVGRE_L3SRC:
 ================================
 #. create rule for the rss type is IPV4 l3 src +NVGRE inner IPV4 +frag + ICMP::
-       testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end
-       testpmd> start
+
+    testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end
+    testpmd> start
+
 #. send the 100 IP nvgre pkts::
 
-       sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(src=RandIP())/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
-       testpmd> stop
+    sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(src=RandIP())/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
+    testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
   
 Test case: MAC_IPV4_NVGRE_L3DST:
 ================================
 #. create rule for the rss type is IPV4 l3 dst +NVGRE inner IPV4 +frag + ICMP::
-       testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end
-       testpmd> start
+
+    testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end
+    testpmd> start
+
 #. send the 100 IP nvgre pkts::
 
-       sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(dst=RandIP())/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
-       testpmd> stop
+    sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(dst=RandIP())/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
+    testpmd> stop
    
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value  
-   
   
 Test case: MAC_IPV4_VXLAN_L3SRC:
 ================================
 #. create rule for the rss type is IPV4 src VXLAN +frag +ICMP:: 
-       testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end
-       testpmd>start
+
+    testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end
+    testpmd>start
+
 #. send the 100 VXLAN pkts::
-       sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IP(src=RandIP(), frag=5)/ICMP()/("X" * 80)], iface="enp175s0f0", count=100)
-       testpmd> stop
+
+    sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IP(src=RandIP(), frag=5)/ICMP()/("X" * 80)], iface="enp175s0f0", count=100)
+    testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
   
@@ -446,12 +478,14 @@ Test case: MAC_IPV4_NVGRE_L3DST:
 ================================
 #. create rule for the rss type is IPV4 dst VXLAN +frag+ICMP::
    
-       testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end
-       testpmd>start
+    testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end
+    testpmd>start
+
 #. send the 100 vxlan pkts::
    
-       sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IP(dst=RandIP(), frag=5)/ICMP()/("X" * 80)], iface="enp175s0f0", count=100)
-       testpmd> stop
+    sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IP(dst=RandIP(), frag=5)/ICMP()/("X" * 80)], iface="enp175s0f0", count=100)
+    testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
    
@@ -460,58 +494,69 @@ Test case: MAC_IPV4_NVGRE:
 ==========================
 #. create rule for the rss type is IPV4 all VXLAN +frag +ICMP::
    
-       testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 end key_len 0 queues end / end
-       testpmd>start
+    testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 end key_len 0 queues end / end
+    testpmd>start
    
 #. send the 100 vxlan pkts::
-       sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IP(src=RandIP(),dst=RandIP(),frag=5)/ICMP()/("X" * 80)], iface="enp175s0f0", count=100)
-   
-       testpmd> stop
+
+    sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IP(src=RandIP(),dst=RandIP(),frag=5)/ICMP()/("X" * 80)], iface="enp175s0f0", count=100)
+    testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value 
-   
   
 Test case: MAC_IPV6_L3SRC
 ==========================
 #. create rule for the rss type is IPV6 L3 src::
    
-       testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss types ipv6 l3-src-only end key_len 0 queues end / end
-       testpmd>start
+    testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss types ipv6 l3-src-only end key_len 0 queues end / end
+    testpmd>start
+
 #. send the 100 IPV6 pkts::
-       sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6())/("X" * 80)], iface="enp175s0f0", count=100)
+
+    sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6())/("X" * 80)], iface="enp175s0f0", count=100)
 	   
 Test case: MAC_IPV6_L3SRC_FRAG
 ===============================
 #. create rule for the rss type is IPV6 L3 src +ExtHdrFragment::
-       testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss types ipv6 l3-src-only end key_len 0 queues end / end
-       testpmd>start
+
+    testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss types ipv6 l3-src-only end key_len 0 queues end / end
+    testpmd>start
    
 #. send the 100 IPV6 pkts::
-       sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6())/IPv6ExtHdrFragment()/("X" * 80)], iface="enp175s0f0", count=100)
-   
-       testpmd> stop
+
+    sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6())/IPv6ExtHdrFragment()/("X" * 80)], iface="enp175s0f0", count=100)
+    testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
   
 Test case: MAC_IPV6_L3DST
 =========================
 #. create rule for the rss type is IPV6 L3 dst +ExtHdrFragment::
-       testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss types ipv6 l3-dst-only end key_len 0 queues end / end
-       testpmd>start
+
+    testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss types ipv6 l3-dst-only end key_len 0 queues end / end
+    testpmd>start
+
 #. send the 100 IPV6 pkts::
-       sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(dst=RandIP6())/IPv6ExtHdrFragment()/("X" * 80)], iface="enp175s0f0", count=100)
-       testpmd> stop
+
+    sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(dst=RandIP6())/IPv6ExtHdrFragment()/("X" * 80)], iface="enp175s0f0", count=100)
+    testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
  
 Test case: MAC_IPV6_PAY
 =======================
 #. create rule for the rss type is IPV6 L3 all +ExtHdrFragment+ICMP::
-      testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss types ipv6 end key_len 0 queues end / end
-      testpmd>start
+
+    testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss types ipv6 end key_len 0 queues end / end
+    testpmd>start
+
 #. send the 100 IPV6 pkts::
-      sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6(),dst=RandIP6())/IPv6ExtHdrFragment()/ICMP()/("X" * 80)], iface="enp175s0f0", count=100)
-      testpmd> stop
+
+    sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6(),dst=RandIP6())/IPv6ExtHdrFragment()/ICMP()/("X" * 80)], iface="enp175s0f0", count=100)
+    testpmd> stop
    
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
@@ -519,12 +564,15 @@ Test case: MAC_IPV6_PAY
 Test case: MAC_IPV4_UDP: 
 ========================
 #. create rule for the rss type is ipv4 UDP +l3 src and dst::
+
       testpmd>flow create 0 ingress pattern eth / ipv4 / udp / end actions rss types ipv4-udp l3-src-only l4-dst-only end key_len 0 queues end / end
       testpmd>start
+
 #. send the 100 IP+UDP pkts::
 
       sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP())/UDP(dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
       testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
    
@@ -532,8 +580,10 @@ Test case: MAC_IPV4_UDP:
 Test case: MAC_IPV4_UDP_FRAG:
 =============================
 #. create rule for the rss type is ipv4 +UDP +frag::
+
       testpmd> flow create 0 ingress pattern eth / ipv4 / udp / end actions rss types ipv4-udp end key_len 0 queues end / end
       testpmd> start
+
 #. send the 100 IP src IP +UDP port pkts::
 
       sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/UDP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
@@ -541,6 +591,7 @@ Test case: MAC_IPV4_UDP_FRAG:
 #. send the 100 IP +UDP port pkts::
 
      sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
+
 #. send the 100 IP src and dst IP  +UDP port pkts::
 
      sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/UDP()/("X"*480)], iface="enp175s0f0", count=100)
@@ -552,6 +603,7 @@ Test case: MAC_IPV4_UDP_FRAG:
 Test case: MAC_NVGRE_IPV4_UDP_FRAG:
 ===================================  
 #. create rule for the rss type is ipv4 + inner IP and UDP:: 
+
      testpmd>flow create 0 ingress pattern eth / ipv4 / udp / end actions rss types ipv4-udp end key_len 0 queues end / end
      testpmd>start
    
@@ -559,119 +611,150 @@ Test case: MAC_NVGRE_IPV4_UDP_FRAG:
 
      sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(src=RandIP(),dst=RandIP())/UDP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
      testpmd> stop   
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
    
 Test case: MAC_VXLAN_IPV4_UDP_FRAG:
 =================================== 
 #. create rule for the rss type is ipv4 + vxlan UDP:: 
+
      testpmd> flow create 0 ingress pattern eth / ipv4 / udp / end actions rss types ipv4-udp end key_len 0 queues end / end
      testpmd> start
+
 #. To send VXLAN pkts with IP src and dst,UDP port::
 
      sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IP(src=RandIP(),dst=RandIP())/UDP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
      testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
    
 Test case: MAC_IPV6_UDP:
 ========================
 #. create rule for the rss type is IPV6 + UDP src and dst type hash::
+
      testpmd> flow create 0 ingress pattern eth / ipv6 / udp / end actions rss types ipv6-udp end key_len 0 queues end / end
      testpmd> start
      sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6())/UDP(sport=RandShort(),dport=RandShort())/("X" * 80)], iface="enp175s0f0", count=100)
      testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
 
 Test case: MAC_IPV6_UDP_FRAG:   
 =============================
 #. To send IPV6 pkts with IPV6 src +frag +UDP port::
+
      sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6())/IPv6ExtHdrFragment()/UDP(sport=RandShort(),dport=RandShort())/("X" * 80)], iface="enp175s0f0", count=100)
      testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
    
 Test case: MAC_IPV4_TCP_FRAG:   
 ============================= 
 #. create rule for the rss type is IPV4 + TCP L3 src and  L4 dst type hash::
+
      testpmd>flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp l3-src-only l4-dst-only end key_len 0 queues end / end
+
 #. To send IPV4 pkts with scr IP and TCP dst port::
 
      sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP())/TCP(dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
      testpmd>flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp l3-src-only l4-src-only end key_len 0 queues end / end
+
 #. To send IPV4 pkts with scr IP and TCP src port::
 
      sendp([Ether(dst="68:05:ca:a3:28:94")/IP(dst=RandIP())/TCP(sport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
      testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
   
 Test case: MAC_IPV4_TCP_PAY
 ===========================
 #. Create rule for the rss type is IPV4 +tcp and hash tcp src and dst ports::
+
      testpmd>flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end key_len 0 queues end / end
      testpmd>start
+
 #. To send IPV4 pkts with IP src and dst ip and TCP ports::
 
      sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/TCP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
+
 #. To send IPV4 pkts without IP src and dst ip and includ TCP ports::
 
      sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/TCP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
+
 #. To send IPV4 pkts with IP src and dst ip and without TCP port::
 
      sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/TCP()/("X"*480)], iface="enp175s0f0", count=100)
+
 #. To send IPV4 pkts with IP src and dst +frag and without TCP port::
 
      sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP(),frag=4)/TCP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
      testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
-   
  
 Test case: MAC_IPV6_UDP_FRAG:   
 =============================
 #. Create rule for the RSS type nvgre IP src dst ip and TCP::
+
      testpmd>flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end key_len 0 queues end / end
      testpmd>start
+
 #. To send NVGRE ip pkts::
 
      sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(src=RandIP(),dst=RandIP())/TCP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
      testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
    
 Test case: MAC_VXLAN_IPV4_TCP
 =============================  
 #. Create rule for the rss type is IPV4 +tcp and hash tcp src and dst ports::
+
       testpmd>flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end key_len 0 queues end / end
       testpmd>start
+
 #. To send VXLAN pkts includ src and dst ip and TCP ports::
 
       sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/TCP()/VXLAN()/Ether()/IP(src=RandIP(),dst=RandIP())/TCP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
       testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
    
 Test case: MAC_IPV6_TCP
 ======================= 
 #. Create rule for the rss IPV6 tcp:: 
+
        testpmd>flow create 0 ingress pattern eth / ipv6 / tcp / end actions rss types ipv6-tcp end key_len 0 queues end / end
        testpmd>start
+
 #. To send IPV6 pkts include TCP ports::
+
        sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6())/TCP(sport=RandShort(),dport=RandShort())/("X" * 80)], iface="enp175s0f0", count=100)
        testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
    
 Test case: MAC_IPV6_TCP_FRAG:
 =============================
 #. Create rule for the rss IPV6 tcp:: 
+
        testpmd>flow create 0 ingress pattern eth / ipv6 / tcp / end actions rss types ipv6-tcp end key_len 0 queues end / end
        testpmd>start
+
 #. To send ipv6 pkts and IPV6 frag::
+
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6())/IPv6ExtHdrFragment()/TCP(sport=RandShort(),dport=RandShort())/("X" * 80)], iface="enp175s0f0", count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
    
@@ -679,24 +762,29 @@ Test case: MAC_IPV6_TCP_FRAG:
 Test case: MAC_IPV4_SCTP:
 =========================
 #. Create rule for the rss type IPV4 and SCTP, hash keywords with ipv4 sctp and l3 src port l4 dst port::
+
         testpmd>flow create 0 ingress pattern eth / ipv4 / sctp / end actions rss types ipv4-sctp l3-src-only l4-dst-only end key_len 0 queues end / end
         testpmd>start
+
 #. To send IP pkts includ SCTP dport::
 
          sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP())/SCTP(dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
+
 #. To send IP pkts includ SCTP sport::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP(dst=RandIP())/SCTP(sport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
    
- 
 Test case: MAC_IPV4_SCTP_FRAG:
 ==============================
 #. Create rule for the rss type IPV4 and SCTP, hash keywords with ipv4 sctp::
+
         testpmd>flow create 0 ingress pattern eth / ipv4 / sctp / end actions rss types ipv4-sctp end key_len 0 queues end / end
         testpmd>start
+
 #. To send IPV4 pkt include SCTP ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/SCTP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
@@ -704,99 +792,117 @@ Test case: MAC_IPV4_SCTP_FRAG:
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/SCTP()/("X"*480)], iface="enp175s0f0", count=100)
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP(),frag=4)/SCTP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
-   
  
 Test case: MAC_NVGRE_IPV4_SCTP:
 ===============================
 #. Create rule for the rss type IPV4 and hash keywords ipv4 sctp src and dst type::   
+
         testpmd>flow create 0 ingress pattern eth / ipv4 / sctp / end actions rss types ipv4-sctp end key_len 0 queues end / end
         testpmd>start
+
 #. To send NVGRE ip pkts and sctp ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(src=RandIP(),dst=RandIP())/SCTP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
    
-   
 Test case: MAC_VXLAN_IPV4_SCTP:
 ===============================
 #. create rule for the rss type IPV4 and hash keywords ipv4 sctp src and dst type::
+
         testpmd>flow create 0 ingress pattern eth / ipv4 / sctp / end actions rss types ipv4-sctp end key_len 0 queues end / end
         testpmd>start
+
 #. To send VXLAN ip pkts and sctp ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/SCTP()/VXLAN()/Ether()/IP(src=RandIP(),dst=RandIP())/SCTP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
 
 Test case: MAC_IPV6_SCTP_PAY:
 =============================
 #. Create rule for the rss type IPV6 and hash keywords ipv4 sctp src and dst type::
+
         testpmd>flow create 0 ingress pattern eth / ipv6 / sctp / end actions rss types ipv6-sctp end key_len 0 queues end / end
         testpmd>start
+
 #. To send IPV6 pkts and sctp ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6())/SCTP(sport=RandShort(),dport=RandShort())/("X" * 80)], iface="enp175s0f0", count=100)
         MAC IPV6 SCTP all+frag:
+
 #. to send IPV6 pkts includ frag::
+
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6())/IPv6ExtHdrFragment()/SCTP(sport=RandShort(),dport=RandShort())/("X" * 80)], iface="enp175s0f0", count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
    
-   
 Test case: MAC_IPV4_PPPOD_PPPOE:
 ================================
 #. Create rule for the rss type pppoes type::
+
         testpmd>flow create 0 ingress pattern eth / pppoes / ipv4 / end actions rss types ipv4 end key_len 0 queues end / end
         testpmd>start
+
 #. To send pppoe 100pkts::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/PPPoE(sessionid=RandShort())/PPP(proto=0x21)/IP(src=RandIP())/UDP(sport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
    
-  
 Test case: MAC_IPV4_PPPOD_PPPOE:
 ================================
 #. Create rule for the rss type pppoes::
+
         testpmd>flow create 0 ingress pattern eth / pppoes / ipv4 / end actions rss types ipv4 end key_len 0 queues end / end
         testpmd>start
+
 #. To send pppoe pkts::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/PPPoE(sessionid=RandShort())/PPP(proto=0x21)/IP(src=RandIP())/("X"*480)], iface="enp175s0f0", count=100)
         testpmd> stop
+
 #. Verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
- 
    
 Test case: MAC_IPV4_PPPOD_PPPOE_UDP:
 ====================================
 #. Create rule for the rss type pppoes and hash l3 src , l4 dst port::
+
         testpmd>flow create 0 ingress pattern eth / pppoes / ipv4 / udp / end actions rss types ipv4-udp l3-src-only l4-dst-only end key_len 0 queues end / end
         testpmd>start
+
 #. To send pppoe pkt and include the UPD ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/PPPoE(sessionid=RandShort())/PPP(proto=0x21)/IP(src=RandIP())/UDP(dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
         testpmd> stop
+
 #. Verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
-   
 
 Test case: MAC_IPV4_PPPOD_PPPOE_SCTP:
 =====================================
 #. Create rule for the rss type pppoe and hash sctp keywords::
+
         testpmd>flow create 0 ingress pattern eth / pppoes / ipv4 / sctp / end actions rss types ipv4-sctp end key_len 0 queues end / end
         testpmd>start
+
 #. To send pppoe pkt and include the SCTP ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/PPPoE(sessionid=RandShort())/PPP(proto=0x21)/IP(src=RandIP())/SCTP(dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
         testpmd> stop
+
 #. Verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
    
@@ -804,12 +910,15 @@ Test case: MAC_IPV4_PPPOD_PPPOE_SCTP:
 Test case: MAC_IPV4_PPPOD_PPPOE_ICMP:
 =====================================
 #. Create rule for the rss type pppoe and hash icmp keywords::
+
         testpmd> flow create 0 ingress pattern eth / pppoes / ipv4 / end actions rss types ipv4 end key_len 0 queues end / end
         testpmd>start
+
 #. To send pppoe pkt and include the ICMP ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/PPPoE(sessionid=RandShort())/PPP(proto=0x21)/IP(src=RandIP())/ICMP()/("X"*480)], iface="enp175s0f0", count=100)
         testpmd> stop
+
 #. Verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
    
@@ -817,15 +926,19 @@ Test case: MAC_IPV4_PPPOD_PPPOE_ICMP:
 Test case: MAC_IPV4_GTPU_FRAG:
 ==============================
 #. Create rule for the rss type GTPU and hash l3 src keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end
         testpmd>start
+
 #. To send GTPU pkts::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(dport=2152)/GTP_U_Header(teid=0x123456)/IP(src=RandIP())/ICMP()/("X"*480)],iface="enp175s0f0",count=100) 
+
 #. To send GTPU PKTS and IPV4 frag::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(dport=2152)/GTP_U_Header(teid=0x123456)/IP(src=RandIP(),frag=6)/("X"*480)],iface="enp175s0f0",count=100) 
         testpmd> stop
+
 #. Verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
    
@@ -833,12 +946,15 @@ Test case: MAC_IPV4_GTPU_FRAG:
 Test case: MAC_IPV4_GTPU_FRAG_UDP:
 ==================================
 #. create rule for the rss type GTPU and hash l3 src and dst keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / udp / end actions rss types ipv4 end key_len 0 queues end / end
         testpmd>start
+
 #. to send GTP pkts and include IP pkts and UDP::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(dport=2152)/GTP_U_Header(teid=0x123456)/IP(src=RandIP(),frag=6)/UDP(dport=RandShort())/("X"*480)],iface="enp175s0f0",count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
    
@@ -846,12 +962,15 @@ Test case: MAC_IPV4_GTPU_FRAG_UDP:
 Test case: MAC_IPV4_GTPU_FRAG_TCP:
 ==================================
 #. create rule for the rss type GTPU and hash l3 src and dst keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / tcp / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end
         testpmd>start
+
 #. to send GTP pkts and include IP pkts and tcp::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(dport=2152)/GTP_U_Header(teid=0x123456)/IP(src=RandIP(),frag=6)/TCP(dport=RandShort())/("X"*480)],iface="enp175s0f0",count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with 
    differently RSS random value
  
@@ -862,6 +981,7 @@ Test case: MAC_IPV4_GTPU_FRAG_ICMP:
 
         testpmd>flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end
         testpmd>start
+
 #. to send GTP pkts and include IP pkts and ICMP::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(dport=2152)/GTP_U_Header(teid=0x123456)/IP(src=RandIP(),frag=6)/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
@@ -872,46 +992,51 @@ Test case: MAC_IPV4_GTPU_FRAG_ICMP:
 Test case: SYMMETRIC_TOEPLITZ_IPV4_PAY: 
 =======================================
 #. create rule for the rss type symmetric_toeplitz and hash ipv4 src and dst keywords::
-        testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end
-        testpmd>start
+
+    testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end
+    testpmd>start
+
 #. to send ip pkts with fix IP::
 
-        sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.1",dst="192.168.0.2")/("X"*480)], iface="enp175s0f0", count=100)
+    sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.1",dst="192.168.0.2")/("X"*480)], iface="enp175s0f0", count=100)
+
 #. to send ip pkts with fix IP and switch src and dst ip address::
 
-        sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.2",dst="192.168.0.1")/("X"*480)], iface="enp175s0f0", count=100)
+    sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.2",dst="192.168.0.1")/("X"*480)], iface="enp175s0f0", count=100)
+
+Verbos log:: 
 
-   Verbos log:  
-   src=A4:BF:01:68:D2:03 - dst=68:05:CA:A3:28:94 - type=0x0800 - length=514 - nb_segs=1 - RSS hash=0xf84ccd9b - RSS queue=0x1b - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV4  - l2_len=14 - l3_len=20 - Receive queue=0x1b ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
+    src=A4:BF:01:68:D2:03 - dst=68:05:CA:A3:28:94 - type=0x0800 - length=514 - nb_segs=1 - RSS hash=0xf84ccd9b - RSS queue=0x1b - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV4  - l2_len=14 - l3_len=20 - Receive queue=0x1b ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
 
-   src=A4:BF:01:68:D2:03 - dst=68:05:CA:A3:28:94 - type=0x0800 - length=514 - nb_segs=1 - RSS hash=0xf84ccd9b - RSS queue=0x1b - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV4  - l2_len=14 - l3_len=20 - Receive queue=0x1b ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
+    src=A4:BF:01:68:D2:03 - dst=68:05:CA:A3:28:94 - type=0x0800 - length=514 - nb_segs=1 - RSS hash=0xf84ccd9b - RSS queue=0x1b - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV4  - l2_len=14 - l3_len=20 - Receive queue=0x1b ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
 
-#. To verify the hash value keep with a same value when the IP has exchanged.
+#. To verify the hash value keep with a same value when the IP has exchanged::
 
-   hash=0xf84ccd9b - RSS queue=0
-   hash=0xf84ccd9b - RSS queue=0
+    hash=0xf84ccd9b - RSS queue=0
+    hash=0xf84ccd9b - RSS queue=0
    
 #. to send ip pkts with fix IP::
 
-        sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="8.8.8.2",dst="5.6.7.8")/("X"*480)], iface="enp175s0f0", count=100)
-#. to send ip pkts with fix IP and switch src and dst ip address::
+    sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="8.8.8.2",dst="5.6.7.8")/("X"*480)], iface="enp175s0f0", count=100)
 
-        sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="5.6.7.8",dst="8.8.8.2")/("X"*480)], iface="enp175s0f0", count=100)
+#. to send ip pkts with fix IP and switch src and dst ip address::
 
-   testpmd> stop
-   verify 100 pkts has sent, and check the has value has fixed, verify the has value keep with a same value, when the IP has exchanged
+    sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="5.6.7.8",dst="8.8.8.2")/("X"*480)], iface="enp175s0f0", count=100)
+    testpmd> stop
    
-   		
-   Verbose log:
-   src=A4:BF:01:68:D2:03 - dst=68:05:CA:A3:28:94 - type=0x0800 - length=514 - nb_segs=1 - RSS hash=0x772baed3 - RSS queue=0x13 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV4  - l2_len=14 - l3_len=20 - Receive queue=0x13 ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
-   src=A4:BF:01:68:D2:03 - dst=68:05:CA:A3:28:94 - type=0x0800 - length=514 - nb_segs=1 - RSS hash=0x772baed3 - RSS queue=0x13 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV4  - l2_len=14 - l3_len=20 - Receive queue=0x13 ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
+verify 100 pkts has sent, and check the has value has fixed, verify the has value keep with a same value, when the IP has exchanged
+Verbose log::
+
+    src=A4:BF:01:68:D2:03 - dst=68:05:CA:A3:28:94 - type=0x0800 - length=514 - nb_segs=1 - RSS hash=0x772baed3 - RSS queue=0x13 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV4  - l2_len=14 - l3_len=20 - Receive queue=0x13 ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
+    src=A4:BF:01:68:D2:03 - dst=68:05:CA:A3:28:94 - type=0x0800 - length=514 - nb_segs=1 - RSS hash=0x772baed3 - RSS queue=0x13 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV4  - l2_len=14 - l3_len=20 - Receive queue=0x13 ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
    
-#. To verify the hash value keep with a same value when the IP has exchanged.
+#. To verify the hash value keep with a same value when the IP has exchanged::
 
-   0x772baed3 - RSS queue=0x19
-   0x772baed3 - RSS queue=0x19
+    0x772baed3 - RSS queue=0x19
+    0x772baed3 - RSS queue=0x19
    
-    statistics log:
+statistics log::
+
     ------- Forward Stats for RX Port= 0/Queue=19 -> TX Port= 0/Queue=19 -------
     RX-packets: 200            TX-packets: 0              TX-dropped: 0
     
@@ -931,13 +1056,16 @@ Test case: SYMMETRIC_TOEPLITZ_IPV4_PAY_FRAG:
 
         testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end
         testpmd>start
+
 #. to send ip pkts with fix IP includ frag::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.1",dst="192.168.0.2",frag=6)/("X"*480)], iface="enp175s0f0", count=100)
+
 #. to send ip pkts with fix IP includ frag and switch src and dst ip address::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.2",dst="192.168.0.1",frag=6)/("X"*480)], iface="enp175s0f0", count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss has has fixed with a same value.
    
 
@@ -947,13 +1075,16 @@ Test case: SYMMETRIC_TOEPLITZ_IPV4_UDP:
 
         testpmd>flow create 0 ingress pattern eth / ipv4 / udp / end actions rss func symmetric_toeplitz types ipv4-udp end key_len 0 queues end / end
         testpmd>start
+
 #. to send ip pkts with fix IP includ frag and UDP::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.1",dst="192.168.0.2",frag=6)/UDP(sport=20,dport=22)/("X"*480)], iface="enp175s0f0", count=100)
+
 #. to send ip pkts with fix IP includ frag and switch src and dst ip address and UDP ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.2",dst="192.168.0.1",frag=6)/UDP(sport=22,dport=20)/("X"*480)], iface="enp175s0f0", count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value.
    
 Test case: SYMMETRIC_TOEPLITZ_IPV4_UDP_L3SRC_L3DST_L4SRC_L4DST:
@@ -962,13 +1093,16 @@ Test case: SYMMETRIC_TOEPLITZ_IPV4_UDP_L3SRC_L3DST_L4SRC_L4DST:
 
         testpmd>flow create 0 ingress pattern eth / ipv4 / udp / end actions rss func symmetric_toeplitz types ipv4-udp l3-src-only l3-dst-only l4-src-only l4-dst-only end key_len 0 queues end / end
         testpmd>start
+
 #. to send ip pkts with fix IP includ frag and UDP::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="1.1.4.1",dst="2.2.2.3")/UDP(sport=20,dport=22)/("X"*480)], iface="enp175s0f0", count=100)
+
 #. to send ip pkts with fix IP includ frag and switch src and dst ip address and UDP ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="2.2.2.3",dst="1.1.4.1")/UDP(sport=22,dport=20)/("X"*480)], iface="enp175s0f0", count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value.
    
 Test case: SYMMETRIC_TOEPLITZ_IPV4_TCP:
@@ -977,13 +1111,16 @@ Test case: SYMMETRIC_TOEPLITZ_IPV4_TCP:
 
         testpmd>flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss func symmetric_toeplitz types ipv4-tcp end key_len 0 queues end / end
         testpmd>start
+
 #. to send ip pkts with fix IP includ frag and TCP::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.1",dst="192.168.0.2",frag=6)/TCP(sport=20,dport=22)/("X"*480)], iface="enp175s0f0", count=100)
+
 #. to send ip pkts with fix IP includ frag and switch src and dst ip address and tcp ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.2",dst="192.168.0.1",frag=6)/TCP(sport=22,dport=20)/("X"*480)], iface="enp175s0f0", count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value.
    
  
@@ -993,9 +1130,11 @@ Test case: SYMMETRIC_TOEPLITZ_IPV4_SCTP:
 
         testpmd>flow create 0 ingress pattern eth / ipv4 / sctp / end actions rss func symmetric_toeplitz types ipv4-sctp end key_len 0 queues end / end
         testpmd>start
+
 #. to send ip pkts with fix IP includ frag and SCTP::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.1",dst="192.168.0.2",frag=6)/SCTP(sport=20,dport=22)/("X"*480)], iface="enp175s0f0", count=100)
+
 #. to send ip pkts with fix IP includ frag and switch src and dst ip address and sctp ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.2",dst="192.168.0.1",frag=6)/SCTP(sport=22,dport=20)/("X"*480)], iface="enp175s0f0", count=100)
@@ -1009,203 +1148,264 @@ Test case: SYMMETRIC_TOEPLITZ_IPV4_ICMP:
 
         testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end
         testpmd>start
+
 #. to send ip pkts with fix IP includ frag and ICMP::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.1",dst="192.168.0.2",frag=6)/ICMP()/("X"*480)], iface="enp175s0f0", count=100)
+
 #. to send ip pkts with fix IP includ frag and switch src and dst ip address and ICMP ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.2",dst="192.168.0.1",frag=6)/ICMP()/("X"*480)], iface="enp175s0f0", count=100) 
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash value with a fixed value .
    
 
 Test case: SYMMETRIC_TOEPLITZ_IPV6:
 ===================================
 #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss func symmetric_toeplitz types ipv6 end key_len 0 queues end / end
         testpmd>start
+
 #. to send ip pkts with fix IPV6  pkts with fixed address::
+
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X" * 80)], iface="enp175s0f0", count=100)
+
 #. to send ip pkts with fix IPv6 includ frag and switch src and dst ip address::
+
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/("X" * 80)], iface="enp175s0f0", count=100)
 
 #. to send ip pkts with fix IPV6  pkts with fixed address without MAC address::
+
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/("X" * 80)], iface="enp175s0f0", count=100)
+
 #. to send ip pkts with fix IPv6 includ frag and switch src and dst ip address without mac address::
+
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X" * 80)], iface="enp175s0f0", count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rssh hash with a fixed value .
 
 Test case: SYMMETRIC_TOEPLITZ_IPV6_PAY:
 ==========================================
 #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss func symmetric_toeplitz types ipv6 end key_len 0 queues end / end
         testpmd>start
+
 #. to send ip pkts with fix IPV6  pkts with fixed address and includ IPV6 frag::
+
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/IPv6ExtHdrFragment()/("X" * 80)], iface="enp175s0f0", count=100)
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrFragment()/("X" * 80)], iface="enp175s0f0", count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value.
    
    
 Test case: SYMMETRIC_TOEPLITZ_IPV6_UDP:
 =======================================
 #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv6 / udp / end actions rss func symmetric_toeplitz types ipv6-udp end key_len 0 queues end / end
         testpmd>start
+
 #. to send ip pkts with fix IPV6  pkts with fixed address and includ IPV6 frag and UDP port::
+
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/UDP(sport=30,dport=32)/("X" * 80)], iface="enp175s0f0", count=100)
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=32,dport=30)/("X" * 80)], iface="enp175s0f0", count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value.
    
  
 Test case: SYMMETRIC_TOEPLITZ_IPV6_TCP:
 =======================================
 #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv6 / tcp / end actions rss func symmetric_toeplitz types ipv6-tcp end key_len 0 queues end / end
         testpmd>start
+
 #. to send ip pkts with fix IPV6  pkts with fixed address and includ IPV6 frag and tcp port::
+
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/TCP(sport=30,dport=32)/("X" * 80)], iface="enp175s0f0", count=100)
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=32,dport=30)/("X" * 80)], iface="enp175s0f0", count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value.
    
    
 Test case: SYMMETRIC_TOEPLITZ_IPV6_SCTP:
 ========================================
 #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv6 / sctp / end actions rss func symmetric_toeplitz types ipv6-sctp end key_len 0 queues end / end
         testpmd>start
+
 #. to send ip pkts with fix IPV6  pkts with fixed address and includ IPV6 frag and sctp port::
+
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/SCTP(sport=30,dport=32)/("X" * 80)], iface="enp175s0f0", count=100)
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/SCTP(sport=32,dport=30)/("X" * 80)], iface="enp175s0f0", count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value.
    
 
 Test case: SYMMETRIC_TOEPLITZ_IPV6_ICMP:
 ========================================
 #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss func symmetric_toeplitz types ipv6 end key_len 0 queues end key_len 0 queues end / end
         testpmd>start
+
 #. to send ip pkts with fix IPV6  pkts with fixed address and includ IPV6 frag and ICMP port::
+
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/ICMP()/("X" * 80)], iface="enp175s0f0", count=100)
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/ICMP()/("X" * 80)], iface="enp175s0f0", count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value.
    
 
 Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV4:
 =========================================
 #. create rule for the rss type symmetric_toeplitz and hash IPV4 keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end 
         testpmd>start
+
 #. to send ip pkts with fix nvgre pkts with fixed address and includ frag::
 
         sendp([Ether()/IP()/NVGRE()/Ether()/IP(src="192.168.0.8",dst="192.168.0.69",frag=6)/("X"*480)], iface="enp175s0f0", count=100)
         sendp([Ether()/IP()/NVGRE()/Ether()/IP(src="192.168.0.69",dst="192.168.0.8",frag=6)/("X"*480)], iface="enp175s0f0", count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value.
    
 Test case: SYMMETRIC_TOEPLITZ_VXLAN_IPV4:
 =========================================
 #. create rule for the rss type symmetric_toeplitz and hash IPV4 keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end 
         testpmd>start
+
 #. to send ip pkts with fix vxlan pkts with fixed address and includ frag::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IP(src="192.168.0.1",dst="192.168.0.2",frag=6)/("X"*480)], iface="enp175s0f0", count=100)
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IP(src="192.168.0.2",dst="192.168.0.1",frag=6)/("X"*480)], iface="enp175s0f0", count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value.
    
  
 Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV4_UDP:
 =============================================
 #. create rule for the rss type symmetric_toeplitz and hash IPV4 keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv4 / udp / end actions rss func symmetric_toeplitz types ipv4-udp end key_len 0 queues end / end
         testpmd>start
+
 #. to send ip pkts with fix nvgre pkts with fixed address and includ frag and udp ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether(dst="68:05:ca:a3:28:94")/IP(src="8.8.8.1",dst="5.6.8.2")/UDP(sport=20,dport=22)/("X"*480)],iface="enp175s0f0",count=100)
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether(dst="68:05:ca:a3:28:94")/IP(src="5.6.8.2",dst="8.8.8.1")/UDP(sport=22,dport=20)/("X"*480)],iface="enp175s0f0",count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value.
    
 Test case: SYMMETRIC_TOEPLITZ_NVGRE_SCTP:
 =========================================
 #. create rule for the rss type symmetric_toeplitz and hash IPV4 keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv4 / sctp / end actions rss func symmetric_toeplitz types ipv4-sctp end key_len 0 queues end / end
         testpmd>start
+
 #. to send ip pkts with fix nvgre pkts with fixed address and includ frag and sctp ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether(dst="68:05:ca:a3:28:94")/IP(src="8.8.8.1",dst="5.6.8.2")/SCTP(sport=20,dport=22)/("X"*480)],iface="enp175s0f0",count=100)
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether(dst="68:05:ca:a3:28:94")/IP(src="5.6.8.2",dst="8.8.8.1")/SCTP(sport=22,dport=20)/("X"*480)],iface="enp175s0f0",count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value.
    
 Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV4_TCP:
 =============================================
 #. create rule for the rss type symmetric_toeplitz and hash IPV4 keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss func symmetric_toeplitz types ipv4-tcp end key_len 0 queues end / end
         testpmd>start
+
 #. to send ip pkts with fix nvgre pkts with fixed address and includ frag and tcp ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether(dst="68:05:ca:a3:28:94")/IP(src="8.8.8.1",dst="5.6.8.2")/TCP(sport=20,dport=22)/("X"*480)],iface="enp175s0f0",count=100)
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether(dst="68:05:ca:a3:28:94")/IP(src="5.6.8.2",dst="8.8.8.1")/TCP(sport=22,dport=20)/("X"*480)],iface="enp175s0f0",count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value.
    
 Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV4_ICMP:
 ==============================================
 #. create rule for the rss type symmetric_toeplitz and hash IPV4 keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end
         testpmd>start
+
 #. to send ip pkts with fix nvgre pkts with fixed address and includ frag and icmp ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(src="8.8.8.1",dst="5.6.8.2")/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(src="5.6.8.2",dst="8.8.8.1")/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value.
  
 Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV6:
 =========================================
 #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss func symmetric_toeplitz types ipv6 end key_len 0 queues end / end
         testpmd>start
+
 #. to send ipv6 pkts with fix nvgre pkts with fixed address::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/("X"*480)],iface="enp175s0f0",count=100)
+
 #. to send ip pkts with fix IPv6 includ frag and switch src and dst ip address::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X"*480)],iface="enp175s0f0",count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value.
  
 Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV6_UDP:
 ================================================
 #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv6 / udp / end actions rss func symmetric_toeplitz types ipv6-udp end key_len 0 queues end / end
         testpmd>start
+
 #. to send ipv6 pkts with fix nvgre pkts with fixed address and includ ipv6 frag and UDP ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/UDP(sport=30,dport=32)/("X"*480)],iface="enp175s0f0",count=100)
+
 #. to send ip pkts with fix IPv6 includ frag and switch src and dst ip address and udp ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=32,dport=33)/("X"*480)],iface="enp175s0f0",count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value.
  
    
 Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV6_TCP:
 =============================================
 #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv6 / tcp / end actions rss func symmetric_toeplitz types ipv6-tcp end key_len 0 queues end / end
         testpmd>start
+
 #. to send ipv6 pkts with fix nvgre pkts with fixed address and includ ipv6 frag and tcp ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/TCP(sport=30,dport=32)/("X"*480)],iface="enp175s0f0",count=100)
+
 #. to send ip pkts with fix IPv6 includ frag and switch src and dst ip address and tcp ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=32,dport=33)/("X"*480)],iface="enp175s0f0",count=100)
@@ -1215,106 +1415,134 @@ Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV6_TCP:
 Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV6_SCTP
 ==============================================
 #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv6 / sctp / end actions rss func symmetric_toeplitz types ipv6-sctp end key_len 0 queues end / end
         testpmd>start
+
 #. to send ipv6 pkts with fix nvgre pkts with fixed address and includ ipv6 frag and SCTP ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/SCTP(sport=30,dport=32)/("X"*480)],iface="enp175s0f0",count=100)
+
 #. to send ip pkts with fix IPv6 includ frag and switch src and dst ip address and SCTP ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/SCTP(sport=32,dport=33)/("X"*480)],iface="enp175s0f0",count=100)
-    testpmd> stop
+        testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value.
    
   
 Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV6_ICMP:
 ==============================================
 #.  create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss func symmetric_toeplitz types ipv6 end key_len 0 queues end / end
         testpmd>start
+
 #. to send ipv6 pkts with fix nvgre pkts with fixed address and includ ipv6 frag and ICMP ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
+
 #. to send ip pkts with fix IPv6 includ frag and switch src and dst ip address and ICMP ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value.
  
 Test case: SYMMETRIC_TOEPLITZ_VXLAN_IPV6_UDP:
 =============================================
 #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv6 / udp / end actions rss func symmetric_toeplitz types ipv6-udp end key_len 0 queues end / end
         testpmd>start
+
 #. to send ipv6 pkts with fix vxlan pkts with fixed address and includ ipv6 frag and UDP ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/UDP(sport=30,dport=32)/("X"*480)],iface="enp175s0f0",count=100)
+
 #. to send VXLAN pkts with fix IPv6 includ frag and switch src and dst ip address and UDP ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=32,dport=33)/("X"*480)],iface="enp175s0f0",count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value.
    
 Test case: SYMMETRIC_TOEPLITZ_VXLAN_IPV6:
 =========================================
 #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss func symmetric_toeplitz types ipv6 end key_len 0 queues end / end
         testpmd>start
+
 #. to send ipv6 pkts with fix vxlan pkts with fixed address and includ ipv6 frag::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/("X"*480)],iface="enp175s0f0",count=100)
+
 #. to send VXLAN pkts with fix IPv6 includ frag and switch src and dst ip address::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X"*480)],iface="enp175s0f0",count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value.
 
 Test case: SYMMETRIC_TOEPLITZ_VXLAN_IPV6_TCP:
 =============================================
 #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv6 / tcp / end actions rss func symmetric_toeplitz types ipv6-tcp end key_len 0 queues end / end
         testpmd>start
+
 #. to send ipv6 pkts with fix vxlan pkts with fixed address and includ ipv6 frag and tcp ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/TCP(sport=30,dport=32)/("X"*480)],iface="enp175s0f0",count=100)
+
 #. to send VXLAN pkts with fix IPv6 includ frag and switch src and dst ip address and tcp ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=32,dport=33)/("X"*480)],iface="enp175s0f0",count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value.
  
 Test case: SYMMETRIC_TOEPLITZ_VXLAN_IPV6_SCTP:
 ==============================================
 #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv6 / sctp / end actions rss func symmetric_toeplitz types ipv6-sctp end key_len 0 queues end / end
         testpmd>start
+
 #. to send ipv6 pkts with fix vxlan pkts with fixed address and includ ipv6 frag and sctp ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/SCTP(sport=30,dport=32)/("X"*480)],iface="enp175s0f0",count=100)
+
 #. to send VXLAN pkts with fix IPv6 includ frag and switch src and dst ip address and sctp ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/SCTP(sport=32,dport=30)/("X"*480)],iface="enp175s0f0",count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value.
    
 Test case: SYMMETRIC_TOEPLITZ_VXLAN_IPV6_ICMP:
 ==============================================
 #. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
+
         testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss func symmetric_toeplitz types ipv6 end key_len 0 queues end / end
         testpmd>start
+
 #. to send ipv6 pkts with fix vxlan pkts with fixed address and includ ipv6 frag and ICMP ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
+
 #. to send VXLAN pkts with fix IPv6 includ frag and switch src and dst ip address and icmp ports::
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value
    
- 
 Test case: SIMPLE_XOR:
 ======================
 #. create rule for the rss type simple_xor::
+
         testpmd>flow create 0 ingress pattern end actions rss func simple_xor key_len 0 queues end / end
         testpmd>start
    
@@ -1324,18 +1552,20 @@ Test case: SIMPLE_XOR_IPV4:
 
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="1.1.4.1",dst="2.2.2.3")/("X"*480)], iface="enp175s0f0", count=100)
         sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="2.2.2.3",dst="1.1.4.1")/("X"*480)], iface="enp175s0f0", count=100)
-
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value.
    
-   Verbose log:
+Verbose log::
+
    src=A4:BF:01:68:D2:03 - dst=68:05:CA:A3:28:94 - type=0x0800 - length=514 - nb_segs=1 - RSS hash=0x3030602 - RSS queue=0x2 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV4  - l2_len=14 - l3_len=20 - Receive queue=0x2 ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
-	 
+
    src=A4:BF:01:68:D2:03 - dst=68:05:CA:A3:28:94 - type=0x0800 - length=514 - nb_segs=1 - RSS hash=0x3030602 - RSS queue=0x2 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV4  - l2_len=14 - l3_len=20 - Receive queue=0x2 ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
    
-   Chheck the RSS value wiht a same value and the packets enter to a queue
+Check the RSS value wiht a same value and the packets enter to a queue
 	 
-   statistics log: 
+statistics log::
+
    ------- Forward Stats for RX Port= 0/Queue= 2 -> TX Port= 0/Queue= 2 -------
    RX-packets: 200            TX-packets: 0              TX-dropped: 0
    
@@ -1353,27 +1583,30 @@ Test case: SIMPLE_XOR_IPV4:
 SIMPLE_XOR_IPV6:
 ================
 #. to send IPV6 pkt with fixed IP and switch IP src and dst address and switch the upd, tcp, sctp, icpm ports::
+
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/("X" * 80)], iface="enp175s0f0", count=100)
         sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X" * 80)], iface="enp175s0f0", count=100)
- 
         testpmd> stop
+
 #. verify 100 pkts has sent, and check the rss hash with a fixed value.
    
-   Verbose log:
+Verbose log::
+
    src=00:00:00:00:00:00 - dst=68:05:CA:A3:28:94 - type=0x86dd - length=134 - nb_segs=1 - RSS hash=0x5c24be5 - RSS queue=0x25 - hw ptype: L2_ETHER L3_IPV6_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV6  - l2_len=14 - l3_len=40 - Receive queue=0x25 ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
-	 
+
    src=00:00:00:00:00:00 - dst=68:05:CA:A3:28:94 - type=0x86dd - length=134 - nb_segs=1 - RSS hash=0x5c24be5 - RSS queue=0x25 - hw ptype: L2_ETHER L3_IPV6_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER L3_IPV6  - l2_len=14 - l3_len=40 - Receive queue=0x25 ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
 
-    statistics log: 
-    ------- Forward Stats for RX Port= 0/Queue=37 -> TX Port= 0/Queue=37 -------
-    RX-packets: 200            TX-packets: 0              TX-dropped: 0
-    
-    ---------------------- Forward statistics for port 0  ----------------------
-    RX-packets: 200            RX-dropped: 0             RX-total: 200
-    TX-packets: 0              TX-dropped: 0             TX-total: 0
-    ----------------------------------------------------------------------------
-    
-    +++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
-    RX-packets: 200            RX-dropped: 0             RX-total: 200
-    TX-packets: 0              TX-dropped: 0             TX-total: 0
-    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+statistics log::
+
+   ------- Forward Stats for RX Port= 0/Queue=37 -> TX Port= 0/Queue=37 -------
+   RX-packets: 200            TX-packets: 0              TX-dropped: 0
+   
+   ---------------------- Forward statistics for port 0  ----------------------
+   RX-packets: 200            RX-dropped: 0             RX-total: 200
+   TX-packets: 0              TX-dropped: 0             TX-total: 0
+   ----------------------------------------------------------------------------
+   
+   +++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
+   RX-packets: 200            RX-dropped: 0             RX-total: 200
+   TX-packets: 0              TX-dropped: 0             TX-total: 0
+   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
diff --git a/test_plans/cvl_fdir_test_plan.rst b/test_plans/cvl_fdir_test_plan.rst
index 0d93735..2f65313 100644
--- a/test_plans/cvl_fdir_test_plan.rst
+++ b/test_plans/cvl_fdir_test_plan.rst
@@ -34,9 +34,9 @@
 CVL:Classification:Flow Director
 ================================
 
-Enable fdir filter for IPv4/IPv6 + TCP/UDP/SCTP  (OS default package)
-Enable fdir filter for UDP tunnel: Vxlan / NVGRE (OS default package)
-Enable fdir filter for GTP (comm #1 package)
+* Enable fdir filter for IPv4/IPv6 + TCP/UDP/SCTP  (OS default package)
+* Enable fdir filter for UDP tunnel: Vxlan / NVGRE (OS default package)
+* Enable fdir filter for GTP (comm #1 package)
 
 Pattern and input set
 ---------------------
@@ -86,31 +86,34 @@ Pattern and input set
     |                              | MAC_IPV4_GTPU_IPV4_SCTP    | [TEID], [QFI]                                                                 |
     +------------------------------+----------------------------+-------------------------------------------------------------------------------+
 
-Notes: 1. Enable fdir filter for UDP tunnel: Vxlan / NVGRE (OS default package) , share code not
-          support outer header as inputset, so Out Dest IP and VNI/GRE_KEY may not able to be implemented.
+.. notes::
 
-       2. For VXLAN case MAC_IPV4_TUN_*** means MAC_IPV4_UDP_VXLAN_***
-       3. For Dest MAC, there is package /sharecode limitation on multicast dst mac support for FDIR
+    1. Enable fdir filter for UDP tunnel: Vxlan / NVGRE (OS default package) , share code not
+       support outer header as inputset, so Out Dest IP and VNI/GRE_KEY may not able to be implemented.
+    2. For VXLAN case MAC_IPV4_TUN_*** means MAC_IPV4_UDP_VXLAN_***
+    3. For Dest MAC, there is package /sharecode limitation on multicast dst mac support for FDIR
 
 Action type
 -----------
 
-    queue index
-    drop
-    rss queues
-    count identifier 0x1234 shared on|off
-    mark id
+    * queue index
+    * drop
+    * rss queues
+    * count identifier 0x1234 shared on|off
+    * mark id
 
 
 Prerequisites
 =============
 
 1. Hardware:
-   columbiaville_25g/columbiaville_100g
+
+   - columbiaville_25g/columbiaville_100g
 
 2. Software:
-   DPDK: http://dpdk.org/git/dpdk
-   scapy: http://www.secdev.org/projects/scapy/
+
+   - DPDK: http://dpdk.org/git/dpdk
+   - scapy: http://www.secdev.org/projects/scapy/
 
 3. Copy specific ice package to /lib/firmware/intel/ice/ddp/ice.pkg
    Then reboot server, and compile DPDK
@@ -130,7 +133,9 @@ Prerequisites
     testpmd> port config 0 udp_tunnel_port add vxlan 4789
     testpmd> start
 
-   Notes: if need two ports environment, launch ``testpmd`` with the following arguments::
+.. notes::
+
+   if need two ports environment, launch ``testpmd`` with the following arguments::
 
     ./testpmd -c 0xff -n 6 -w 86:00.0 -w 86:00.1 -- -i --portmask=0xff --rxq=64 --txq=64 --port-topology=loop
 
diff --git a/test_plans/cvl_switch_filter_test_plan.rst b/test_plans/cvl_switch_filter_test_plan.rst
index 630fcc3..833125a 100644
--- a/test_plans/cvl_switch_filter_test_plan.rst
+++ b/test_plans/cvl_switch_filter_test_plan.rst
@@ -141,11 +141,13 @@ Prerequisites
 =============
 
 1. Hardware:
-   columbiaville_25g/columbiaville_100g
+
+   - columbiaville_25g/columbiaville_100g
 
 2. software:
-   dpdk: http://dpdk.org/git/dpdk
-   scapy: http://www.secdev.org/projects/scapy/
+
+   - dpdk: http://dpdk.org/git/dpdk
+   - scapy: http://www.secdev.org/projects/scapy/
 
 3. Copy comm #1 package to /lib/firmware/intel/ice/ddp/ice.pkg,
    then reboot server, and compile DPDK.
@@ -181,9 +183,11 @@ Test case: VXLAN non-pipeline mode
 
 2. create switch filter rules and verify
 
-* MAC_IPV4_VXLAN_IPV4_FRAG
+MAC_IPV4_VXLAN_IPV4_FRAG
+------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -205,7 +209,8 @@ send mismatched packets::
 
 verify these packets not to queue 3
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -227,7 +232,8 @@ send mismatched packets::
 
 verify these packets not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -249,9 +255,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_VXLAN_IPV4_PAY
+MAC_IPV4_VXLAN_IPV4_PAY
+-----------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -273,7 +281,8 @@ send mismatched packets::
 
 verify these packets not to queue 3
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -295,7 +304,8 @@ send mismatched packets::
 
 verify these packets not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -317,9 +327,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_VXLAN_IPV4_UDP_PAY
+MAC_IPV4_VXLAN_IPV4_UDP_PAY
+---------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -338,7 +350,8 @@ send mismatched packets::
 
 verify these packets not to queue 4
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -357,7 +370,8 @@ send mismatched packets::
 
 verify these packets not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -376,9 +390,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_VXLAN_IPV4_TCP
+MAC_IPV4_VXLAN_IPV4_TCP
+-----------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -397,7 +413,8 @@ send mismatched packets::
 
 verify these packets not to queue 5
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -416,7 +433,8 @@ send mismatched packets::
 
 verify these packets not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -435,9 +453,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_VXLAN_IPV4_SCTP (not support in 19.11)
+MAC_IPV4_VXLAN_IPV4_SCTP (not support in 19.11)
+----------------------------------------------
 
-1) to queue action
+to queue action
+---------------
 
 create a rule::
 
@@ -456,7 +476,8 @@ send mismatched packets::
 
 verify these packets not to queue 4
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -475,7 +496,8 @@ send mismatched packets::
 
 verify these packets not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -494,9 +516,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_VXLAN_IPV4_ICMP (not support in 19.11)
+MAC_IPV4_VXLAN_IPV4_ICMP (not support in 19.11)
+----------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -514,7 +538,8 @@ send mismatched packets::
 
 verify these packets not to queue 2
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -532,7 +557,8 @@ send mismatched packets::
 
 verify these packets not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -550,9 +576,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_VXLAN_MAC_IPV4_FRAG
+MAC_IPV4_VXLAN_MAC_IPV4_FRAG
+----------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -575,7 +603,8 @@ send mismatched packets::
 
 verify these packets not to queue 2
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -598,7 +627,8 @@ send mismatched packets::
 
 verify these packets not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -621,9 +651,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_VXLAN_MAC_IPV4_PAY
+MAC_IPV4_VXLAN_MAC_IPV4_PAY
+---------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -646,7 +678,8 @@ send mismatched packets::
 
 verify these packets not to queue 3
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -669,7 +702,8 @@ send mismatched packets::
 
 verify these packets not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -692,9 +726,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_VXLAN_MAC_IPV4_UDP_PAY
+MAC_IPV4_VXLAN_MAC_IPV4_UDP_PAY
+--------------------------------
 
-1) to queue action
+to queue action
+---------------
 
 create a rule::
 
@@ -713,7 +749,8 @@ send mismatched packets::
 
 verify these packets not to queue 1
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -732,7 +769,8 @@ send mismatched packets::
 
 verify these packets not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -751,9 +789,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_VXLAN_MAC_IPV4_TCP
+MAC_IPV4_VXLAN_MAC_IPV4_TCP
+---------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -772,7 +812,8 @@ send mismatched packets::
 
 verify these packets not to queue 1
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -791,7 +832,8 @@ send mismatched packets::
 
 verify these packets not to queue 1 and 2
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -810,9 +852,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_VXLAN_MAC_IPV4_SCTP (not support in 19.11)
+MAC_IPV4_VXLAN_MAC_IPV4_SCTP (not support in 19.11)
+---------------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -831,7 +875,8 @@ send mismatched packets::
 
 verify these packets not to queue 4
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -850,7 +895,9 @@ send mismatched packets::
 
 verify these packets not to queue 4 and 5
 
-3) drop action
+
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -869,9 +916,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_VXLAN_MAC_IPV4_ICMP (not support in 19.11)
+MAC_IPV4_VXLAN_MAC_IPV4_ICMP (not support in 19.11)
+---------------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -889,7 +938,8 @@ send a mismatched packet::
 
 verify this packet not to queue 3
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -907,7 +957,9 @@ send a mismatched packet::
 
 verify this packet not to queue 4 and 5
 
-3) drop action
+
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -943,9 +995,11 @@ Test case: VXLAN pipeline mode
 
 1. create switch filter rules and verify
 
-* MAC_IPV4_VXLAN_IPV4_FRAG
+MAC_IPV4_VXLAN_IPV4_FRAG
+------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -966,7 +1020,8 @@ send mismatched packets::
 
 verify these packets not to queue 2
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -987,7 +1042,9 @@ send mismatched packets::
 
 verify these packets not to queue 2 and 3
 
-3) drop action
+
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -1008,9 +1065,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_VXLAN_IPV4_PAY (not support in 19.11)
+MAC_IPV4_VXLAN_IPV4_PAY (not support in 19.11)
+----------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule for tcp::
 
@@ -1044,7 +1103,8 @@ send a mismatched packet::
 
 verify this packet not to queue 2
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule for tcp::
 
@@ -1078,7 +1138,8 @@ send a mismatched packet::
 
 verify this packet not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule for tcp::
 
@@ -1112,9 +1173,11 @@ send a mismatched packet::
 
 verify this packet not dropped
 
-* MAC_IPV4_VXLAN_IPV4_UDP_PAY
+MAC_IPV4_VXLAN_IPV4_UDP_PAY
+---------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1133,7 +1196,8 @@ send mismatched packets::
 
 verify these packets not to queue 2
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1152,7 +1216,9 @@ send mismatched packets::
 
 verify these packets not to queue 4 and 5
 
-3) drop action
+
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -1171,9 +1237,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_VXLAN_IPV4_TCP
+MAC_IPV4_VXLAN_IPV4_TCP
+-----------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1192,7 +1260,8 @@ send mismatched packets::
 
 verify these packets not to queue 3
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1211,7 +1280,8 @@ send mismatched packets::
 
 verify these packets not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -1230,9 +1300,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_VXLAN_IPV4_SCTP (not support in 19.11)
+MAC_IPV4_VXLAN_IPV4_SCTP (not support in 19.11)
+----------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1251,7 +1323,8 @@ send mismatched packets::
 
 verify these packets not to queue 4
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1270,7 +1343,8 @@ send mismatched packets::
 
 verify these packets not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -1289,9 +1363,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_VXLAN_IPV4_ICMP (not support in 19.11)
+MAC_IPV4_VXLAN_IPV4_ICMP (not support in 19.11)
+----------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1309,7 +1385,8 @@ send a mismatched packet::
 
 verify this packet not to queue 2
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1327,7 +1404,8 @@ send a mismatched packet::
 
 verify this packet not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -1345,9 +1423,11 @@ send a mismatched packet::
 
 verify this packet not dropped
 
-* MAC_IPV4_VXLAN_IPV6_FRAG (not support in 19.11)
+MAC_IPV4_VXLAN_IPV6_FRAG (not support in 19.11)
+-----------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1366,7 +1446,8 @@ send mismatched packets::
 
 verify these packets not to queue 2
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1385,7 +1466,8 @@ send mismatched packets::
 
 verify these packets not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -1404,9 +1486,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_VXLAN_IPV6_PAY (not support in 19.11)
+MAC_IPV4_VXLAN_IPV6_PAY (not support in 19.11)
+----------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule for tcp::
 
@@ -1440,7 +1524,8 @@ send a mismatched packet::
 
 verify this packet not to queue 3
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule for tcp::
 
@@ -1474,7 +1559,8 @@ send mismatched packets::
 
 verify this packet not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule for tcp::
 
@@ -1508,9 +1594,11 @@ send mismatched packets::
 
 verify this packet not dropped
 
-* MAC_IPV4_VXLAN_IPV6_UDP_PAY (not support in 19.11)
+MAC_IPV4_VXLAN_IPV6_UDP_PAY (not support in 19.11)
+--------------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1529,7 +1617,8 @@ send mismatched packets::
 
 verify these packets not to queue 2
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1548,7 +1637,8 @@ send mismatched packets::
 
 verify these packets not to queue 1 and 2
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -1567,9 +1657,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_VXLAN_IPV6_TCP (not support in 19.11)
+MAC_IPV4_VXLAN_IPV6_TCP (not support in 19.11)
+----------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1588,7 +1680,8 @@ send mismatched packets::
 
 verify these packets not to queue 2
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1607,7 +1700,8 @@ send mismatched packets::
 
 verify these packets not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -1626,9 +1720,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_VXLAN_IPV6_SCTP (not support in 19.11)
+MAC_IPV4_VXLAN_IPV6_SCTP (not support in 19.11)
+-----------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1647,7 +1743,8 @@ send mismatched packets::
 
 verify these packets not to queue 3
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1666,7 +1763,8 @@ send mismatched packets::
 
 verify these packets not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -1685,9 +1783,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_VXLAN_IPV6_ICMPV6 (not support in 19.11)
+MAC_IPV4_VXLAN_IPV6_ICMPV6 (not support in 19.11)
+-------------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1705,7 +1805,8 @@ send mismatched packets::
 
 verify this packet not to queue 2
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1723,7 +1824,8 @@ send mismatched packets::
 
 verify this packet not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -1764,9 +1866,10 @@ Test case: NVGRE non-pipeline mode
 
 2. create switch filter rules and verify
 
-* MAC_IPV4_NVGRE_IPV4_FRAG
+MAC_IPV4_NVGRE_IPV4_FRAG
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1788,7 +1891,8 @@ send mismatched packets::
 
 verify these packets not to queue 3
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1810,7 +1914,8 @@ send mismatched packets::
 
 verify these packets not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -1832,9 +1937,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_NVGRE_IPV4_PAY
+MAC_IPV4_NVGRE_IPV4_PAY
+-----------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1856,7 +1963,8 @@ send mismatched packets::
 
 verify these packets not to queue 3
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1878,7 +1986,8 @@ send mismatched packets::
 
 verify these packets not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -1900,9 +2009,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_NVGRE_IPV4_UDP_PAY
+MAC_IPV4_NVGRE_IPV4_UDP_PAY
+---------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1921,7 +2032,8 @@ send mismatched packets::
 
 verify these packets not to queue 4
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1940,7 +2052,8 @@ send mismatched packets::
 
 verify these packets not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -1959,9 +2072,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_NVGRE_IPV4_TCP
+MAC_IPV4_NVGRE_IPV4_TCP
+-----------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1980,7 +2095,8 @@ send mismatched packets::
 
 verify these packets not to queue 1
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -1999,7 +2115,8 @@ send mismatched packets::
 
 verify these packets not to queue 1 and 2
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -2018,9 +2135,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_NVGRE_IPV4_SCTP (not support in 19.11)
+MAC_IPV4_NVGRE_IPV4_SCTP (not support in 19.11)
+-----------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2039,7 +2158,8 @@ send mismatched packets::
 
 verify these packets not to queue 3
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2058,7 +2178,8 @@ send mismatched packets::
 
 verify these packets not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -2077,9 +2198,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_NVGRE_IPV4_ICMP (not support in 19.11)
+MAC_IPV4_NVGRE_IPV4_ICMP (not support in 19.11)
+-----------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2097,7 +2220,8 @@ send mismatched packets::
 
 verify this packet not to queue 3
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2115,7 +2239,8 @@ send mismatched packets::
 
 verify this packet not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -2133,9 +2258,11 @@ send mismatched packets::
 
 verify this packet not dropped
 
-* MAC_IPV4_NVGRE_MAC_IPV4_FRAG
+MAC_IPV4_NVGRE_MAC_IPV4_FRAG
+----------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2158,7 +2285,8 @@ send mismatched packets::
 
 verify these packets not to queue 3
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2181,7 +2309,8 @@ send mismatched packets::
 
 verify these packets not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -2204,9 +2333,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_NVGRE_MAC_IPV4_PAY
+MAC_IPV4_NVGRE_MAC_IPV4_PAY
+---------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2229,7 +2360,8 @@ send mismatched packets::
 
 verify these packets not to queue 3
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2252,7 +2384,8 @@ send mismatched packets::
 
 verify these packets not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -2275,9 +2408,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_NVGRE_MAC_IPV4_UDP_PAY
+MAC_IPV4_NVGRE_MAC_IPV4_UDP_PAY
+-------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2296,7 +2431,8 @@ send mismatched packets::
 
 verify these packets not to queue 2
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2315,7 +2451,8 @@ send mismatched packets::
 
 verify these packets not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -2334,9 +2471,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_NVGRE_MAC_IPV4_TCP
+MAC_IPV4_NVGRE_MAC_IPV4_TCP
+---------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2355,7 +2494,8 @@ send mismatched packets::
 
 verify these packets not to queue 3
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2374,7 +2514,8 @@ send mismatched packets::
 
 verify these packets not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -2393,9 +2534,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_NVGRE_MAC_IPV4_SCTP (not support in 19.11)
+MAC_IPV4_NVGRE_MAC_IPV4_SCTP (not support in 19.11)
+---------------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2414,7 +2557,8 @@ send mismatched packets::
 
 verify these packets not to queue 3
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2433,7 +2577,8 @@ send mismatched packets::
 
 verify these packets not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -2452,9 +2597,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_NVGRE_MAC_IPV4_ICMP (not support in 19.11)
+MAC_IPV4_NVGRE_MAC_IPV4_ICMP (not support in 19.11)
+---------------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2472,7 +2619,8 @@ send mismatched packets::
 
 verify this packet not to queue 3
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2490,7 +2638,8 @@ send mismatched packets::
 
 verify this packet not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -2526,9 +2675,11 @@ Test case: NVGRE pipeline mode
 
 1. create switch filter rules and verify
 
-* MAC_IPV4_NVGRE_IPV4_FRAG
+MAC_IPV4_NVGRE_IPV4_FRAG
+------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2549,7 +2700,8 @@ send mismatched packets::
 
 verify these packets not to queue 3
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2570,7 +2722,8 @@ send mismatched packets::
 
 verify these packets not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -2591,9 +2744,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_NVGRE_IPV4_PAY (not support in 19.11)
+MAC_IPV4_NVGRE_IPV4_PAY (not support in 19.11)
+----------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule for tcp::
 
@@ -2627,7 +2782,8 @@ send mismatched packets::
 
 verify this packet not to queue 2
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule for tcp::
 
@@ -2661,7 +2817,8 @@ send mismatched packets::
 
 verify this packet not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule for tcp::
 
@@ -2695,9 +2852,11 @@ send mismatched packets::
 
 verify this packet not dropped
 
-* MAC_IPV4_NVGRE_IPV4_UDP_PAY
+MAC_IPV4_NVGRE_IPV4_UDP_PAY
+---------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2716,7 +2875,8 @@ send mismatched packets::
 
 verify these packets not to queue 2
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2735,7 +2895,8 @@ send mismatched packets::
 
 verify these packets not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -2754,9 +2915,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_NVGRE_IPV4_TCP
+MAC_IPV4_NVGRE_IPV4_TCP
+-----------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2775,7 +2938,8 @@ send mismatched packets::
 
 verify these packets not to queue 2
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2794,7 +2958,8 @@ send mismatched packets::
 
 verify these packets not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -2813,9 +2978,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_NVGRE_IPV4_SCTP (not support in 19.11)
+MAC_IPV4_NVGRE_IPV4_SCTP (not support in 19.11)
+-----------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2834,7 +3001,8 @@ send mismatched packets::
 
 verify these packets not to queue 4
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2853,7 +3021,8 @@ send mismatched packets::
 
 verify these packets not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -2872,9 +3041,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_NVGRE_IPV4_ICMP (not support in 19.11)
+MAC_IPV4_NVGRE_IPV4_ICMP (not support in 19.11)
+-----------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2892,7 +3063,8 @@ send mismatched packets::
 
 verify this packet not to queue 2
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2910,7 +3082,8 @@ send mismatched packets::
 
 verify this packet not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -2928,9 +3101,11 @@ send mismatched packets::
 
 verify this packet not dropped
 
-* MAC_IPV4_NVGRE_IPV6_FRAG (not support in 19.11)
+MAC_IPV4_NVGRE_IPV6_FRAG (not support in 19.11)
+-----------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2949,7 +3124,8 @@ send mismatched packets::
 
 verify these packets not to queue 2
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -2968,7 +3144,8 @@ send mismatched packets::
 
 verify these packets not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -2987,9 +3164,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_NVGRE_IPV6_PAY (not support in 19.11)
+MAC_IPV4_NVGRE_IPV6_PAY (not support in 19.11)
+----------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule for tcp::
 
@@ -3023,7 +3202,8 @@ send mismatched packets::
 
 verify this packet not to queue 3
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule for tcp::
 
@@ -3057,7 +3237,8 @@ send mismatched packets::
 
 verify this packet not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule for tcp::
 
@@ -3091,9 +3272,11 @@ send mismatched packets::
 
 verify this packet not dropped
 
-* MAC_IPV4_NVGRE_IPV6_UDP_PAY (not support in 19.11)
+MAC_IPV4_NVGRE_IPV6_UDP_PAY (not support in 19.11)
+--------------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -3112,7 +3295,8 @@ send mismatched packets::
 
 verify these packets not to queue 2
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -3131,7 +3315,8 @@ send mismatched packets::
 
 verify these packets not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -3150,9 +3335,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_NVGRE_IPV6_TCP (not support in 19.11)
+MAC_IPV4_NVGRE_IPV6_TCP (not support in 19.11)
+----------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -3171,7 +3358,8 @@ send mismatched packets::
 
 verify these packets not to queue 1
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -3190,7 +3378,8 @@ send mismatched packets::
 
 verify these packets not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -3209,9 +3398,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_NVGRE_IPV6_SCTP (not support in 19.11)
+MAC_IPV4_NVGRE_IPV6_SCTP (not support in 19.11)
+-----------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -3230,7 +3421,8 @@ send mismatched packets::
 
 verify these packets not to queue 5
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -3249,7 +3441,8 @@ send mismatched packets::
 
 verify these packets not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -3268,9 +3461,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_NVGRE_IPV6_ICMPV6 (not support in 19.11)
+MAC_IPV4_NVGRE_IPV6_ICMPV6 (not support in 19.11)
+-------------------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -3288,7 +3483,8 @@ send mismatched packets::
 
 verify this packet not to queue 2
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -3306,7 +3502,8 @@ send mismatched packets::
 
 verify this packet not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -3347,9 +3544,11 @@ Test case: PPPOD non-pipeline mode
 
 2. create switch filter rules and verify
 
-* MAC_PPPOD_PAY
+MAC_PPPOD_PAY
+-------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create rules::
 
@@ -3367,7 +3566,8 @@ send mismatched packets::
 
 verify this packet not to queue 2
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -3385,7 +3585,8 @@ send mismatched packets::
 
 verify this packet not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -3426,9 +3627,11 @@ Test case: PPPOE non-pipeline mode
 
 2. create switch filter rules and verify
 
-* MAC_PPPOE_PAY
+MAC_PPPOE_PAY
+-------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create rules::
 
@@ -3446,7 +3649,8 @@ send mismatched packets::
 
 verify this packet not to queue 2
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -3464,7 +3668,8 @@ send mismatched packets::
 
 verify this packet not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -3482,9 +3687,11 @@ send mismatched packets::
 
 verify this packet not dropped
 
-* MAC_PPPOE_IPV4_PAY
+MAC_PPPOE_IPV4_PAY
+------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -3503,7 +3710,8 @@ send mismatched packets::
 
 verify this packet not to queue 1
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -3522,7 +3730,8 @@ send mismatched packets::
 
 verify this packet not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -3559,9 +3768,11 @@ Test case: IPv4/IPv6 + TCP/UDP pipeline mode
 
 1. create switch filter rules and verify
 
-* MAC_IPV4_FRAG
+MAC_IPV4_FRAG
+-------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -3600,7 +3811,8 @@ send mismatched packets::
 
 verify these packets not to queue 3
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -3639,7 +3851,8 @@ send mismatched packets::
 
   verify these packets not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -3678,9 +3891,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_PAY
+MAC_IPV4_PAY
+------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule for tcp::
 
@@ -3714,7 +3929,8 @@ send mismatched packets::
 
 verify this packet not to queue 2
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule for tcp::
 
@@ -3748,7 +3964,8 @@ send mismatched packets::
 
 verify this packet not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule for tcp::
 
@@ -3782,9 +3999,11 @@ send mismatched packets::
 
 verify this packet not dropped
 
-* MAC_IPV4_UDP_PAY
+MAC_IPV4_UDP_PAY
+----------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -3803,7 +4022,8 @@ send mismatched packets::
 
 verify these packets not to queue 2
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -3822,7 +4042,8 @@ send mismatched packets::
 
 verify these packets not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -3841,9 +4062,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_TCP
+MAC_IPV4_TCP
+------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -3862,7 +4085,8 @@ send mismatched packets::
 
 verify these packets not to queue 3
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -3881,7 +4105,8 @@ send mismatched packets::
 
 verify these packets not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -3900,9 +4125,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_SCTP (not support in 19.11)
+MAC_IPV4_SCTP (not support in 19.11)
+------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -3921,7 +4148,8 @@ send mismatched packets::
 
 verify these packets not to queue 4
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -3940,7 +4168,8 @@ send mismatched packets::
 
 verify these packets not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -3959,9 +4188,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV4_ICMP (not support in 19.11)
+MAC_IPV4_ICMP (not support in 19.11)
+------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -3979,7 +4210,8 @@ send mismatched packets::
 
 verify this packet not to queue 2
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -3997,7 +4229,8 @@ send mismatched packets::
 
 verify this packet not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -4015,9 +4248,10 @@ send mismatched packets::
 
 verify this packet not dropped
 
-* MAC_IPV6_FRAG
+MAC_IPV6_FRAG
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule with src ipv6 + dst ipv6::
 
@@ -4053,7 +4287,8 @@ send mismatched packets::
 
 verify these packets not to queue 3
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule with src ipv6 + dst ipv6::
 
@@ -4089,7 +4324,8 @@ send mismatched packets::
 
 verify these packets not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule with src ipv6 + dst ipv6::
 
@@ -4125,9 +4361,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV6_PAY (not support in 19.11)
+MAC_IPV6_PAY (not support in 19.11)
+-----------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule for tcp::
 
@@ -4161,7 +4399,8 @@ send mismatched packets::
 
 verify this packet not to queue 3
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule for tcp::
 
@@ -4195,7 +4434,8 @@ send mismatched packets::
 
 verify this packet not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule for tcp::
 
@@ -4229,9 +4469,11 @@ send mismatched packets::
 
 verify this packet not dropped
 
-* MAC_IPV6_UDP_PAY
+MAC_IPV6_UDP_PAY
+----------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -4250,7 +4492,8 @@ send mismatched packets::
 
 verify these packets not to queue 5
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -4269,7 +4512,8 @@ send mismatched packets::
 
 verify these packets not to queue 2 and 3
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -4288,9 +4532,11 @@ send mismatched packets::
 
 verify these packets not dropped
 
-* MAC_IPV6_TCP
+MAC_IPV6_TCP
+------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -4309,7 +4555,8 @@ send mismatched packets::
 
 verify these two packets not to queue 4
 
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -4328,7 +4575,8 @@ send mismatched packets::
 
 verify these two packets not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -4347,9 +4595,11 @@ send mismatched packets::
 
 verify these two packets not dropped
 
-* MAC_IPV6_SCTP (not support in 19.11)
+MAC_IPV6_SCTP (not support in 19.11)
+------------------------------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -4368,65 +4618,8 @@ send mismatched packets::
 
 verify these two packets not to queue 4
 
-2) to queue group action
-
-create a rule::
-
-  testpmd> flow create 0 priority 0 ingress pattern eth / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / sctp src is 25 dst is 23 / end actions rss queues 2 3 end / end
-
-send matched packets::
-
-  sendp([Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1515",dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/SCTP(sport=25,dport=23)/Raw('x'*80)],iface="enp27s0f2",count=1)
-
-verify this packet to queue 2 or 3
-
-send mismatched packets::
-
-  sendp([Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1515",dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/SCTP(sport=1,dport=23)/Raw('x'*80)],iface="enp27s0f2",count=1)
-  sendp([Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1515",dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/SCTP(sport=25,dport=9)/Raw('x'*80)],iface="enp27s0f2",count=1)
-
-verify these two packets not to queue 2 and 3
-
-3) drop action
-
-create a rule::
-
-  testpmd> flow create 0 priority 0 ingress pattern eth / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / sctp src is 25 dst is 23 / end actions drop / end
-
-send matched packets::
-
-  sendp([Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1515",dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/SCTP(sport=25,dport=23)/Raw('x'*80)],iface="enp27s0f2",count=1)
-
-verify this packet dropped
-
-send mismatched packets::
-
-  sendp([Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1515",dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/SCTP(sport=1,dport=23)/Raw('x'*80)],iface="enp27s0f2",count=1)
-  sendp([Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1515",dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/SCTP(sport=25,dport=9)/Raw('x'*80)],iface="enp27s0f2",count=1)
-
-verify these two packets not dropped
-
-* MAC_IPV6_ICMPV6 (not support in 19.11)
-
-1) to queue action
-
-create a rule::
-
-  testpmd> flow create 0 priority 0 ingress pattern eth / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / icmp type is 0x01 / end actions queue index 2 / end
-
-send matched packets::
-
-  sendp([Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1515",dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/ICMP(type=0x01)/Raw('x'*80)],iface="enp27s0f2",count=1)
-
-verify this packet to queue 2
-
-send mismatched packets::
-
-  sendp([Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1515",dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/ICMP(type=0x03)/Raw('x'*80)],iface="enp27s0f2",count=1)
-
-verify this packet not to queue 2
-
-2) to queue group action
+to queue group action
+^^^^^^^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -4444,7 +4637,8 @@ send mismatched packets::
 
 verify this packet not to queue 4 and 5
 
-3) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -4484,9 +4678,11 @@ Test case: IPv4/IPv6 + TCP/UDP non-pipeline mode
 
 2. create switch filter rules and verify
 
-* MAC_IPV4_PAY
+MAC_IPV4_PAY
+------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -4498,7 +4694,8 @@ send matched packets::
   
 verify these 100 packets to queue 4
 
-2) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -4510,9 +4707,11 @@ send matched packets::
   
 verify theses 100 packets dropped
 
-* MAC_IPV4_UDP_PAY
+MAC_IPV4_UDP_PAY
+----------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -4524,7 +4723,8 @@ send matched packets::
 
 verify these 100 packets to queue 2
 
-2) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -4536,9 +4736,11 @@ send matched packets::
  
 verify theses 100 packets dropped
 
-* MAC_IPV4_TCP_PAY
+MAC_IPV4_TCP_PAY
+----------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -4550,7 +4752,8 @@ send matched packets::
 
 verify these 100 packets to queue 3
 
-2) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -4563,9 +4766,11 @@ send matched packets::
 verify theses 100 packets dropped
  
 
-* MAC_IPV6_PAY
+MAC_IPV6_PAY
+------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -4577,7 +4782,8 @@ send matched packets::
 
 verify these 100 packets to queue 8
 
-2) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -4589,9 +4795,11 @@ send matched packets::
 
 verify theses 100 packets dropped
 
-* MAC_IPV6_FRAG
+MAC_IPV6_FRAG
+-------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -4603,7 +4811,8 @@ send matched packets::
 
 verify these 100 packets to queue 10
 
-2) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -4615,9 +4824,11 @@ send matched packets::
 
 verify theses 100 packets dropped
  
-* MAC_IPV6_UDP
+MAC_IPV6_UDP
+------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -4629,7 +4840,8 @@ send matched packets::
 
 verify these 100 packets to queue 6
 
-2) drop action
+drop action
+^^^^^^^^^^^
 
 create a rule::
 
@@ -4641,9 +4853,11 @@ send matched packets::
 
 verify theses 100 packets dropped
  
-* MAC_IPV6_TCP
+MAC_IPV6_TCP
+------------
 
-1) to queue action
+to queue action
+^^^^^^^^^^^^^^^
 
 create a rule::
 
@@ -4655,7 +4869,6 @@ send matched packets::
 
 verify these 100 packets to queue 12
 
-2) drop action
 
 create a rule::
 
-- 
1.8.3.1


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

end of thread, back to index

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-13 11:06 [dts] [PATCH] test_plans: fix format to beauty html pages Lijuan Tu
2020-01-13  3:14 ` Tu, Lijuan

test suite reviews and discussions

Archives are clonable:
	git clone --mirror http://inbox.dpdk.org/dts/0 dts/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dts dts/ http://inbox.dpdk.org/dts \
		dts@dpdk.org
	public-inbox-index dts


Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dts


AGPL code for this site: git clone https://public-inbox.org/ public-inbox