Message ID | 20210707174022.517-1-royujjal@gmail.com |
---|---|
State | New |
Headers | show |
Series | docs: bpf: Added more extension example | expand |
On Wed, Jul 7, 2021 at 10:50 AM UjjaL Roy <royujjal@gmail.com> wrote: > > From: "Roy, UjjaL" <royujjal@gmail.com> > > After reading this document observed that for new users it is > hard to find an example of "extension" easily. > > So, added a new heading for extensions for better readability. > Now, the new readers can easily identify "extension" examples. > Also, added one more example of filtering interface index. > > Signed-off-by: Roy, UjjaL <royujjal@gmail.com> Please prefix the subject with the target tree. In this case, the subject should say [PATCH bpf-next] xxx. Also, please revise the commit log as suggested in Documentation/process/submitting-patches.rst: Describe your changes in imperative mood, e.g. "make xyzzy do frotz" instead of "[This patch] makes xyzzy do frotz" or "[I] changed xyzzy to do frotz", as if you are giving orders to the codebase to change its behaviour. Otherwise, this change looks good to me. You can add my Acked-by tag in v2. (prefix v2 with [PATCH v2 bpf-next]. Thanks, Song Acked-by: Song Liu <songliubraving@fb.com> > --- > Documentation/networking/filter.rst | 23 ++++++++++++++++------- > 1 file changed, 16 insertions(+), 7 deletions(-) > > diff --git a/Documentation/networking/filter.rst b/Documentation/networking/filter.rst > index 3e2221f4abe4..5f13905b12e0 100644 > --- a/Documentation/networking/filter.rst > +++ b/Documentation/networking/filter.rst > @@ -320,13 +320,6 @@ Examples for low-level BPF: > ret #-1 > drop: ret #0 > > -**(Accelerated) VLAN w/ id 10**:: > - > - ld vlan_tci > - jneq #10, drop > - ret #-1 > - drop: ret #0 > - > **icmp random packet sampling, 1 in 4**:: > > ldh [12] > @@ -358,6 +351,22 @@ Examples for low-level BPF: > bad: ret #0 /* SECCOMP_RET_KILL_THREAD */ > good: ret #0x7fff0000 /* SECCOMP_RET_ALLOW */ > > +Examples for low-level BPF extension: > + > +**Packet for interface index 13**:: > + > + ld ifidx > + jneq #13, drop > + ret #-1 > + drop: ret #0 > + > +**(Accelerated) VLAN w/ id 10**:: > + > + ld vlan_tci > + jneq #10, drop > + ret #-1 > + drop: ret #0 > + > The above example code can be placed into a file (here called "foo"), and > then be passed to the bpf_asm tool for generating opcodes, output that xt_bpf > and cls_bpf understands and can directly be loaded with. Example with above > -- > 2.17.1 >
diff --git a/Documentation/networking/filter.rst b/Documentation/networking/filter.rst index 3e2221f4abe4..5f13905b12e0 100644 --- a/Documentation/networking/filter.rst +++ b/Documentation/networking/filter.rst @@ -320,13 +320,6 @@ Examples for low-level BPF: ret #-1 drop: ret #0 -**(Accelerated) VLAN w/ id 10**:: - - ld vlan_tci - jneq #10, drop - ret #-1 - drop: ret #0 - **icmp random packet sampling, 1 in 4**:: ldh [12] @@ -358,6 +351,22 @@ Examples for low-level BPF: bad: ret #0 /* SECCOMP_RET_KILL_THREAD */ good: ret #0x7fff0000 /* SECCOMP_RET_ALLOW */ +Examples for low-level BPF extension: + +**Packet for interface index 13**:: + + ld ifidx + jneq #13, drop + ret #-1 + drop: ret #0 + +**(Accelerated) VLAN w/ id 10**:: + + ld vlan_tci + jneq #10, drop + ret #-1 + drop: ret #0 + The above example code can be placed into a file (here called "foo"), and then be passed to the bpf_asm tool for generating opcodes, output that xt_bpf and cls_bpf understands and can directly be loaded with. Example with above