From: SteveX Yang <stevex.yang@intel.com> To: dev@dpdk.org Cc: wei.zhao1@intel.com, jia.guo@intel.com, qiming.yang@intel.com, qi.z.zhang@intel.com, jingjing.wu@intel.com, beilei.xing@intel.com, konstantin.ananyev@intel.com, SteveX Yang <stevex.yang@intel.com> Subject: [dpdk-dev] [PATCH v2 4/5] net/i40e: fix max mtu size packets with vlan tag cannot be received by default Date: Tue, 22 Sep 2020 01:23:37 +0000 Message-ID: <20200922012338.11277-5-stevex.yang@intel.com> (raw) In-Reply-To: <20200922012338.11277-1-stevex.yang@intel.com> testpmd will initialize default max packet length to 1518 which doesn't include vlan tag size in ether overheader. Once, send the max mtu length packet with vlan tag, the max packet length will exceed 1518 that will cause packets dropped directly from NIC hw side. But for i40e/i40evf, they should support dual vlan tags that need more 8 bytes for max packet size, so, configure the correct max packet size in dev_config ops. Fixes: ff8282f4bbcd ("net/i40e: consider QinQ when setting MTU") Signed-off-by: SteveX Yang <stevex.yang@intel.com> --- drivers/net/i40e/i40e_ethdev.c | 5 +++++ drivers/net/i40e/i40e_ethdev_vf.c | 11 +++++++++++ 2 files changed, 16 insertions(+) diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index 563f21d9d..023c86d66 100644 --- a/drivers/net/i40e/i40e_ethdev.c +++ b/drivers/net/i40e/i40e_ethdev.c @@ -1930,6 +1930,11 @@ i40e_dev_configure(struct rte_eth_dev *dev) ad->tx_simple_allowed = true; ad->tx_vec_allowed = true; + /* Considering QinQ packet, max frame size should be MTU and + * corresponding ether overhead. + */ + i40e_dev_mtu_set(dev, dev->data->mtu); + if (dev->data->dev_conf.rxmode.mq_mode & ETH_MQ_RX_RSS_FLAG) dev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_RSS_HASH; diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c index 8531cf6b1..b268b3d00 100644 --- a/drivers/net/i40e/i40e_ethdev_vf.c +++ b/drivers/net/i40e/i40e_ethdev_vf.c @@ -1669,6 +1669,7 @@ i40evf_dev_configure(struct rte_eth_dev *dev) I40E_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private); uint16_t num_queue_pairs = RTE_MAX(dev->data->nb_rx_queues, dev->data->nb_tx_queues); + struct rte_eth_rxmode *rxmode = &dev->data->dev_conf.rxmode; /* Initialize to TRUE. If any of Rx queues doesn't meet the bulk * allocation or vector Rx preconditions we will reset it. @@ -1681,6 +1682,16 @@ i40evf_dev_configure(struct rte_eth_dev *dev) dev->data->dev_conf.intr_conf.lsc = !!(dev->data->dev_flags & RTE_ETH_DEV_INTR_LSC); + + /* Considering QinQ packet, max frame size should be MTU and + * corresponding ether overhead. + */ + if (dev->data->mtu == RTE_ETHER_MTU && + rxmode->max_rx_pkt_len == RTE_ETHER_MAX_LEN) { + rxmode->max_rx_pkt_len = RTE_ETHER_MTU + I40E_ETH_OVERHEAD; + rxmode->offloads |= DEV_RX_OFFLOAD_JUMBO_FRAME; + } + if (num_queue_pairs > vf->vsi_res->num_queue_pairs) { struct i40e_hw *hw; int ret; -- 2.17.1
next prev parent reply other threads:[~2020-09-22 1:43 UTC|newest] Thread overview: 94+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-09-16 5:52 [dpdk-dev] [PATCH v1 0/5] fix default max mtu size when device configured SteveX Yang 2020-09-16 5:52 ` [dpdk-dev] [PATCH v1 1/5] net/e1000: fix max mtu size packets with vlan tag cannot be received by default SteveX Yang 2020-09-16 5:52 ` [dpdk-dev] [PATCH v1 2/5] net/igc: " SteveX Yang 2020-09-16 5:52 ` [dpdk-dev] [PATCH v1 3/5] net/ice: " SteveX Yang 2020-09-16 5:52 ` [dpdk-dev] [PATCH v1 4/5] net/iavf: " SteveX Yang 2020-09-16 5:52 ` [dpdk-dev] [PATCH v1 5/5] net/i40e: " SteveX Yang 2020-09-16 14:41 ` Ananyev, Konstantin [not found] ` <DM6PR11MB4362E5FF332551D12AA20017F93E0@DM6PR11MB4362.namprd11.prod.outlook.com> 2020-09-17 12:18 ` Ananyev, Konstantin 2020-09-22 1:23 ` [dpdk-dev] [PATCH v2 0/5] fix default max mtu size when device configured SteveX Yang 2020-09-22 1:23 ` [dpdk-dev] [PATCH v2 1/5] net/e1000: fix max mtu size packets with vlan tag cannot be received by default SteveX Yang 2020-09-22 1:23 ` [dpdk-dev] [PATCH v2 2/5] net/igc: " SteveX Yang 2020-09-22 1:23 ` [dpdk-dev] [PATCH v2 3/5] net/ice: " SteveX Yang 2020-09-22 1:23 ` SteveX Yang [this message] 2020-09-22 10:47 ` [dpdk-dev] [PATCH v2 4/5] net/i40e: " Ananyev, Konstantin 2020-09-22 1:23 ` [dpdk-dev] [PATCH v2 5/5] net/iavf: " SteveX Yang 2020-09-23 4:09 ` [dpdk-dev] [PATCH v3 0/5] fix default max mtu size when device configured SteveX Yang 2020-09-23 4:09 ` [dpdk-dev] [PATCH v3 1/5] net/e1000: fix max mtu size packets with vlan tag cannot be received by default SteveX Yang 2020-09-23 4:09 ` [dpdk-dev] [PATCH v3 2/5] net/igc: " SteveX Yang 2020-09-23 4:09 ` [dpdk-dev] [PATCH v3 3/5] net/ice: " SteveX Yang 2020-09-23 4:09 ` [dpdk-dev] [PATCH v3 4/5] net/i40e: " SteveX Yang 2020-09-23 4:09 ` [dpdk-dev] [PATCH v3 5/5] net/iavf: " SteveX Yang 2020-09-28 6:55 ` [dpdk-dev] [PATCH v4 0/5] fix default max mtu size when device configured SteveX Yang 2020-09-28 6:55 ` [dpdk-dev] [PATCH v4 1/5] net/e1000: fix max mtu size packets with vlan tag cannot be received by default SteveX Yang 2020-09-28 6:55 ` [dpdk-dev] [PATCH v4 2/5] net/igc: " SteveX Yang 2020-09-28 6:55 ` [dpdk-dev] [PATCH v4 3/5] net/ice: " SteveX Yang 2020-09-29 11:59 ` Zhang, Qi Z 2020-09-29 23:01 ` Ananyev, Konstantin 2020-09-30 0:34 ` Zhang, Qi Z [not found] ` <DM6PR11MB4362515283D00E27A793E6B0F9330@DM6PR11MB4362.namprd11.prod.outlook.com> 2020-09-30 2:32 ` Zhang, Qi Z 2020-10-14 15:38 ` Ferruh Yigit [not found] ` <DM6PR11MB43628BBF9DCE7CC4D7C05AD8F91E0@DM6PR11MB4362.namprd11.prod.outlook.com> 2020-10-19 10:49 ` Ananyev, Konstantin 2020-10-19 13:07 ` Ferruh Yigit 2020-10-19 14:07 ` Ananyev, Konstantin 2020-10-19 14:28 ` Ananyev, Konstantin 2020-10-19 18:01 ` Ferruh Yigit 2020-10-20 9:07 ` Ananyev, Konstantin 2020-10-20 12:29 ` Ferruh Yigit 2020-10-21 9:47 ` Ananyev, Konstantin 2020-10-21 10:36 ` Ferruh Yigit 2020-10-21 10:44 ` Ananyev, Konstantin 2020-10-21 10:53 ` Ferruh Yigit 2020-10-19 18:05 ` Ferruh Yigit [not found] ` <DM6PR11MB4362F936BFC715BF6BABBAD0F91F0@DM6PR11MB4362.namprd11.prod.outlook.com> 2020-10-20 8:13 ` Ferruh Yigit 2020-09-28 6:55 ` [dpdk-dev] [PATCH v4 4/5] net/i40e: " SteveX Yang 2020-09-28 6:55 ` [dpdk-dev] [PATCH v4 5/5] net/iavf: " SteveX Yang 2020-10-14 9:19 ` [dpdk-dev] [PATCH v5 0/5] fix default max mtu size when device configured SteveX Yang 2020-10-14 9:19 ` [dpdk-dev] [PATCH v5 1/5] net/e1000: fix max mtu size packets with vlan tag cannot be received by default SteveX Yang 2020-10-14 9:19 ` [dpdk-dev] [PATCH v5 2/5] net/igc: " SteveX Yang 2020-10-14 9:19 ` [dpdk-dev] [PATCH v5 3/5] net/ice: " SteveX Yang 2020-10-14 11:35 ` Zhang, Qi Z 2020-10-14 9:19 ` [dpdk-dev] [PATCH v5 4/5] net/i40e: " SteveX Yang 2020-10-14 10:30 ` Ananyev, Konstantin 2020-10-14 9:19 ` [dpdk-dev] [PATCH v5 5/5] net/iavf: " SteveX Yang 2020-10-14 11:43 ` [dpdk-dev] [PATCH v5 0/5] fix default max mtu size when device configured Zhang, Qi Z 2020-10-22 8:48 ` [dpdk-dev] [PATCH v6 0/2] " SteveX Yang 2020-10-22 8:48 ` [dpdk-dev] [PATCH v6 1/2] app/testpmd: fix max rx packet length for VLAN packets SteveX Yang 2020-10-22 16:22 ` Ferruh Yigit 2020-10-22 8:48 ` [dpdk-dev] [PATCH v6 2/2] librte_ethdev: fix MTU size exceeds max rx packet length SteveX Yang 2020-10-22 16:31 ` Ferruh Yigit 2020-10-22 16:52 ` Ananyev, Konstantin 2020-10-28 3:03 ` [dpdk-dev] [PATCH v7 0/1] fix default max mtu size when device configured SteveX Yang 2020-10-28 3:03 ` [dpdk-dev] [PATCH v7 1/1] app/testpmd: fix max rx packet length for VLAN packets SteveX Yang 2020-10-29 8:41 ` Ferruh Yigit 2020-11-02 8:52 ` [dpdk-dev] [PATCH v8 0/2] fix default max mtu size when device configured SteveX Yang 2020-11-02 8:52 ` [dpdk-dev] [PATCH v8 1/2] app/testpmd: fix max rx packet length for VLAN packets SteveX Yang 2020-11-02 11:48 ` Ferruh Yigit 2020-11-03 13:29 ` Ferruh Yigit 2020-11-04 16:51 ` Thomas Monjalon 2020-11-04 17:07 ` Ferruh Yigit 2020-11-04 17:55 ` Thomas Monjalon 2020-11-04 20:19 ` Ferruh Yigit 2020-11-04 20:39 ` Thomas Monjalon 2020-11-05 8:54 ` Andrew Rybchenko [not found] ` <DM6PR11MB43622CC5DF485DD034037CD3F9EE0@DM6PR11MB4362.namprd11.prod.outlook.com> 2020-11-05 10:37 ` Ferruh Yigit 2020-11-05 10:44 ` Thomas Monjalon 2020-11-05 10:48 ` Thomas Monjalon 2020-11-05 10:50 ` Ferruh Yigit 2020-11-05 13:52 ` Olivier Matz 2020-11-05 15:11 ` Lance Richardson 2020-11-05 15:56 ` Ferruh Yigit 2020-11-05 16:23 ` Lance Richardson 2020-11-05 17:44 ` [dpdk-dev] [PATCH 1/1] app/testpmd: revert max Rx packet length adjustment Thomas Monjalon 2020-11-05 18:02 ` Lance Richardson 2020-11-05 18:11 ` Ferruh Yigit 2020-11-05 18:18 ` Thomas Monjalon 2020-11-05 10:49 ` [dpdk-dev] [PATCH v8 1/2] app/testpmd: fix max rx packet length for VLAN packets Ferruh Yigit 2020-11-02 8:52 ` [dpdk-dev] [PATCH v8 2/2] doc: annouce deprecation of jumbo frame flag condition SteveX Yang 2020-11-02 11:50 ` Ferruh Yigit 2020-11-02 13:18 ` Andrew Rybchenko 2020-11-02 13:58 ` Ferruh Yigit 2020-11-02 16:05 ` Ananyev, Konstantin [not found] ` <DM6PR11MB43625C5CF594BEDC9CE479F7F9110@DM6PR11MB4362.namprd11.prod.outlook.com> 2020-11-24 17:46 ` Ferruh Yigit 2020-11-27 12:19 ` Andrew Rybchenko 2020-11-27 17:08 ` Bruce Richardson
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=20200922012338.11277-5-stevex.yang@intel.com \ --to=stevex.yang@intel.com \ --cc=beilei.xing@intel.com \ --cc=dev@dpdk.org \ --cc=jia.guo@intel.com \ --cc=jingjing.wu@intel.com \ --cc=konstantin.ananyev@intel.com \ --cc=qi.z.zhang@intel.com \ --cc=qiming.yang@intel.com \ --cc=wei.zhao1@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