From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id D67C41B627; Wed, 31 Jan 2018 03:22:05 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Jan 2018 18:22:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,437,1511856000"; d="scan'208";a="27609096" Received: from kmsmsx151.gar.corp.intel.com ([172.21.73.86]) by orsmga001.jf.intel.com with ESMTP; 30 Jan 2018 18:22:03 -0800 Received: from pgsmsx110.gar.corp.intel.com (10.221.44.111) by KMSMSX151.gar.corp.intel.com (172.21.73.86) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 31 Jan 2018 10:22:02 +0800 Received: from pgsmsx103.gar.corp.intel.com ([169.254.2.31]) by PGSMSX110.gar.corp.intel.com ([169.254.13.90]) with mapi id 14.03.0319.002; Wed, 31 Jan 2018 10:22:02 +0800 From: "Zhao1, Wei" To: Ori Kam , "dev@dpdk.org" CC: "stable@dpdk.org" , "Mcnamara, John" Thread-Topic: [PATCH v2] doc: update flow filting document Thread-Index: AQHTmZ9GwKvonQr2MUmCo/Z3mb9c1qOLnlYAgAGil2A= Date: Wed, 31 Jan 2018 02:22:01 +0000 Message-ID: References: <20180130073240.114479-1-wei.zhao1@intel.com> <20180130074431.116094-1-wei.zhao1@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [172.30.20.205] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v2] doc: update flow filting document X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Jan 2018 02:22:06 -0000 Hi, Ori Kam A new v3 has been committed just now, thank you for your review work. https://dpdk.org/dev/patchwork/patch/34742/ > -----Original Message----- > From: Ori Kam [mailto:orika@mellanox.com] > Sent: Tuesday, January 30, 2018 5:22 PM > To: Zhao1, Wei ; dev@dpdk.org > Cc: stable@dpdk.org; Mcnamara, John > Subject: RE: [PATCH v2] doc: update flow filting document >=20 > Hi Wei, >=20 > You have a typo in the patch subject and comment, It should be filtering >=20 >=20 > Ori > > -----Original Message----- > > From: Wei Zhao [mailto:wei.zhao1@intel.com] > > Sent: Tuesday, January 30, 2018 9:45 AM > > To: dev@dpdk.org > > Cc: Ori Kam ; stable@dpdk.org; > > john.mcnamara@intel.com; Wei Zhao > > Subject: [PATCH v2] doc: update flow filting document > > > > This patch will update example application of flow_filting document. > > It add Tx queues configuration related comment. > > > > Signed-off-by: Wei Zhao > > > > --- > > > > v2: > > -change code indentation style. > > --- > > doc/guides/sample_app_ug/flow_filtering.rst | 108 > ++++++++++++++++++- > > --------- > > 1 file changed, 72 insertions(+), 36 deletions(-) > > > > diff --git a/doc/guides/sample_app_ug/flow_filtering.rst > > b/doc/guides/sample_app_ug/flow_filtering.rst > > index 725dcb4..b4a1dd7 100644 > > --- a/doc/guides/sample_app_ug/flow_filtering.rst > > +++ b/doc/guides/sample_app_ug/flow_filtering.rst > > @@ -167,44 +167,65 @@ application is shown below: > > struct rte_eth_conf port_conf =3D { > > .rxmode =3D { > > .split_hdr_size =3D 0, > > - /**< Header Split disabled */ > > - .header_split =3D 0, > > - /**< IP checksum offload disabled */ > > - .hw_ip_checksum =3D 0, > > - /**< VLAN filtering disabled */ > > - .hw_vlan_filter =3D 0, > > - /**< Jumbo Frame Support disabled */ > > - .jumbo_frame =3D 0, > > - /**< CRC stripped by hardware */ > > - .hw_strip_crc =3D 1, > > + .ignore_offload_bitfield =3D 1, > > + .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > > + }, > > + .txmode =3D { > > + .offloads =3D > > + DEV_TX_OFFLOAD_VLAN_INSERT | > > + DEV_TX_OFFLOAD_IPV4_CKSUM | > > + DEV_TX_OFFLOAD_UDP_CKSUM | > > + DEV_TX_OFFLOAD_TCP_CKSUM | > > + DEV_TX_OFFLOAD_SCTP_CKSUM | > > + DEV_TX_OFFLOAD_TCP_TSO, > > }, > > }; > > + struct rte_eth_txconf txq_conf; > > + struct rte_eth_rxconf rxq_conf; > > + struct rte_eth_dev_info dev_info; > > > > printf(":: initializing port: %d\n", port_id); > > ret =3D rte_eth_dev_configure(port_id, > > - nr_queues, nr_queues, &port_conf); > > + nr_queues, nr_queues, &port_conf); > > if (ret < 0) { > > rte_exit(EXIT_FAILURE, > > ":: cannot configure device: err=3D%d, port= =3D%u\n", > > ret, port_id); > > } > > > > + rte_eth_dev_info_get(port_id, &dev_info); > > + rxq_conf =3D dev_info.default_rxconf; > > + rxq_conf.offloads =3D port_conf.rxmode.offloads; > > /* only set Rx queues: something we care only so far */ > > for (i =3D 0; i < nr_queues; i++) { > > ret =3D rte_eth_rx_queue_setup(port_id, i, 512, > > - rte_eth_dev_socket_id(port_id)= , > > - NULL, > > - mbuf_pool); > > + rte_eth_dev_socket_id(port_id), > > + &rxq_conf, > > + mbuf_pool); > > if (ret < 0) { > > - rte_exit(EXIT_FAILURE, > > - ":: Rx queue setup failed: err=3D%d, por= t=3D%u\n", > > - ret, port_id); > > + rte_exit(EXIT_FAILURE, > > + ":: Rx queue setup failed: err=3D%= d, > > + port=3D%u\n", > > + ret, port_id); > > } > > } > > > > + txq_conf =3D dev_info.default_txconf; > > + txq_conf.offloads =3D port_conf.txmode.offloads; > > > > - rte_eth_promiscuous_enable(port_id); > > + for (i =3D 0; i < nr_queues; i++) { > > + ret =3D rte_eth_tx_queue_setup(port_id, i, 512, > > + rte_eth_dev_socket_id(port_id), > > + &txq_conf); > > + if (ret < 0) { > > + rte_exit(EXIT_FAILURE, > > + ":: Tx queue setup failed: err=3D%d= , > > + port=3D%u\n", > > + ret, port_id); > > + } > > + } > > > > + rte_eth_promiscuous_enable(port_id); > > ret =3D rte_eth_dev_start(port_id); > > if (ret < 0) { > > rte_exit(EXIT_FAILURE, @@ -223,20 +244,21 @@ The Et= hernet > port > > is configured with default settings using the .. code-block:: c > > > > struct rte_eth_conf port_conf =3D { > > - .rxmode =3D { > > - .split_hdr_size =3D 0, > > - /**< Header Split disabled */ > > - .header_split =3D 0, > > - /**< IP checksum offload disabled */ > > - .hw_ip_checksum =3D 0, > > - /**< VLAN filtering disabled */ > > - .hw_vlan_filter =3D 0, > > - /**< Jumbo Frame Support disabled */ > > - .jumbo_frame =3D 0, > > - /**< CRC stripped by hardware */ > > - .hw_strip_crc =3D 1, > > - }, > > - }; > > + .rxmode =3D { > > + .split_hdr_size =3D 0, > > + .ignore_offload_bitfield =3D 1, > > + .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > > + }, > > + .txmode =3D { > > + .offloads =3D > > + DEV_TX_OFFLOAD_VLAN_INSERT | > > + DEV_TX_OFFLOAD_IPV4_CKSUM | > > + DEV_TX_OFFLOAD_UDP_CKSUM | > > + DEV_TX_OFFLOAD_TCP_CKSUM | > > + DEV_TX_OFFLOAD_SCTP_CKSUM | > > + DEV_TX_OFFLOAD_TCP_TSO, > > + }, > > + }; > > > > ret =3D rte_eth_dev_configure(port_id, nr_queues, nr_queues, > > &port_conf); > > if (ret < 0) { > > @@ -244,23 +266,37 @@ The Ethernet port is configured with default > > settings using the > > ":: cannot configure device: err=3D%d, port=3D%u\n", > > ret, port_id); > > } > > + rte_eth_dev_info_get(port_id, &dev_info); > > + rxq_conf =3D dev_info.default_rxconf; > > + rxq_conf.offloads =3D port_conf.rxmode.offloads; > > > > -For this example we are configuring number of rx queues that are > > connected to -a single port. > > +For this example we are configuring number of rx and tx queues that ar= e > > +connected to a single port. > > > > .. code-block:: c > > > > for (i =3D 0; i < nr_queues; i++) { > > ret =3D rte_eth_rx_queue_setup(port_id, i, 512, > > rte_eth_dev_socket_id(port_id), > > - NULL, > > + &rxq_conf, > > mbuf_pool); > > if (ret < 0) { > > rte_exit(EXIT_FAILURE, > > ":: Rx queue setup failed: err=3D%d, port=3D= %u\n", > > ret, port_id); > > } > > - } > > + } > > + > > + for (i =3D 0; i < nr_queues; i++) { > > + ret =3D rte_eth_tx_queue_setup(port_id, i, 512, > > + rte_eth_dev_socket_id(port_id), > > + &txq_conf); > > + if (ret < 0) { > > + rte_exit(EXIT_FAILURE, > > + ":: Tx queue setup failed: err=3D%d, port= =3D%u\n", > > + ret, port_id); > > + } > > + } > > > > In the next step we create and apply the flow rule. which is to send > packets > > with destination ip equals to 192.168.1.1 to queue number 1. The detail > > -- > > 2.9.3