On 24 Jun 2021, at 16:28, John Fastabend wrote: > Eelco Chaudron wrote: >> >> >> On 23 Jun 2021, at 1:49, John Fastabend wrote: >> >>> Lorenzo Bianconi wrote: >>>> From: Eelco Chaudron <echaudro@xxxxxxxxxx> >>>> >>>> This patch adds support for multi-buffer for the following helpers: >>>> - bpf_xdp_output() >>>> - bpf_perf_event_output() >>>> >>>> Signed-off-by: Eelco Chaudron <echaudro@xxxxxxxxxx> >>>> Signed-off-by: Lorenzo Bianconi <lorenzo@xxxxxxxxxx> >>>> --- >>> >>> Ah ok so at least xdp_output will work with all bytes. But this is >>> getting close to having access into the frags so I think doing >>> the last bit shouldn't be too hard? >> >> >> Guess you are talking about multi-buffer access in the XDP program? >> >> I did suggest an API a while back, https://lore.kernel.org/bpf/FD3E6E08-DE78-4FBA-96F6-646C93E88631@xxxxxxxxxx/ but I had/have not time to work on it. Guess the difficult part is to convince the verifier to allow the data to be accessed. > > Ah great I think we had the same idea I called it xdp_pull_data() > though. > > Whats the complication though it looks like it can be done by simply > moving the data and data_end pointers around then marking them > invalidated. This way the verifier knows the program needs to > rewrite them. I can probably look more into next week. > > From my first glance it looks relatively straight forward to do > now. I really would like to avoid yet another iteration of > programs features I have to discover and somehow work around > if we can get the helper into this series. If you really don't > have time I can probably take a look early next week on an > RFC for something like above helper. I’m on a small side project for the next 2 to 3 weeks, and after that, I have some PTO, so if you have time for an RFC, that will speed up this patchset. Thanks, Eelco > .John