Lines Matching full:metadata

4 XDP RX Metadata
8 hardware metadata related to a packet using a set of helper functions,
9 and how it can pass that metadata on to other consumers.
14 XDP has access to a set of kfuncs to manipulate the metadata in an XDP frame.
15 Every device driver that wishes to expose additional packet metadata can
20 metadata is supported, this set will grow:
31 An XDP program can use these kfuncs to read the metadata into stack
32 variables for its own consumption. Or, to pass the metadata on to other
33 consumers, an XDP program can store it into the metadata area carried
35 metadata available in which case the driver returns ``-ENODATA``.
42 Within an XDP frame, the metadata layout (accessed via ``xdp_buff``) is
46 | headroom | custom metadata | data |
52 An XDP program can store individual metadata items into this ``data_meta``
53 area in whichever format it chooses. Later consumers of the metadata
63 bytes out of metadata via ``bpf_xdp_adjust_meta`` and calls a subset
65 ``xsk_umem__get_data() - METADATA_SIZE`` to locate that metadata.
68 descriptor does _not_ explicitly carry the size of the metadata).
73 | headroom | custom metadata | data |
85 the descriptors and populate ``skb`` metadata when doing this ``xdp_buff->skb``
86 conversion, and the XDP metadata is not used by the kernel when building
87 ``skbs``. However, TC-BPF programs can access the XDP metadata area using
91 can override some of the metadata used for building ``skbs``.
100 the original metadata. The same applies to XDP programs installed
103 This means that for redirected packets only custom metadata is
106 ``skb`` created from such a frame won't have any hardware metadata populated
108 that will also only have access to the custom metadata.
113 Adding programs that access metadata kfuncs to the ``BPF_MAP_TYPE_PROG_ARRAY``
120 netlink. See ``xdp-rx-metadata-features`` attribute set in
128 BPF program that handles XDP metadata.