From owner-freebsd-net@FreeBSD.ORG Mon Jan 5 05:54:48 2015 Return-Path: Delivered-To: net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C2AA5446 for ; Mon, 5 Jan 2015 05:54:48 +0000 (UTC) Received: from mail-qa0-x230.google.com (mail-qa0-x230.google.com [IPv6:2607:f8b0:400d:c00::230]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7CFCB2443 for ; Mon, 5 Jan 2015 05:54:48 +0000 (UTC) Received: by mail-qa0-f48.google.com with SMTP id k15so12077898qaq.7 for ; Sun, 04 Jan 2015 21:54:47 -0800 (PST) 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=cIOMR9vEXJIRQKl8VjcFT8vewF8xVMI77IKBhEoXT7w=; b=gfPVou4ci36rGPon2KOPF2LnWWJO0rYHDCV71e1YLaOOZTSw/z6UBWrNsCURYZpKvt czWJ6CLjHRrOzH/2R4kaMDF25XKXwftbTFnwRS4aHL+xLlnzbpyf/wRDqWPqup4Wv9Bv wNWZjlRKbCn3CDnu6zDd/nrwbR2zG5zLgru8JfLwAmF8cTX2n9Dv4xOtmRi+6WO4vKZp TZDh/l7QTmffESmDdCQALFFP2zSDJojyclomBR6anJUk1rNcHn+BZbn6aoxEPMUoo/rq p8orH9Gq2Jcr4ywUg1trUKkUj/gbG+aUHTU2ViYLMcNoDD4TU+zWJsJj/2/QHZ/WEjuh bvAw== MIME-Version: 1.0 X-Received: by 10.224.171.129 with SMTP id h1mr97598589qaz.74.1420437287682; Sun, 04 Jan 2015 21:54:47 -0800 (PST) Received: by 10.96.76.201 with HTTP; Sun, 4 Jan 2015 21:54:47 -0800 (PST) Date: Sun, 4 Jan 2015 21:54:47 -0800 Message-ID: Subject: netmap over virtio giving packets with extra 12 bytes From: Avinash Sridharan To: net@freebsd.org, Luigi Rizzo Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jan 2015 05:54:48 -0000 I am using netmap with the click modular router, running the click-modular router in user space. A while back I was using this combination with the e1000 device driver, with a slightly older netmap code-base. Recently I updated my netmap code base and am trying to use the click-modular router with netmap over a virtio-net device driver (over KVM). With this combination, though I was able to receive packets I was unable to interpret any packets coming from the FromDevice element. To debug this issue (and to negate any changes I made to the click-modular router), I ran the pkt-gen application with the "dump payload" option: sudo ~/pkt-gen -i eth1 -f rx -X This showed that packets are being received correctly from the netmap-enabled interface, but there are an extra "12" bytes appended to the packet. 381.088570 main_thread [1446] 1 pps (1 pkts in 1001088 usec) ring 0x7f133bca6000 cur 1 [buf 516 flags 0x0000 len 72] 0: 00 00 00 00 00 00 00 00 00 00 01 00 01 80 c2 00 ................ << extra 12 bytes 16: 00 00 40 16 7e 5b 50 f0 00 26 42 42 03 00 00 00 ..@.~[P..&BB.... 32: 00 00 80 00 40 16 7e 5b 50 f0 00 00 00 00 80 00 ....@.~[P....... 48: 40 16 7e 5b 50 f0 80 01 00 00 14 00 02 00 00 00 @.~[P........... 64: 00 00 00 00 bc 9b f6 74 As we can see, the above is an STP BPDU, and there are 12 leading bytes in the payload. The extra leading bytes screw up the packet interpretation. So is this is an artifact of the virtio-net driver or has something changed in the netmap device driver? Thanks, Avinash