Lines Matching full:metadata
2 XDP RX Metadata
6 hardware metadata related to a packet using a set of helper functions,
7 and how it can pass that metadata on to other consumers.
12 XDP has access to a set of kfuncs to manipulate the metadata in an XDP frame.
13 Every device driver that wishes to expose additional packet metadata can
18 metadata is supported, this set will grow:
23 An XDP program can use these kfuncs to read the metadata into stack
24 variables for its own consumption. Or, to pass the metadata on to other
25 consumers, an XDP program can store it into the metadata area carried
27 metadata available in which case the driver returns ``-ENODATA``.
34 Within an XDP frame, the metadata layout (accessed via ``xdp_buff``) is
38 | headroom | custom metadata | data |
44 An XDP program can store individual metadata items into this ``data_meta``
45 area in whichever format it chooses. Later consumers of the metadata
55 bytes out of metadata via ``bpf_xdp_adjust_meta`` and calls a subset
57 ``xsk_umem__get_data() - METADATA_SIZE`` to locate that metadata.
60 descriptor does _not_ explicitly carry the size of the metadata).
65 | headroom | custom metadata | data |
77 the descriptors and populate ``skb`` metadata when doing this ``xdp_buff->skb``
78 conversion, and the XDP metadata is not used by the kernel when building
79 ``skbs``. However, TC-BPF programs can access the XDP metadata area using
83 can override some of the metadata used for building ``skbs``.
92 the original metadata. The same applies to XDP programs installed
95 This means that for redirected packets only custom metadata is
98 ``skb`` created from such a frame won't have any hardware metadata populated
100 that will also only have access to the custom metadata.
105 Adding programs that access metadata kfuncs to the ``BPF_MAP_TYPE_PROG_ARRAY``
113 BPF program that handles XDP metadata.