netmap scatter/gather?
K. Macy
kmacy at freebsd.org
Sun Nov 12 05:19:13 UTC 2017
On Sat, Nov 11, 2017 at 8:30 PM, K. Macy <kmacy at freebsd.org> wrote:
> On Tue, Nov 7, 2017 at 9:32 AM, Vincenzo Maffione <v.maffione at gmail.com> wrote:
>> Hi,
>> In general netmap adapters (i.e. netmap ports) may support NS_MOREFRAG.
>> But in practice this is mainly supported on VALE ports.
>> So if you don't want to add the missing support by yourself you can simply
>> change the netmap buffer size by tuning the sysctl dev.netmap.buf_size, and
>> increase it to 9600.
>>
>
> When doing vxlan that allows me to avoid copies on encap, but I don't
> see any mechanism to avoid a (second) copy on decap where what I'd
> like to do is to indicate to VALE that the packet starts at a certain
> offset. Am I missing something?
It looks like if you'd just change NETMAP_BUF to take an offset as
well it would mostly just work if I could pass on offset in
netmap_slot:
idx = ring->slot[i].buf_idx;
d->hdr.slot = &ring->slot[i];
d->hdr.buf = (u_char *)NETMAP_BUF(ring, idx);
->
idx = ring->slot[i].buf_idx;
off = ring->slot[i].buf_off; /* new */
d->hdr.slot = &ring->slot[i];
d->hdr.buf = (u_char *)NETMAP_BUF(ring, idx, off);
>
>
> Thanks.
More information about the freebsd-net
mailing list