tools/bpf/bpftool/Documentation/bpftool-net.rst

Source file repositories/reference/linux-study-clean/tools/bpf/bpftool/Documentation/bpftool-net.rst

File Facts

System
Linux kernel
Corpus path
tools/bpf/bpftool/Documentation/bpftool-net.rst
Extension
.rst
Size
6746 bytes
Lines
219
Domain
Support Tooling And Documentation
Bucket
tools
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

.. SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)

================
bpftool-net
================
-------------------------------------------------------------------------------
tool for inspection of networking related bpf prog attachments
-------------------------------------------------------------------------------

:Manual section: 8

.. include:: substitutions.rst

SYNOPSIS
========

**bpftool** [*OPTIONS*] **net** *COMMAND*

*OPTIONS* := { |COMMON_OPTIONS| }

*COMMANDS* := { **show** | **list** | **attach** | **detach** | **help** }

NET COMMANDS
============

| **bpftool** **net** { **show** | **list** } [ **dev** *NAME* ]
| **bpftool** **net attach** *ATTACH_TYPE* *PROG* **dev** *NAME* [ **overwrite** | **prepend** ]
| **bpftool** **net detach** *ATTACH_TYPE* **dev** *NAME*
| **bpftool** **net help**
|
| *PROG* := { **id** *PROG_ID* | **pinned** *FILE* | **tag** *PROG_TAG* | **name** *PROG_NAME* }
| *ATTACH_TYPE* := { **xdp** | **xdpgeneric** | **xdpdrv** | **xdpoffload** | **tcx_ingress** | **tcx_egress** }

DESCRIPTION
===========
bpftool net { show | list } [ dev *NAME* ]
    List bpf program attachments in the kernel networking subsystem.

    Currently, device driver xdp attachments, tcx, netkit and old-style tc
    classifier/action attachments, flow_dissector as well as netfilter
    attachments are implemented, i.e., for program types **BPF_PROG_TYPE_XDP**,
    **BPF_PROG_TYPE_SCHED_CLS**, **BPF_PROG_TYPE_SCHED_ACT**,
    **BPF_PROG_TYPE_FLOW_DISSECTOR**, **BPF_PROG_TYPE_NETFILTER**.

    For programs attached to a particular cgroup, e.g.,
    **BPF_PROG_TYPE_CGROUP_SKB**, **BPF_PROG_TYPE_CGROUP_SOCK**,
    **BPF_PROG_TYPE_SOCK_OPS** and **BPF_PROG_TYPE_CGROUP_SOCK_ADDR**, users
    can use **bpftool cgroup** to dump cgroup attachments. For sk_{filter, skb,
    msg, reuseport} and lwt/seg6 bpf programs, users should consult other
    tools, e.g., iproute2.

    The current output will start with all xdp program attachments, followed by
    all tcx, netkit, then tc class/qdisc bpf program attachments, then
    flow_dissector and finally netfilter programs. Both xdp programs and
    tcx/netkit/tc programs are ordered based on ifindex number. If multiple bpf
    programs attached to the same networking device through **tc**, the order
    will be first all bpf programs attached to tcx, netkit, then tc classes,
    then all bpf programs attached to non clsact qdiscs, and finally all bpf
    programs attached to root and clsact qdisc.

bpftool net attach *ATTACH_TYPE* *PROG* dev *NAME* [ overwrite | prepend ]
    Attach bpf program *PROG* to network interface *NAME* with type specified
    by *ATTACH_TYPE*.

    *ATTACH_TYPE* can be of:
    **xdp** - try native XDP and fallback to generic XDP if NIC driver does not support it;
    **xdpgeneric** - Generic XDP. runs at generic XDP hook when packet already enters receive path as skb;
    **xdpdrv** - Native XDP. runs earliest point in driver's receive path;
    **xdpoffload** - Offload XDP. runs directly on NIC on each packet reception;
    **tcx_ingress** - Ingress TCX. runs on ingress net traffic;

Annotation

Implementation Notes