From: "Qiu, Michael" <michael.qiu@intel.com> To: "Liu, Jijiang" <jijiang.liu@intel.com>, "dev@dpdk.org" <dev@dpdk.org> Subject: Re: [dpdk-dev] [PATCH v3 0/3] enhance TX checksum command and csum forwarding engine Date: Wed, 7 Jan 2015 13:06:09 +0000 Message-ID: <533710CFB86FA344BFBF2D6802E60286CA4DB9@SHSMSX101.ccr.corp.intel.com> (raw) In-Reply-To: <1418173403-30202-1-git-send-email-jijiang.liu@intel.com> On 12/10/2014 9:04 AM, Jijiang Liu wrote: > In the current codes, the "tx_checksum set (ip|udp|tcp|sctp|vxlan) (hw|sw) (port-id)" command is not easy to understand and extend, so the patch set enhances the tx_checksum command and reworks csum forwarding engine due to the change of tx_checksum command. > The main changes of the tx_checksum command are listed below, > > 1> add "tx_checksum set tunnel (hw|sw|none) (port-id)" command > > The command is used to set/clear tunnel flag that is used to tell the NIC that the packetg is a tunneing packet and application want hardware TX checksum offload for outer layer, or inner layer, or both. > > The 'none' option means that user treat tunneling packet as ordinary packet when using the csum forward engine. > for example, let say we have a tunnel packet: eth_hdr_out/ipv4_hdr_out/udp_hdr_out/vxlan_hdr/ehtr_hdr_in/ipv4_hdr_in/tcp_hdr_in. one of several scenarios: > > 1) User requests HW offload for ipv4_hdr_out checksum, and doesn't care is it a tunnelled packet or not. So he sets: > > tx_checksum set tunnel none 0 > > tx_checksum set ip hw 0 Hi Jijiang, I have one question, you know lots of command need port-id field like here, why we do not put port-id just after the command? like below: tx_checksum (port-id) set tunnel (hw|sw|none) Then for users, if we do not care whether it is a tunneling packet, we just ignore the field after port-id. tx_checksum (port-id) For code it maybe simpler to praise command, and better for user. What all I mean is, we can put the required parameters just close the command and put the optional parameters(or can be optional) at the end of the command line. (Command) (required parameter) (optional parameters) Thus, it would be a better user experience. But just personal idea. Thanks, Michael > > So for such case we should set tx_tunnel to 'none'. > > 2> add "tx_checksum set outer-ip (hw|sw) (port-id)" command > > The command is used to set/clear outer IP flag that is used to tell the NIC that application want hardware offload for outer layer. > > 3> remove the 'vxlan' option from the "tx_checksum set (ip|udp|tcp|sctp|vxlan) (hw|sw) (port-id)" command > > The command is used to set IP, UDP, TCP and SCTP TX checksum flag. In the case of tunneling packet, the IP, UDP, TCP and SCTP flags always concern inner layer. > > Moreover, replace the TESTPMD_TX_OFFLOAD_VXLAN_CKSUM flag with TESTPMD_TX_OFFLOAD_TUNNEL_CKSUM flag and add the TESTPMD_TX_OFFLOAD_OUTER_IP_CKSUM and TESTPMD_TX_OFFLOAD_NON_TUNNEL_CKSUM flag in test-pmd application. > > v2 change: > redefine the 'none' behaviour for "tx_checksum set tunnel (hw|sw|none) (port-id)" command. > v3 change: > typo correction in cmdline help > > Jijiang Liu (3): > add outer IP offload capability in librte_ether. > add outer IP checksum capability in i40e PMD > testpmd command lines of the tx_checksum and csum forwarding rework > > app/test-pmd/cmdline.c | 201 +++++++++++++++++++++++++++++++++++-- > app/test-pmd/csumonly.c | 35 ++++--- > app/test-pmd/testpmd.h | 6 +- > lib/librte_ether/rte_ethdev.h | 1 + > lib/librte_pmd_i40e/i40e_ethdev.c | 3 +- > 5 files changed, 218 insertions(+), 28 deletions(-) >
prev parent reply other threads:[~2015-01-07 13:06 UTC|newest] Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-12-10 1:03 Jijiang Liu 2014-12-10 1:03 ` [dpdk-dev] [PATCH v3 1/3] librte_ether:add outer IP offload capability flag Jijiang Liu 2014-12-11 10:33 ` Olivier MATZ 2014-12-10 1:03 ` [dpdk-dev] [PATCH v3 2/3] i40e:support outer IPv4 checksum capability Jijiang Liu 2014-12-11 10:34 ` Olivier MATZ 2014-12-10 1:03 ` [dpdk-dev] [PATCH v3 3/3] app/testpmd:change tx_checksum command and csum forwarding engine Jijiang Liu 2014-12-11 10:52 ` Olivier MATZ 2014-12-12 4:06 ` Liu, Jijiang 2014-12-11 10:17 ` [dpdk-dev] [PATCH v3 0/3] enhance TX checksum " Olivier MATZ 2014-12-12 3:48 ` Liu, Jijiang 2014-12-12 16:33 ` Olivier MATZ 2015-01-07 2:03 ` Liu, Jijiang 2015-01-07 9:59 ` Ananyev, Konstantin 2015-01-07 11:39 ` Liu, Jijiang 2015-01-07 12:07 ` Ananyev, Konstantin 2015-01-08 8:51 ` Liu, Jijiang 2015-01-08 10:54 ` Ananyev, Konstantin 2015-01-09 10:45 ` Olivier MATZ 2015-01-12 3:41 ` Liu, Jijiang 2015-01-12 11:43 ` Olivier MATZ 2015-01-13 3:04 ` Liu, Jijiang 2015-01-13 9:55 ` Olivier MATZ 2015-01-14 3:01 ` Liu, Jijiang 2015-01-15 13:31 ` Ananyev, Konstantin 2015-01-16 17:27 ` Olivier MATZ 2015-01-19 13:04 ` Ananyev, Konstantin 2015-01-19 14:38 ` Olivier MATZ 2015-01-20 1:12 ` Ananyev, Konstantin 2015-01-20 12:39 ` Olivier MATZ 2015-01-20 15:18 ` Thomas Monjalon 2015-01-20 17:10 ` Stephen Hemminger 2015-01-20 17:23 ` Ananyev, Konstantin 2015-01-20 18:15 ` Olivier MATZ 2015-01-21 3:12 ` Liu, Jijiang 2015-01-21 15:25 ` Olivier MATZ 2015-01-21 16:28 ` Ananyev, Konstantin 2015-01-21 17:13 ` Olivier MATZ 2015-01-26 4:13 ` Ananyev, Konstantin 2015-01-26 6:02 ` Liu, Jijiang 2015-01-26 14:07 ` Olivier MATZ 2015-01-26 14:15 ` Ananyev, Konstantin 2015-01-27 8:34 ` Olivier MATZ 2015-01-27 15:26 ` Ananyev, Konstantin 2015-01-21 19:44 ` Stephen Hemminger 2015-01-22 1:40 ` Liu, Jijiang 2015-01-21 8:01 ` Liu, Jijiang 2015-01-21 9:10 ` Olivier MATZ 2015-01-21 11:52 ` Ananyev, Konstantin 2015-01-07 13:06 ` Qiu, Michael [this message]
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=533710CFB86FA344BFBF2D6802E60286CA4DB9@SHSMSX101.ccr.corp.intel.com \ --to=michael.qiu@intel.com \ --cc=dev@dpdk.org \ --cc=jijiang.liu@intel.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
DPDK patches and discussions This inbox may be cloned and mirrored by anyone: git clone --mirror https://inbox.dpdk.org/dev/0 dev/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 dev dev/ https://inbox.dpdk.org/dev \ dev@dpdk.org public-inbox-index dev Example config snippet for mirrors. Newsgroup available over NNTP: nntp://inbox.dpdk.org/inbox.dpdk.dev AGPL code for this site: git clone https://public-inbox.org/public-inbox.git