Skip to content

Commit

Permalink
bpftool: ci: mirror: fix for issue# 104
Browse files Browse the repository at this point in the history
Indentation and other formatting issues in all .rst files have been improved.

1) 1x Tab is replaced with 4x spaces.
2) Bold text in the command syntax (in Description Section only) is replaced with normal text.
3) Description Body is re-wrapped to 80 character width. It is to be noted that the generated man pages have no effect.
4) In 'bpftool-cgroup.rst' file, content under 'attach type' is spaced vertically with 1x empty line for better readability in generated man page (it was converted into a single block with poor readability therefore the modification is done).

Signed-off-by: Rameez Rehman <[email protected]>
  • Loading branch information
rameezrehman408 committed Aug 22, 2023
1 parent 6be83a5 commit f2ee92f
Show file tree
Hide file tree
Showing 12 changed files with 692 additions and 728 deletions.
84 changes: 39 additions & 45 deletions docs/bpftool-btf.rst
Original file line number Diff line number Diff line change
Expand Up @@ -34,62 +34,56 @@ BTF COMMANDS
DESCRIPTION
===========
**bpftool btf { show | list }** [**id** *BTF_ID*]
Show information about loaded BTF objects. If a BTF ID is
specified, show information only about given BTF object,
otherwise list all BTF objects currently loaded on the
system.
bpftool btf { show | list } [id *BTF_ID*]
Show information about loaded BTF objects. If a BTF ID is specified,
show information only about given BTF object, otherwise list all BTF
objects currently loaded on the system.

Since Linux 5.8 bpftool is able to discover information about
processes that hold open file descriptors (FDs) against BTF
objects. On such kernels bpftool will automatically emit this
information as well.
Since Linux 5.8 bpftool is able to discover information about processes
that hold open file descriptors (FDs) against BTF objects. On such
kernels bpftool will automatically emit this information as well.

**bpftool btf dump** *BTF_SRC*
Dump BTF entries from a given *BTF_SRC*.
bpftool btf dump *BTF_SRC*
Dump BTF entries from a given *BTF_SRC*.

When **id** is specified, BTF object with that ID will be
loaded and all its BTF types emitted.
When **id** is specified, BTF object with that ID will be loaded and
all its BTF types emitted.

When **map** is provided, it's expected that map has
associated BTF object with BTF types describing key and
value. It's possible to select whether to dump only BTF
type(s) associated with key (**key**), value (**value**),
both key and value (**kv**), or all BTF types present in
associated BTF object (**all**). If not specified, **kv**
is assumed.
When **map** is provided, it's expected that map has associated BTF
object with BTF types describing key and value. It's possible to select
whether to dump only BTF type(s) associated with key (**key**), value
(**value**), both key and value (**kv**), or all BTF types present in
associated BTF object (**all**). If not specified, **kv** is assumed.

When **prog** is provided, it's expected that program has
associated BTF object with BTF types.
When **prog** is provided, it's expected that program has associated
BTF object with BTF types.

When specifying *FILE*, an ELF file is expected, containing
.BTF section with well-defined BTF binary format data,
typically produced by clang or pahole.
When specifying *FILE*, an ELF file is expected, containing .BTF
section with well-defined BTF binary format data, typically produced by clang
or pahole.

**format** option can be used to override default (raw)
output format. Raw (**raw**) or C-syntax (**c**) output
formats are supported.
**format** option can be used to override default (raw) output format.
Raw (**raw**) or C-syntax (**c**) output formats are supported.

**bpftool btf help**
Print short help message.
bpftool btf help
Print short help message.

OPTIONS
=======
.. include:: common_options.rst

-B, --base-btf *FILE*
Pass a base BTF object. Base BTF objects are typically used
with BTF objects for kernel modules. To avoid duplicating
all kernel symbols required by modules, BTF objects for
modules are "split", they are built incrementally on top of
the kernel (vmlinux) BTF object. So the base BTF reference
should usually point to the kernel BTF.

When the main BTF object to process (for example, the
module BTF to dump) is passed as a *FILE*, bpftool attempts
to autodetect the path for the base object, and passing
this option is optional. When the main BTF object is passed
through other handles, this option becomes necessary.
.. include:: common_options.rst

-B, --base-btf *FILE*
Pass a base BTF object. Base BTF objects are typically used with BTF
objects for kernel modules. To avoid duplicating all kernel symbols
required by modules, BTF objects for modules are "split", they are
built incrementally on top of the kernel (vmlinux) BTF object. So the
base BTF reference should usually point to the kernel BTF.

When the main BTF object to process (for example, the module BTF to
dump) is passed as a *FILE*, bpftool attempts to autodetect the path
for the base object, and passing this option is optional. When the main
BTF object is passed through other handles, this option becomes
necessary.

EXAMPLES
========
Expand Down
184 changes: 102 additions & 82 deletions docs/bpftool-cgroup.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,92 +46,112 @@ CGROUP COMMANDS
DESCRIPTION
===========
**bpftool cgroup { show | list }** *CGROUP* [**effective**]
List all programs attached to the cgroup *CGROUP*.

Output will start with program ID followed by attach type,
attach flags and program name.

If **effective** is specified retrieve effective programs that
will execute for events within a cgroup. This includes
inherited along with attached ones.

**bpftool cgroup tree** [*CGROUP_ROOT*] [**effective**]
Iterate over all cgroups in *CGROUP_ROOT* and list all
attached programs. If *CGROUP_ROOT* is not specified,
bpftool uses cgroup v2 mountpoint.

The output is similar to the output of cgroup show/list
commands: it starts with absolute cgroup path, followed by
program ID, attach type, attach flags and program name.

If **effective** is specified retrieve effective programs that
will execute for events within a cgroup. This includes
inherited along with attached ones.

**bpftool cgroup attach** *CGROUP* *ATTACH_TYPE* *PROG* [*ATTACH_FLAGS*]
Attach program *PROG* to the cgroup *CGROUP* with attach type
*ATTACH_TYPE* and optional *ATTACH_FLAGS*.

*ATTACH_FLAGS* can be one of: **override** if a sub-cgroup installs
some bpf program, the program in this cgroup yields to sub-cgroup
program; **multi** if a sub-cgroup installs some bpf program,
that cgroup program gets run in addition to the program in this
cgroup.

Only one program is allowed to be attached to a cgroup with
no attach flags or the **override** flag. Attaching another
program will release old program and attach the new one.

Multiple programs are allowed to be attached to a cgroup with
**multi**. They are executed in FIFO order (those that were
attached first, run first).

Non-default *ATTACH_FLAGS* are supported by kernel version 4.14
and later.

*ATTACH_TYPE* can be on of:
**ingress** ingress path of the inet socket (since 4.10);
**egress** egress path of the inet socket (since 4.10);
**sock_create** opening of an inet socket (since 4.10);
**sock_ops** various socket operations (since 4.12);
**device** device access (since 4.15);
**bind4** call to bind(2) for an inet4 socket (since 4.17);
**bind6** call to bind(2) for an inet6 socket (since 4.17);
**post_bind4** return from bind(2) for an inet4 socket (since 4.17);
**post_bind6** return from bind(2) for an inet6 socket (since 4.17);
**connect4** call to connect(2) for an inet4 socket (since 4.17);
**connect6** call to connect(2) for an inet6 socket (since 4.17);
**sendmsg4** call to sendto(2), sendmsg(2), sendmmsg(2) for an
unconnected udp4 socket (since 4.18);
**sendmsg6** call to sendto(2), sendmsg(2), sendmmsg(2) for an
unconnected udp6 socket (since 4.18);
**recvmsg4** call to recvfrom(2), recvmsg(2), recvmmsg(2) for
an unconnected udp4 socket (since 5.2);
**recvmsg6** call to recvfrom(2), recvmsg(2), recvmmsg(2) for
an unconnected udp6 socket (since 5.2);
**sysctl** sysctl access (since 5.2);
**getsockopt** call to getsockopt (since 5.3);
**setsockopt** call to setsockopt (since 5.3);
**getpeername4** call to getpeername(2) for an inet4 socket (since 5.8);
**getpeername6** call to getpeername(2) for an inet6 socket (since 5.8);
**getsockname4** call to getsockname(2) for an inet4 socket (since 5.8);
**getsockname6** call to getsockname(2) for an inet6 socket (since 5.8).
**sock_release** closing an userspace inet socket (since 5.9).

**bpftool cgroup detach** *CGROUP* *ATTACH_TYPE* *PROG*
Detach *PROG* from the cgroup *CGROUP* and attach type
*ATTACH_TYPE*.

**bpftool prog help**
Print short help message.
bpftool cgroup { show | list } *CGROUP* [effective]
List all programs attached to the cgroup *CGROUP*.

Output will start with program ID followed by attach type, attach flags
and program name.

If **effective** is specified retrieve effective programs that will
execute for events within a cgroup. This includes inherited along with
attached ones.

bpftool cgroup tree [*CGROUP_ROOT*] [effective]
Iterate over all cgroups in *CGROUP_ROOT* and list all attached
programs. If *CGROUP_ROOT* is not specified, bpftool uses cgroup v2
mountpoint.

The output is similar to the output of cgroup show/list commands: it
starts with absolute cgroup path, followed by program ID, attach type,
attach flags and program name.

If **effective** is specified retrieve effective programs that will
execute for events within a cgroup. This includes inherited along with
attached ones.

bpftool cgroup attach *CGROUP* *ATTACH_TYPE* *PROG* [*ATTACH_FLAGS*]
Attach program *PROG* to the cgroup *CGROUP* with attach type
*ATTACH_TYPE* and optional *ATTACH_FLAGS*.

*ATTACH_FLAGS* can be one of: **override** if a sub-cgroup installs
some bpf program, the program in this cgroup yields to sub-cgroup
program; **multi** if a sub-cgroup installs some bpf program, that
cgroup program gets run in addition to the program in this cgroup.

Only one program is allowed to be attached to a cgroup with no attach
flags or the **override** flag. Attaching another program will release
old program and attach the new one.

Multiple programs are allowed to be attached to a cgroup with **multi**.
They are executed in FIFO order (those that were attached first, run
first).

Non-default *ATTACH_FLAGS* are supported by kernel version 4.14 and
later.

*ATTACH_TYPE* can be on of:
**ingress** ingress path of the inet socket (since 4.10);

**egress** egress path of the inet socket (since 4.10);

**sock_create** opening of an inet socket (since 4.10);

**sock_ops** various socket operations (since 4.12);

**device** device access (since 4.15);

**bind4** call to bind(2) for an inet4 socket (since 4.17);

**bind6** call to bind(2) for an inet6 socket (since 4.17);

**post_bind4** return from bind(2) for an inet4 socket (since 4.17);

**post_bind6** return from bind(2) for an inet6 socket (since 4.17);

**connect4** call to connect(2) for an inet4 socket (since 4.17);

**connect6** call to connect(2) for an inet6 socket (since 4.17);

**sendmsg4** call to sendto(2), sendmsg(2), sendmmsg(2) for an
unconnected udp4 socket (since 4.18);

**sendmsg6** call to sendto(2), sendmsg(2), sendmmsg(2) for an
unconnected udp6 socket (since 4.18);

**recvmsg4** call to recvfrom(2), recvmsg(2), recvmmsg(2) for
an unconnected udp4 socket (since 5.2);

**recvmsg6** call to recvfrom(2), recvmsg(2), recvmmsg(2) for
an unconnected udp6 socket (since 5.2);

**sysctl** sysctl access (since 5.2);

**getsockopt** call to getsockopt (since 5.3);

**setsockopt** call to setsockopt (since 5.3);

**getpeername4** call to getpeername(2) for an inet4 socket (since 5.8);

**getpeername6** call to getpeername(2) for an inet6 socket (since 5.8);

**getsockname4** call to getsockname(2) for an inet4 socket (since 5.8);

**getsockname6** call to getsockname(2) for an inet6 socket (since 5.8).

**sock_release** closing an userspace inet socket (since 5.9).

**bpftool cgroup detach** *CGROUP* *ATTACH_TYPE* *PROG*
Detach *PROG* from the cgroup *CGROUP* and attach type *ATTACH_TYPE*.

**bpftool prog help**
Print short help message.

OPTIONS
=======
.. include:: common_options.rst
.. include:: common_options.rst

-f, --bpffs
Show file names of pinned programs.
-f, --bpffs
Show file names of pinned programs.

EXAMPLES
========
Expand Down
Loading

0 comments on commit f2ee92f

Please sign in to comment.