BPF_MISC+BPF_COP and BPF_COPX (summary and patch)

Christos Zoulas christos at astron.com
Thu Aug 29 12:35:30 UTC 2013


In article <521F4522.5070403 at netbsd.org>,
Darren Reed  <darrenr at netbsd.org> wrote:
>
>The current implementation of BPF makes it very hard to expand
>the instruction set without impinging on the ability to make
>future changes due to the way in which instructions are codified
>into 32bits. Whilst the method of supporting a co-processor gets
>around that, it does so in such a generic fashion that it becomes
>too easy to use it as a bit-bucket for anything you think might
>be a good idea if BPF could do without really evaluating if it
>should do.

I think that the COP/COPX encapsulation does not leak outside the
kernel (in principle), so the functionality that the COP/COPX
subroutines NPF provides doesn't become part of the BPF feature set
and cannot be re-used outside the kernel. As such, this technique
can be used to experiment and see what offloading mechanisms are
required for efficient IPv6 processing. Once that is better
understood, we can think about turning them into real and officially
supported BPF instructions.

christos



More information about the freebsd-net mailing list