Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Jan 2015 12:38:58 -0800
From:      Adrian Chadd <adrian@freebsd.org>
To:        Luigi Rizzo <rizzo@iet.unipi.it>
Cc:        Avinash Sridharan <avinash.sridharan@gmail.com>, 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:  <CAJ-Vmokm62%2BukQQbCfiFatkRZxtZH4F8BaVn5WHFyDvnPxrBZQ@mail.gmail.com>
In-Reply-To: <20150105170530.GB22916@onelab2.iet.unipi.it>
References:  <CADJyuDg-PujV%2BtknoSBi3fDd3%2BK%2BOwvjgwh1%2B=Z-eoBUkP2gPg@mail.gmail.com> <CA%2BhQ2%2BgRz0Q-f5N-C_CrC27qE1i-zSvb3rjWDH0JPCq4Q1%2BA8A@mail.gmail.com> <CAJ-VmonqqMedqnAwHfq%2BTSAEKwdSdxXfRpkmuTm2eLrB_uCV2w@mail.gmail.com> <20150105170530.GB22916@onelab2.iet.unipi.it>

next in thread | previous in thread | raw e-mail | index | archive | help
On 5 January 2015 at 09:05, Luigi Rizzo <rizzo@iet.unipi.it> wrote:
> On Mon, Jan 05, 2015 at 08:33:17AM -0800, Adrian Chadd wrote:
>> ... surely virtio should be skipping over those bytes in the netmap rx
>> side before handing them up?
>>
>> (It won't be the only hardware that puts the RX descriptor status in
>> the RX frame itself..)
>
> it is not the rx descriptor, those 12 bytes are also present on the tx side.
> Think of them as an encapsulation whose presence is negotiated when KVM connects
> to the TAP port, and after that is present on all packets bidirectionally.
>
> Now, surely we could add/remove those bytes in the virtio-netmap code
> (at the price of an additional data copy).

Right, but I have similar issues with other wifi devices who put RX
descriptor completion info in the header of the mbuf you pass to the
NIC.

So in the driver RX path, I have to += the data pointer /past/ the header.

So, maybe for netmap you need to consider adding something that lets
you specify how many bytes into the RX buffer the payload starts.




-adrian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmokm62%2BukQQbCfiFatkRZxtZH4F8BaVn5WHFyDvnPxrBZQ>