From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-la0-f54.google.com (mail-la0-f54.google.com [209.85.215.54]) by dpdk.org (Postfix) with ESMTP id 818515A9F for ; Tue, 24 Mar 2015 15:10:18 +0100 (CET) Received: by labe2 with SMTP id e2so85037135lab.3 for ; Tue, 24 Mar 2015 07:10:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=0IhzUS+QaHXYKoeQXkFzNGAWWEFzTmxFffg91Vp0dKk=; b=hel1RdJeiv1p5beTU+m9g0a4zcPbQoMRsxiWmGtuzhGnvzBFFEBVA/tA09AsvnLamd FF0vBfnploUXF6ZXpFSjFV+lY224YxVL5BIgVCS2P+ySUiFqP9bssIQZvDLyK+3glv13 cunIvMdvyFbL4fCfRbnfOP1FyTVeXbeYfzxLzPROctqufjdSXWWFN7sni2/uyACjJcAS hliM3ckCCpgzb4/qHwtnxVrFfHC407+NYBiAq+1qaKG3xikbLDAScYsStS9ES6L3c4Kx gmpgnNjXlsZim7CdR2HxaYz3NRHvI8BkpJnBqaRJ6eF8No+UbwqcZlD8vx8dC3pfzEr2 L07A== MIME-Version: 1.0 X-Received: by 10.152.9.98 with SMTP id y2mr3937311laa.94.1427206218207; Tue, 24 Mar 2015 07:10:18 -0700 (PDT) Received: by 10.25.41.194 with HTTP; Tue, 24 Mar 2015 07:10:18 -0700 (PDT) In-Reply-To: <20150324131715.GA11384@bricha3-MOBL3> References: <20150323145958.GA12720@bricha3-MOBL3> <20150323212459.GA5502@mhcomputing.net> <20150324131715.GA11384@bricha3-MOBL3> Date: Tue, 24 Mar 2015 16:10:18 +0200 Message-ID: From: Dor Green To: Bruce Richardson Content-Type: text/plain; charset=UTF-8 Cc: dev@dpdk.org Subject: Re: [dpdk-dev] Packet data out of bounds after rte_eth_rx_burst X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Mar 2015 14:10:18 -0000 1 . The eth_conf is: static struct rte_eth_conf const ethconf = { .link_speed = 0, .link_duplex = 0, .rxmode = { .mq_mode = ETH_MQ_RX_RSS, .max_rx_pkt_len = ETHER_MAX_LEN, .split_hdr_size = 0, .header_split = 0, .hw_ip_checksum = 0, .hw_vlan_filter = 0, .jumbo_frame = 0, .hw_strip_crc = 0, /**< CRC stripped by hardware */ }, .txmode = { }, .rx_adv_conf = { .rss_conf = { .rss_key = NULL, .rss_hf = ETH_RSS_IPV4 | ETH_RSS_IPV6, } }, .fdir_conf = { .mode = RTE_FDIR_MODE_SIGNATURE, }, .intr_conf = { .lsc = 0, }, }; I've tried setting jumbo frames on with a larger packet length and even turning off RSS/FDIR. No luck. I don't see anything relating to the port in the initial prints, what are you looking for? 2. The packet is a normal, albeit somewhat large (1239 bytes) TCP data packet (SSL certificate data, specifically). One important thing of note that I've just realised is that it's not this "packet of death" which causes the segmentation fault (i.e. has an out-of-bounds address for its data), but the packet afterwards-- no matter what packet it is. On Tue, Mar 24, 2015 at 3:17 PM, Bruce Richardson wrote: > On Tue, Mar 24, 2015 at 12:54:14PM +0200, Dor Green wrote: >> I've managed to fix it so 1.8 works, and the segmentation fault still occurs. >> >> On Tue, Mar 24, 2015 at 11:55 AM, Dor Green wrote: >> > I tried 1.8, but that fails to initialize my device and fails at the pci probe: >> > "Cause: Requested device 0000:04:00.1 cannot be used" >> > Can't even compile 2.0rc2 atm, getting: >> > "/usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:701:1: note: >> > expected '__m128i' but argument is of type 'int'" >> > For reasons I don't understand. >> > >> > As for the example apps (in 1.7), I can run them properly but I don't >> > think any of them do the same processing as I do. Note that mine does >> > work with most packets. >> > >> > > > Couple of further questions: > 1. What config options are being used to configure the port and what is the > output printed at port initialization time? This is needed to let us track down > what specific RX path is being used inside the ixgbe driver > 2. What type of packets specifically cause problems? Is it reproducible with > one particular packet, or packet type? Are you sending in jumbo-frames? > > Regards, > /Bruce > >> > On Mon, Mar 23, 2015 at 11:24 PM, Matthew Hall wrote: >> >> On Mon, Mar 23, 2015 at 05:19:00PM +0200, Dor Green wrote: >> >>> I changed it to free and it still happens. Note that the segmentation fault >> >>> happens before that anyway. >> >>> >> >>> I am using 1.7.1 at the moment. I can try using a newer version. >> >> >> >> I'm using 1.7.X in my open-source DPDK-based app and it works, but I have an >> >> IGB 1-gigabit NIC though, and how RX / TX work are quite driver specific of >> >> course. >> >> >> >> I suspect there's some issue with how things are working in your IXGBE NIC >> >> driver / setup. Do the same failures occur inside of the DPDK's own sample >> >> apps? >> >> >> >> Matthew.