From patchwork Fri Nov 6 07:49:30 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wenzhuo Lu X-Patchwork-Id: 8749 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id E751F5A6C; Fri, 6 Nov 2015 08:49:39 +0100 (CET) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 73A1C5682 for ; Fri, 6 Nov 2015 08:49:38 +0100 (CET) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga101.jf.intel.com with ESMTP; 05 Nov 2015 23:49:37 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,251,1444719600"; d="scan'208";a="813120854" Received: from shvmail01.sh.intel.com ([10.239.29.42]) by orsmga001.jf.intel.com with ESMTP; 05 Nov 2015 23:49:36 -0800 Received: from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com [10.239.29.89]) by shvmail01.sh.intel.com with ESMTP id tA67nZVI009428; Fri, 6 Nov 2015 15:49:35 +0800 Received: from shecgisg004.sh.intel.com (localhost [127.0.0.1]) by shecgisg004.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP id tA67nVgK001316; Fri, 6 Nov 2015 15:49:33 +0800 Received: (from wenzhuol@localhost) by shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id tA67nV0e001312; Fri, 6 Nov 2015 15:49:31 +0800 From: Wenzhuo Lu To: dev@dpdk.org Date: Fri, 6 Nov 2015 15:49:30 +0800 Message-Id: <1446796170-1282-1-git-send-email-wenzhuo.lu@intel.com> X-Mailer: git-send-email 1.7.4.1 Subject: [dpdk-dev] [PATCH] app/testpmd: fix wrong fdir help and doc X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 c637198..2d43efa 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 4fb1e0b..c850e48 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 \