Skip to content

Commit

Permalink
bpf, doc: Add heading and example for extensions in cbpf
Browse files Browse the repository at this point in the history
Add new heading for extensions to make it more readable. Also, add one
more example of filtering interface index for better understanding.

Signed-off-by: Roy, UjjaL <royujjal@gmail.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Song Liu <songliubraving@fb.com>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Link: https://lore.kernel.org/bpf/CAADnVQJ=DoRDcVkaXmY3EmNdLoO7gq1mkJOn5G=00wKH8qUtZQ@mail.gmail.com
  • Loading branch information
Roy, UjjaL authored and Daniel Borkmann committed Jul 16, 2021
1 parent c7603cf commit 8886534
Showing 1 changed file with 16 additions and 7 deletions.
23 changes: 16 additions & 7 deletions Documentation/networking/filter.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 8886534

Please sign in to comment.