From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-la0-f42.google.com (mail-la0-f42.google.com [209.85.215.42]) by dpdk.org (Postfix) with ESMTP id DB4B35A66 for ; Thu, 9 Jul 2015 08:58:10 +0200 (CEST) Received: by lagc2 with SMTP id c2so237065637lag.3 for ; Wed, 08 Jul 2015 23:58:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=1Ebq420X1DZfFe1OMYZ26RpHtBNuCgIafhOPtpzPgkg=; b=DczCYxnvWA99wf2tb8gFRjhtA4Iw22+byF1sKdQbVC0WYVLRjDqdMaqu3/0+otDZP/ T7XieSnbqMxqiPNswRKoRihts/pZKe3Rjitn3rYdWq8E+5okYz3fCrDwNftBvkF7G/EP qT6pjeUwX6HQ907qJ1NDK71DpA/s5P+LtV8Hv03atpXoK2+cwg44nQVjbiWWD7K+HxYH xSNp/e0CVuSH7Z9U1tGD/E7Um7TwxpGVMP4KXpkpTZeKR3AJ+lfAdYkkw0H+kaEr0rtZ OMROzWsH6t2ZtRNK3PXkFEGTBdh8tP03tJNJuXi03RYO9gv0aJz8iTZX9usJ2pw194gY lROw== MIME-Version: 1.0 X-Received: by 10.152.37.67 with SMTP id w3mr13195107laj.123.1436425090489; Wed, 08 Jul 2015 23:58:10 -0700 (PDT) Received: by 10.153.11.225 with HTTP; Wed, 8 Jul 2015 23:58:10 -0700 (PDT) Date: Thu, 9 Jul 2015 12:28:10 +0530 Message-ID: From: Prashant Upadhyaya To: dev@dpdk.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: [dpdk-dev] Exception Path issue with AF Packet PMD for fragmented packets 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: Thu, 09 Jul 2015 06:58:11 -0000 Hi, I have a DPDK based application where the core 0 is handling the exception path and rest of the cores are bringing in the data from the NIC via the PMD. For the exception path handling I use the tun/tap interface. So the flow is like this =E2=80=93 Fast path cores bring in the data from NIC, classify it as exception path data, write to tap. (eg. ICMP ping data) Kernel responds and sends data out of tap My application is listening to tap in a thread running on core 0 itself, takes the data and writes to NIC via PMD The above works very well when I use PMD which takes the NIC over eg. ixgbe PMD with Intel 82599 NIC. However when I use the AF Packet PMD, I face an issue that while non fragmented ping=E2=80=99s work fine, the fragmented ping=E2=80=99s (pings w= ith big payloads) don=E2=80=99t work. I see, via tcpdump on tap, that the fast path= cores write all the fragments to tap, but the kernel does not respond. Interestingly, the fragmented usecase works if I put small delays at the following two places =E2=80=93 Just before writing to the tap Just after reading from tap and immediately before sending to NIC with the tx burst PMD API I believe the problem may not be related to DPDK at all and may have something to do with linux kernel or tun/tap driver, but has anybody faced a similar issue or root-caused it. Regards -Prashant