From 5dba3b9c4c131b88a78bcecfef39db23ebc47873 Mon Sep 17 00:00:00 2001 From: Kirill Rybalchenko Date: Thu, 23 Nov 2017 16:15:01 +0000 Subject: [PATCH] doc: describe raw mode of FDIR in testpmd Add description of raw flow type mode for flow_director_filter command in testpmd. Modify description of flow type parameter for functions set_hash_global_config, set_hash_input_set and set_fdir_input_set. Signed-off-by: Kirill Rybalchenko Acked-by: John McNamara Acked-by: Wenzhuo Lu --- doc/guides/testpmd_app_ug/testpmd_funcs.rst | 24 ++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst index 8721a68ced..1fc403fc9f 100644 --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst @@ -2694,12 +2694,22 @@ Perfect-tunnel filters, the match mode is set by the ``--pkt-filter-mode`` comma The hardware checks a match between the masked fields of the received packets and the programmed filters. The masked fields are for tunnel flow. +* Perfect-raw-flow-type match filters. + The hardware checks a match between the masked fields of the received packets and pre-loaded raw (template) packet. + The masked fields are specified by input sets. + The Flow Director filters can match the different fields for different type of packet: flow type, specific input set per flow type and the flexible payload. The Flow Director can also mask out parts of all of these fields so that filters are only applied to certain fields or parts of the fields. +Note that for raw flow type mode the source and destination fields in the +raw packet buffer need to be presented in a reversed order with respect +to the expected received packets. +For example: IP source and destination addresses or TCP/UDP/SCTP +source and destination ports + Different NICs may have different capabilities, command show port fdir (port_id) can be used to acquire the information. # Commands to add flow director filters of different flow types:: @@ -2746,6 +2756,10 @@ Different NICs may have different capabilities, command show port fdir (port_id) flexbytes (flexbytes_value) (drop|fwd) \ queue (queue_id) fd_id (fd_id_value) + flow_director_filter (port_id) mode raw (add|del|update) flow (flow_id) \ + (drop|fwd) queue (queue_id) fd_id (fd_id_value) \ + packet (packet file name) + For example, to add an ipv4-udp flow type filter:: testpmd> flow_director_filter 0 mode IP add flow ipv4-udp src 2.2.2.3 32 \ @@ -2860,7 +2874,7 @@ Set the global configurations of hash filters:: set_hash_global_config (port_id) (toeplitz|simple_xor|default) \ (ipv4|ipv4-frag|ipv4-tcp|ipv4-udp|ipv4-sctp|ipv4-other|ipv6|ipv6-frag| \ - ipv6-tcp|ipv6-udp|ipv6-sctp|ipv6-other|l2_payload) \ + ipv6-tcp|ipv6-udp|ipv6-sctp|ipv6-other|l2_payload|) \ (enable|disable) For example, to enable simple_xor for flow type of ipv6 on port 2:: @@ -2874,8 +2888,8 @@ Set the input set for hash:: set_hash_input_set (port_id) (ipv4-frag|ipv4-tcp|ipv4-udp|ipv4-sctp| \ ipv4-other|ipv6-frag|ipv6-tcp|ipv6-udp|ipv6-sctp|ipv6-other| \ - l2_payload) (ovlan|ivlan|src-ipv4|dst-ipv4|src-ipv6|dst-ipv6|ipv4-tos| \ - ipv4-proto|ipv6-tc|ipv6-next-header|udp-src-port|udp-dst-port| \ + l2_payload|) (ovlan|ivlan|src-ipv4|dst-ipv4|src-ipv6|dst-ipv6| \ + ipv4-tos|ipv4-proto|ipv6-tc|ipv6-next-header|udp-src-port|udp-dst-port| \ tcp-src-port|tcp-dst-port|sctp-src-port|sctp-dst-port|sctp-veri-tag| \ udp-key|gre-key|fld-1st|fld-2nd|fld-3rd|fld-4th|fld-5th|fld-6th|fld-7th| \ fld-8th|none) (select|add) @@ -2894,8 +2908,8 @@ Set the input set for flow director:: set_fdir_input_set (port_id) (ipv4-frag|ipv4-tcp|ipv4-udp|ipv4-sctp| \ ipv4-other|ipv6|ipv6-frag|ipv6-tcp|ipv6-udp|ipv6-sctp|ipv6-other| \ - l2_payload) (ivlan|ethertype|src-ipv4|dst-ipv4|src-ipv6|dst-ipv6|ipv4-tos| \ - ipv4-proto|ipv4-ttl|ipv6-tc|ipv6-next-header|ipv6-hop-limits| \ + l2_payload|) (ivlan|ethertype|src-ipv4|dst-ipv4|src-ipv6|dst-ipv6| \ + ipv4-tos|ipv4-proto|ipv4-ttl|ipv6-tc|ipv6-next-header|ipv6-hop-limits| \ tudp-src-port|udp-dst-port|cp-src-port|tcp-dst-port|sctp-src-port| \ sctp-dst-port|sctp-veri-tag|none) (select|add) -- 2.20.1