From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 882BCA04C7; Wed, 16 Sep 2020 07:57:54 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 81E461C1BF; Wed, 16 Sep 2020 07:57:43 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id 203F11C1B6 for ; Wed, 16 Sep 2020 07:57:41 +0200 (CEST) IronPort-SDR: AmkDppdGFyXnxcagVXzO4g4oYQeHnzfuLyWe1AD6BWlliy7H6+6b/IqYfRcVXZyrm+HRFjoFdL MmTnNtGjb0lg== X-IronPort-AV: E=McAfee;i="6000,8403,9745"; a="223592002" X-IronPort-AV: E=Sophos;i="5.76,431,1592895600"; d="scan'208";a="223592002" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Sep 2020 22:57:41 -0700 IronPort-SDR: eNJBAf8TLrT4o+i9Gqyzo7KMDyWygSr9byN7knNCZN8JwMOe7cIPZzUlc30e3fWr80PFo3TIWu Pg03n3CnpTzQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,431,1592895600"; d="scan'208";a="319722726" Received: from intel-npg-odc-srv01.cd.intel.com ([10.240.178.136]) by orsmga002.jf.intel.com with ESMTP; 15 Sep 2020 22:57:39 -0700 From: SteveX Yang 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, SteveX Yang Date: Wed, 16 Sep 2020 05:52:09 +0000 Message-Id: <20200916055212.25019-3-stevex.yang@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200916055212.25019-1-stevex.yang@intel.com> References: <20200916055212.25019-1-stevex.yang@intel.com> Subject: [dpdk-dev] [PATCH v1 2/5] net/igc: fix max mtu size packets with vlan tag cannot be received by default 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" testpmd will initialize default max packet length to 1518 which does'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. igc can support single vlan tag that need more 4 bytes for max packet size, so, configures the correct max packet size in dev_config ops. Fixes: a5aeb2b9e225 ("net/igc: support Rx and Tx") Signed-off-by: SteveX Yang --- drivers/net/igc/igc_ethdev.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/net/igc/igc_ethdev.c b/drivers/net/igc/igc_ethdev.c index 6ab3ee909..6113793a2 100644 --- a/drivers/net/igc/igc_ethdev.c +++ b/drivers/net/igc/igc_ethdev.c @@ -341,10 +341,20 @@ static int eth_igc_configure(struct rte_eth_dev *dev) { struct igc_interrupt *intr = IGC_DEV_PRIVATE_INTR(dev); + struct rte_eth_rxmode *rxmode = &dev->data->dev_conf.rxmode; int ret; PMD_INIT_FUNC_TRACE(); + /* Considering vlan tag 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 + IGC_ETH_OVERHEAD; + rxmode->offloads |= DEV_RX_OFFLOAD_JUMBO_FRAME; + } + ret = igc_check_mq_mode(dev); if (ret != 0) return ret; -- 2.17.1