Date: Sat, 11 Nov 2017 21:19:12 -0800 From: "K. Macy" <kmacy@freebsd.org> To: Vincenzo Maffione <v.maffione@gmail.com> Cc: "Joseph H. Buehler" <jhpb@cox.net>, "freebsd-net@freebsd.org" <freebsd-net@freebsd.org> Subject: Re: netmap scatter/gather? Message-ID: <CAHM0Q_NHHOZZ7Tss8FMvHJzOGp1Uhg91apQcJw5sv-jUh-bVDQ@mail.gmail.com> In-Reply-To: <CAHM0Q_OUd=q3EwLHQ_g-h=%2B-xghNUGbxO0mzAWiBa0Ph3bWpaA@mail.gmail.com> References: <5A01ED27.60900@cox.net> <CA%2B_eA9hEiw9cWR5e_JtRGpG70woS5KxJpyCo0P4fu2Q6T9BibA@mail.gmail.com> <CAHM0Q_OUd=q3EwLHQ_g-h=%2B-xghNUGbxO0mzAWiBa0Ph3bWpaA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Nov 11, 2017 at 8:30 PM, K. Macy <kmacy@freebsd.org> wrote: > On Tue, Nov 7, 2017 at 9:32 AM, Vincenzo Maffione <v.maffione@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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHM0Q_NHHOZZ7Tss8FMvHJzOGp1Uhg91apQcJw5sv-jUh-bVDQ>