From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 01D691F5 for ; Mon, 24 Jul 2017 15:14:22 +0200 (CEST) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga105.fm.intel.com with ESMTP; 24 Jul 2017 06:14:13 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.40,407,1496127600"; d="scan'208";a="882104539" Received: from bricha3-mobl3.ger.corp.intel.com ([10.237.221.72]) by FMSMGA003.fm.intel.com with SMTP; 24 Jul 2017 06:14:11 -0700 Received: by (sSMTP sendmail emulation); Mon, 24 Jul 2017 14:14:10 +0100 Date: Mon, 24 Jul 2017 14:14:10 +0100 From: Bruce Richardson To: "Yeddula, Avinash" Cc: "dev@dpdk.org" Message-ID: <20170724131410.GA2848@bricha3-MOBL3.ger.corp.intel.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Organization: Intel Research and =?iso-8859-1?Q?De=ACvel?= =?iso-8859-1?Q?opment?= Ireland Ltd. User-Agent: Mutt/1.8.3 (2017-05-23) Subject: Re: [dpdk-dev] Issue with TX of Jumbo frames on 10G interfaces ONLY 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: Mon, 24 Jul 2017 13:14:23 -0000 On Fri, Jul 14, 2017 at 05:38:45AM +0000, Yeddula, Avinash wrote: > Hi All, > > In order to support Jumbo frames for our application, I made the below > changes. The intention, here is to use "linked-mbufs instead of using > 1 single 9k MBUF". > > With the below changes, I'm able to send/receive 9k size frames on 1G > interfaces successfully. No issues what so ever with 1G interfaces. > But, when it comes to 10G interfaces, I confirmed my app writes a > jumbo frame on to the port "rte_eth_tx_burst", but that frame "never" > showed up on the other end, it got lost somewhere inside this API > "rte_eth_tx_burst" . > > I do not see any type of "tx" stats ticked. Thought will check with > the you folks, before I dig inside "rte_eth_tx_burst" API. Is there > any configs I'm missing for TX port, please comment ? > > This is the driver I use for "net_ixgbe" for my 10G interface. > > // local port config structure for initialization, code below > may modify struct rte_eth_conf port_conf = { .rxmode = { > .split_hdr_size = 0, .header_split = 0, /**< Header > Split disabled */ .hw_ip_checksum = 0, /**< IP > checksum offload disabled */ .hw_vlan_filter = 0, /**< > VLAN filtering disabled */ .jumbo_frame = 1, /**< > Jumbo Frame Support always enabled */ .max_rx_pkt_len = 9216, > /**< If jumbo_frame is enabled then max_rx_pkt_len must be set > */ .hw_strip_crc = 0, /**< CRC stripped by hardware > */ }, .txmode = { .mq_mode = ETH_MQ_TX_NONE, }, .intr_conf.lsc = > 0, }; > > > port_conf.rxmode.enable_scatter = 1; > port_conf.rxmode.hw_ip_checksum = 0; > > When creating the TX queue itself via "rte_eth_tx_queue_setup()", ensure the txq_flags field in the conf structure is set to zero. By default in many drivers, the transmission of jumbo frames via multiple buffers is disabled for performance reasons. /Bruce