Date: Mon, 5 Jan 2015 13:19:44 +0100 From: Luigi Rizzo <rizzo@iet.unipi.it> To: Avinash Sridharan <avinash.sridharan@gmail.com> Cc: Vincenzo Maffione <v.maffione@gmail.com>, "freebsd-net@freebsd.org" <net@freebsd.org> Subject: Re: netmap over virtio giving packets with extra 12 bytes Message-ID: <CA%2BhQ2%2BgRz0Q-f5N-C_CrC27qE1i-zSvb3rjWDH0JPCq4Q1%2BA8A@mail.gmail.com> In-Reply-To: <CADJyuDg-PujV%2BtknoSBi3fDd3%2BK%2BOwvjgwh1%2B=Z-eoBUkP2gPg@mail.gmail.com> References: <CADJyuDg-PujV%2BtknoSBi3fDd3%2BK%2BOwvjgwh1%2B=Z-eoBUkP2gPg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
What you see is a virtio issue. virtio prepends a 10 or 12-byte "virtio header" to all packets, which is used to define what sort of NIC accelerations (checksum, tso etc.) are expected on the link. I do not remember if there is a way in qemu-kvm to remove the header. Maybe Vincenzo (in Cc) remembers. cheers luigi On Mon, Jan 5, 2015 at 6:54 AM, Avinash Sridharan < avinash.sridharan@gmail.com> wrote: > 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 > -- -----------------------------------------+------------------------------- Prof. Luigi RIZZO, rizzo@iet.unipi.it . Dip. di Ing. dell'Informazione http://www.iet.unipi.it/~luigi/ . Universita` di Pisa TEL +39-050-2211611 . via Diotisalvi 2 Mobile +39-338-6809875 . 56122 PISA (Italy) -----------------------------------------+-------------------------------
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BhQ2%2BgRz0Q-f5N-C_CrC27qE1i-zSvb3rjWDH0JPCq4Q1%2BA8A>