Lines Matching full:helper
351 * restrict map and helper usage for such programs. Sleepable BPF programs can
707 * developers about the multiple available eBPF helper functions. It can be
721 * Start of BPF helper function descriptions:
744 * elements always exist), the helper would return an error.
774 * This helper is a "printk()-like" facility for debugging. It
781 * Each time the helper is called, it appends a line to the trace.
817 * helper will return **-EINVAL** (but print nothing) if it
823 * states that the helper should not be used "for production use"
824 * the first time this helper is used (or more precisely, when
835 * From a security point of view, this helper uses its own
838 * essential to note that the generator used by the helper is not
861 * A call to this helper is susceptible to change the underlying
864 * performed again, if the helper is used in combination with
872 * associated to *skb*. Computation is incremental, so the helper
881 * This helper works in combination with **bpf_csum_diff**\ (),
886 * A call to this helper is susceptible to change the underlying
889 * performed again, if the helper is used in combination with
898 * helper must know the former value of the header field that was
913 * This helper works in combination with **bpf_csum_diff**\ (),
918 * A call to this helper is susceptible to change the underlying
921 * performed again, if the helper is used in combination with
928 * This special helper is used to trigger a "tail call", or in
938 * Upon call of this helper, the program attempts to jump into a
946 * fails, then the helper has no effect, and the caller continues
966 * In comparison with **bpf_redirect**\ () helper,
973 * A call to this helper is susceptible to change the underlying
976 * performed again, if the helper is used in combination with
999 * helper makes sure that the *buf* is NUL-terminated. On failure,
1009 * This helper can be used on TC egress path, but not on ingress.
1024 * This helper is only available is the kernel was compiled with
1038 * A call to this helper is susceptible to change the underlying
1041 * performed again, if the helper is used in combination with
1050 * A call to this helper is susceptible to change the underlying
1053 * performed again, if the helper is used in combination with
1060 * Get tunnel metadata. This helper takes a pointer *key* to an
1077 * () helper.
1102 * configuration can be extracted from this helper.
1142 * helper for additional information.
1148 * Read the value of a perf event counter. This helper relies on a
1162 * Also, be aware that the newer helper
1178 * This helper is somewhat similar to **bpf_clone_redirect**\
1191 * redirect target instead of providing it directly to the helper.
1193 * For XDP, the helper returns **XDP_REDIRECT** on success or
1204 * **bpf_get_cgroup_classid**\ () helper), but here this tag is
1216 * This helper is available only if the kernel was compiled with
1240 * helper.
1256 * Note that this helper is not restricted to tracing use cases
1269 * This helper was provided as an easy way to load data from a
1274 * Since Linux 4.7, usage of this helper has mostly been replaced
1287 * this, the helper needs *ctx*, which is a pointer to the context
1310 * For walking a stack, this helper is an improvement over
1333 * to the helper).
1345 * This helper can be used in combination with
1359 * This helper can be used with encapsulation devices that can
1364 * allows for pushing (with **bpf_skb_get_tunnel_opt**\ () helper)
1377 * helper for additional information.
1385 * IPv4. The helper takes care of the groundwork for the
1390 * (). The main case for this helper is to perform NAT64
1400 * A call to this helper is susceptible to change the underlying
1403 * performed again, if the helper is used in combination with
1413 * **->pkt_type** beside this helper. Using a helper here allows
1472 * This helper should not be used to implement any kind of
1479 * Therefore, when an eBPF program using this helper is attached,
1503 * The basic idea is that the helper performs the needed work to
1507 * and others. This helper is a slow path utility intended for
1509 * slow path, the helper itself can afford to be slow: it
1513 * A call to this helper is susceptible to change the underlying
1516 * performed again, if the helper is used in combination with
1528 * This helper is only needed for reading and writing with direct
1536 * buffer, use a helper to make the data available. The
1537 * **bpf_skb_load_bytes**\ () helper is a first solution to access
1549 * A call to this helper is susceptible to change the underlying
1552 * performed again, if the helper is used in combination with
1561 * field. Return an error otherwise. This helper is intended to be
1575 * hash or when the **bpf_get_hash_recalc**\ () helper is called.
1580 * for this helper is the selection of sockets for the local NUMA
1583 * but the helper is also available to other eBPF program types,
1595 * This helper can be used on a layer 3 *skb* to push a MAC header
1601 * A call to this helper is susceptible to change the underlying
1604 * performed again, if the helper is used in combination with
1612 * it is possible to use a negative value for *delta*. This helper
1616 * A call to this helper is susceptible to change the underlying
1619 * performed again, if the helper is used in combination with
1643 * socket. This helper can be useful for monitoring per socket
1652 * Equivalent to bpf_get_socket_cookie() helper that accepts
1659 * Equivalent to **bpf_get_socket_cookie**\ () helper that accepts
1693 * This helper actually implements a subset of **setsockopt()**.
1715 * By default, the helper will reset any offloaded checksum
1748 * A call to this helper is susceptible to change the underlying
1751 * performed again, if the helper is used in combination with
1812 * so the latter must be loaded only after the helper has been
1828 * A call to this helper is susceptible to change the underlying
1831 * performed again, if the helper is used in combination with
1839 * of size *buf_size*. This helper relies on a *map* of type
1850 * This helper behaves in a way close to
1851 * **bpf_perf_event_read**\ () helper, save that instead of
1892 * description of helper **bpf_perf_event_read_value**\ () for
1912 * This helper actually implements a subset of **getsockopt()**.
1924 * Used for error injection, this helper uses kprobes to override
1929 * This helper works by setting the PC (program counter)
1935 * This helper has security implications, and thus is subject to
1941 * Also, the helper is only available for the architectures having
1959 * this helper must be used for updates in order to return an
1993 * This helper is used in programs implementing policies at the
2010 * For example, this helper can be used in the following cases:
2021 * When called from within an eBPF program, the helper sets a
2051 * *bytes* bytes to validate a header, this helper can be used to
2072 * being decided. This helper can be used to pull in data and to
2077 * A call to this helper is susceptible to change the underlying
2080 * performed again, if the helper is used in combination with
2096 * This helper works for IPv4 and IPv6, TCP and UDP sockets. The
2112 * A call to this helper is susceptible to change the underlying
2115 * performed again, if the helper is used in combination with
2131 * This helper is available only if the kernel was compiled with
2139 * To achieve this, the helper needs *ctx*, which is a pointer
2171 * This helper is similar to **bpf_skb_load_bytes**\ () in that
2184 * access packet data, however, this helper is in particular useful
2243 * This helper is used in programs implementing policies at the
2257 * This helper is used in programs implementing policies at the
2298 * A call to this helper is susceptible to change the underlying
2301 * performed again, if the helper is used in combination with
2311 * modified through this helper.
2313 * A call to this helper is susceptible to change the underlying
2316 * performed again, if the helper is used in combination with
2329 * A call to this helper is susceptible to change the underlying
2332 * performed again, if the helper is used in combination with
2358 * A call to this helper is susceptible to change the underlying
2361 * performed again, if the helper is used in combination with
2368 * This helper is used in programs implementing IR decoding, to
2379 * This helper is only available is the kernel was compiled with
2387 * This helper is used in programs implementing IR decoding, to
2405 * This helper is only available is the kernel was compiled with
2415 * helper for cgroup v1 by providing a tag resp. identifier that
2421 * This helper can be used on TC egress path, but not on ingress,
2468 * The helper is useful to implement policies based on cgroups
2472 * The format of returned id and helper limitations are same as in
2506 * This helper is available only if the kernel was compiled with
2543 * This helper is available only if the kernel was compiled with
2591 * This helper may fail if under memory pressure (a malloc
2602 * However, the helper will try to avoid doing the allocation
2611 * This helper is used in programs implementing IR decoding, to
2617 * This helper is only available is the kernel was compiled with
2651 * * To use the **bpf_spin_lock**\ () helper, the BTF description
2680 * This helper gets a **struct bpf_sock** pointer such
2688 * This helper gets a **struct bpf_tcp_sock** pointer from a
2701 * 1 if the **CE** flag is set (either by the current helper call
2723 * This helper is available only if the kernel was compiled with
2870 * helper enforces the key must be a full socket and the map must
2962 * This helper is similar to **bpf_perf_event_output**\ () but
2991 * makes this helper useful in tracing programs for reading
3010 * In comparison, using **bpf_probe_read_user**\ () helper here
3018 * **->mm->env_start**: using this helper and the return value,
3110 * This helper is similar to **bpf_perf_eventoutput**\ () but
3121 * NULL, then the helper returns the cookie for the initial
3123 * of **bpf_get_socket_cookie**\ () helper, but for network
3137 * The helper is useful to implement policies based on cgroups
3141 * The format of returned id and helper limitations are same as in
3148 * Helper is overloaded depending on BPF program type. This
3179 * Helper is overloaded depending on BPF program type. This
3283 * This helper is available only if the kernel was compiled with
3297 * The helper is useful to implement policies based on cgroups
3301 * The format of returned id and helper limitations are same as in
3367 * through **bpf_skb_adjust_room**\ () helper with passing in
3371 * into the former could be accompanied by a helper call to
3425 * To achieve this, the helper needs *task*, which is a valid
3514 * **-EPERM** if the helper cannot be used under the current
3529 * This helper will check for duplicated option
3532 * This helper can only be called during
3547 * **-EPERM** if the helper cannot be used under the current
3559 * This helper can only be called during
3569 * **-EPERM** if the helper cannot be used under the current
3580 * helper enforces the key must be an inode and the map must also
3674 * This helper differs from **bpf_get_cgroup_classid**\ () in that
3683 * and fill in L2 addresses from neighboring subsystem. This helper
3685 * populates L2 addresses as well, meaning, internally, the helper
3688 * The helper will perform a FIB lookup based on the skb's
3694 * The *flags* argument is reserved and must be 0. The helper is
3698 * The helper returns **TC_ACT_REDIRECT** on success or
3733 * This helper is somewhat similar to **bpf_redirect**\ (), except
3738 * The *flags* argument is reserved and must be 0. The helper is
3743 * The helper returns **TC_ACT_REDIRECT** on success or
3905 /* integer value in 'imm' field of BPF_CALL instruction selects which helper
3915 /* All flags used by eBPF helper functions, placed here. */
4055 /* Mode for BPF_FUNC_skb_adjust_room helper. */
4061 /* Mode for BPF_FUNC_skb_load_bytes_relative helper. */
4067 /* Encapsulation type for BPF_FUNC_lwt_push_encap helper. */
4347 * indirectly read by a helper "bpf_skb_load_bytes()".
5024 * via the bpf_snprintf_btf() helper described above. A flags field -