From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Bieniek Subject: [PATCH] i40e: fix oversize packet counter not incrementing for large packets Date: Fri, 25 Nov 2016 13:21:03 -0500 Message-ID: <1480098063-29246-1-git-send-email-michaelbieniekdpdk@gmail.com> Cc: dev@dpdk.org, Michael Bieniek To: helin.zhang@intel.com, jingjing.wu@intel.com Return-path: Received: from mail-io0-f195.google.com (mail-io0-f195.google.com [209.85.223.195]) by dpdk.org (Postfix) with ESMTP id 5AFCCF980 for ; Fri, 25 Nov 2016 19:21:25 +0100 (CET) Received: by mail-io0-f195.google.com with SMTP id r94so10867001ioe.1 for ; Fri, 25 Nov 2016 10:21:25 -0800 (PST) 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" The XL710 requires that the Set MAC Config command be used to define the maximum frame size in order for the Receive Oversize Count register (GLPRT_ROC) to be incremented for packets received that are greater than the MTU. Without this change, the XL710 will drop the oversized packets without incrementing the corresponding counter. Signed-off-by: Michael Bieniek --- drivers/net/i40e/i40e_ethdev.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index 67778ba..c11c80b 100644 --- a/drivers/net/i40e/i40e_ethdev.c +++ b/drivers/net/i40e/i40e_ethdev.c @@ -9709,6 +9709,7 @@ static int i40e_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu) { struct i40e_pf *pf = I40E_DEV_PRIVATE_TO_PF(dev->data->dev_private); + struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private); struct rte_eth_dev_data *dev_data = pf->dev_data; uint32_t frame_size = mtu + ETHER_HDR_LEN + ETHER_CRC_LEN + I40E_VLAN_TAG_SIZE; @@ -9732,6 +9733,7 @@ i40e_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu) dev_data->dev_conf.rxmode.jumbo_frame = 0; dev_data->dev_conf.rxmode.max_rx_pkt_len = frame_size; + i40e_aq_set_mac_config(hw, frame_size, TRUE, 0, NULL); return ret; } -- 2.4.11