From 2892fcc14e9b25e03b5f1fe3d62350685fcd2b07 Mon Sep 17 00:00:00 2001 From: Wenzhuo Lu Date: Fri, 6 Nov 2015 15:49:30 +0800 Subject: [PATCH] app/testpmd: fix flow director help and doc After implementing the fdir new modes for x550, the CLIs are modified. Forgot to update the related help info and doc. Fixes: 53b2bb9b7ea7 ("app/testpmd: new flow director commands") Signed-off-by: Wenzhuo Lu Acked-by: Pablo de Lara --- app/test-pmd/cmdline.c | 35 +++++++++++++++--- doc/guides/testpmd_app_ug/testpmd_funcs.rst | 41 +++++++++++++++++---- 2 files changed, 63 insertions(+), 13 deletions(-) diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index c637198e7e..2d43efaff4 100644 --- a/app/test-pmd/cmdline.c +++ b/app/test-pmd/cmdline.c @@ -629,7 +629,7 @@ static void cmd_help_long_parsed(void *parsed_result, " priority (prio_value) queue (queue_id)\n" " Add/Del a flex filter.\n\n" - "flow_director_filter (port_id) (add|del|update)" + "flow_director_filter (port_id) mode IP (add|del|update)" " flow (ipv4-other|ipv4-frag|ipv6-other|ipv6-frag)" " src (src_ip_address) dst (dst_ip_address)" " vlan (vlan_value) flexbytes (flexbytes_value)" @@ -637,7 +637,7 @@ static void cmd_help_long_parsed(void *parsed_result, " fd_id (fd_id_value)\n" " Add/Del an IP type flow director filter.\n\n" - "flow_director_filter (port_id) (add|del|update)" + "flow_director_filter (port_id) mode IP (add|del|update)" " flow (ipv4-tcp|ipv4-udp|ipv6-tcp|ipv6-udp)" " src (src_ip_address) (src_port)" " dst (dst_ip_address) (dst_port)" @@ -646,7 +646,7 @@ static void cmd_help_long_parsed(void *parsed_result, " fd_id (fd_id_value)\n" " Add/Del an UDP/TCP type flow director filter.\n\n" - "flow_director_filter (port_id) (add|del|update)" + "flow_director_filter (port_id) mode IP (add|del|update)" " flow (ipv4-sctp|ipv6-sctp)" " src (src_ip_address) (src_port)" " dst (dst_ip_address) (dst_port)" @@ -655,19 +655,42 @@ static void cmd_help_long_parsed(void *parsed_result, " pf|vf(vf_id) queue (queue_id) fd_id (fd_id_value)\n" " Add/Del a SCTP type flow director filter.\n\n" - "flow_director_filter (port_id) (add|del|update)" + "flow_director_filter (port_id) mode IP (add|del|update)" " flow l2_payload ether (ethertype)" " flexbytes (flexbytes_value) (drop|fwd)" " pf|vf(vf_id) queue (queue_id) fd_id (fd_id_value)\n" " Add/Del a l2 payload type flow director filter.\n\n" + "flow_director_filter (port_id) mode MAC-VLAN (add|del|update)" + " mac (mac_address) vlan (vlan_value)" + " flexbytes (flexbytes_value) (drop|fwd)" + " queue (queue_id) fd_id (fd_id_value)\n" + " Add/Del a MAC-VLAN flow director filter.\n\n" + + "flow_director_filter (port_id) mode Tunnel (add|del|update)" + " mac (mac_address) vlan (vlan_value)" + " tunnel (NVGRE|VxLAN) tunnel-id (tunnel_id_value)" + " flexbytes (flexbytes_value) (drop|fwd)" + " queue (queue_id) fd_id (fd_id_value)\n" + " Add/Del a Tunnel flow director filter.\n\n" + "flush_flow_director (port_id)\n" " Flush all flow director entries of a device.\n\n" - "flow_director_mask (port_id) vlan (vlan_value)" + "flow_director_mask (port_id) mode IP vlan (vlan_value)" " src_mask (ipv4_src) (ipv6_src) (src_port)" " dst_mask (ipv4_dst) (ipv6_dst) (dst_port)\n" - " Set flow director mask.\n\n" + " Set flow director IP mask.\n\n" + + "flow_director_mask (port_id) mode MAC-VLAN" + " vlan (vlan_value) mac (mac_value)\n" + " Set flow director MAC-VLAN mask.\n\n" + + "flow_director_mask (port_id) mode Tunnel" + " vlan (vlan_value) mac (mac_value)" + " tunnel-type (tunnel_type_value)" + " tunnel-id (tunnel_id_value)\n" + " Set flow director Tunnel mask.\n\n" "flow_director_flex_mask (port_id)" " flow (none|ipv4-other|ipv4-frag|ipv4-tcp|ipv4-udp|ipv4-sctp|" diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst index 4fb1e0b164..c850e486cb 100644 --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst @@ -1623,15 +1623,24 @@ flow_director_filter The Flow Director works in receive mode to identify specific flows or sets of flows and route them to specific queues. -Two types of filtering are supported which are referred to as Perfect Match and Signature filters, the match mode -is set by the ``--pkt-filter-mode`` command-line parameter: +Four types of filtering are supported which are referred to as Perfect Match, Signature, Perfect-mac-vlan and +Perfect-tunnel filters, the match mode is set by the ``--pkt-filter-mode`` command-line parameter: * Perfect match filters. The hardware checks a match between the masked fields of the received packets and the programmed filters. + The masked fields are for IP flow. * Signature filters. The hardware checks a match between a hash-based signature of the masked fields of the received packet. +* Perfect-mac-vlan match filters. + The hardware checks a match between the masked fields of the received packets and the programmed filters. + The masked fields are for MAC VLAN flow. + +* Perfect-tunnel match filters. + The hardware checks a match between the masked fields of the received packets and the programmed filters. + The masked fields are for tunnel flow. + 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. @@ -1642,14 +1651,14 @@ Different NICs may have different capabilities, command show port fdir (port_id) # Commands to add flow director filters of different flow types:: - flow_director_filter (port_id) (add|del|update) \ + flow_director_filter (port_id) mode IP (add|del|update) \ flow (ipv4-other|ipv4-frag|ipv6-other|ipv6-frag) src (src_ip_address) dst (dst_ip_address) \ vlan (vlan_value) flexbytes (flexbytes_value) \ (drop|fwd) pf|vf(vf_id) queue (queue_id) \ fd_id (fd_id_value) - flow_director_filter (port_id) (add|del|update) \ + flow_director_filter (port_id) mode IP (add|del|update) \ flow (ipv4-tcp|ipv4-udp|ipv6-tcp|ipv6-udp) \ src (src_ip_address) (src_port) \ dst (dst_ip_address) (dst_port) \ @@ -1657,7 +1666,7 @@ Different NICs may have different capabilities, command show port fdir (port_id) (drop|fwd) queue pf|vf(vf_id) (queue_id) \ fd_id (fd_id_value) - flow_director_filter (port_id) (add|del|update) \ + flow_director_filter (port_id) mode IP (add|del|update) \ flow (ipv4-sctp|ipv6-sctp) \ src (src_ip_address) (src_port) \ dst (dst_ip_address) (dst_port) @@ -1665,11 +1674,22 @@ Different NICs may have different capabilities, command show port fdir (port_id) flexbytes (flexbytes_value) (drop|fwd) \ pf|vf(vf_id) queue (queue_id) fd_id (fd_id_value) - flow_director_filter (port_id) (add|del|update) flow l2_payload \ + flow_director_filter (port_id) mode IP (add|del|update) flow l2_payload \ ether (ethertype) flexbytes (flexbytes_value) \ (drop|fwd) pf|vf(vf_id) queue (queue_id) fd_id (fd_id_value) + flow_director_filter (port_id) mode MAC-VLAN (add|del|update) \ + mac (mac_address) vlan (vlan_value) \ + flexbytes (flexbytes_value) (drop|fwd) \ + queue (queue_id) fd_id (fd_id_value) + + flow_director_filter (port_id) mode Tunnel (add|del|update) \ + mac (mac_address) vlan (vlan_value) \ + tunnel (NVGRE|VxLAN) tunnel-id (tunnel_id_value) \ + flexbytes (flexbytes_value) (drop|fwd) \ + queue (queue_id) fd_id (fd_id_value) + For example, to add an ipv4-udp flow type filter:: testpmd> flow_director_filter 0 add flow ipv4-udp src 2.2.2.3 32 \ @@ -1696,10 +1716,17 @@ flow_director_mask Set flow director's input masks:: - flow_director_mask (port_id) vlan (vlan_value) \ + flow_director_mask (port_id) mode IP vlan (vlan_value) \ src_mask (ipv4_src) (ipv6_src) (src_port) \ dst_mask (ipv4_dst) (ipv6_dst) (dst_port) + flow_director_mask (port_id) mode MAC-VLAN vlan (vlan_value) \ + mac (mac_value) + + flow_director_mask (port_id) mode Tunnel vlan (vlan_value) \ + mac (mac_value) tunnel-type (tunnel_type_value) \ + tunnel-id (tunnel_id_value) + Example, to set flow director mask on port 0:: testpmd> flow_director_mask 0 vlan 0xefff \