• Home
  • Raw
  • Download

Lines Matching +full:configure +full:- +full:cares +full:- +full:debug

1 /* This is auto-generated file. See bpf_doc.py for details. */
119 * This helper is a "printk()-like" facility for debugging. It
137 * telnet-470 [001] .N.. 419421.045894: 0x00000001: <formatted msg>
162 * helper will return **-EINVAL** (but print nothing) if it
182 * Get a pseudo-random number.
185 * pseudo-random internal state, and cannot be used to infer the
191 * A random 32-bit unsigned value.
215 * **BPF_F_INVALIDATE_HASH** (set *skb*\ **->hash**, *skb*\
216 * **->swhash** and *skb*\ **->l4hash** to 0).
243 * which does not update the checksum in-place, but offers more
276 * the checksum is to be computed against a pseudo-header.
279 * which does not update the checksum in-place, but offers more
365 * A 64-bit integer containing the current tgid and pid, and
367 * *current_task*\ **->tgid << 32 \|**
368 * *current_task*\ **->pid**.
378 * A 64-bit integer containing the current GID and UID, and
390 * helper makes sure that the *buf* is NUL-terminated. On failure,
407 * based on a user-provided identifier for all traffic coming from
410 * *Documentation/admin-guide/cgroup-v1/net_cls.rst*.
416 * run on cgroups, which is a cgroup-v2-only feature (a socket can
480 * in *key*\ **->remote_ipv4** or *key*\ **->remote_ipv6**. Also,
481 * this struct exposes the *key*\ **->tunnel_id**, which is
628 * identifier retrieved is a user-provided tag, similar to the
634 * (see also **tc-bpf(8)**), or alternatively on conventional
710 * manipulated with *skb*\ **->data** and *skb*\ **->data_end**
745 * generating a variety of graphs (such as flame graphs or off-cpu
811 * and retrieving arbitrary TLVs (Type-Length-Value headers) from
869 * comes down to setting *skb*\ **->pkt_type** to *type*, except
871 * **->pkt_type** beside this helper. Using a helper here allows
914 * Retrieve the hash of the packet, *skb*\ **->hash**. If it is
917 * directly with *skb*\ **->hash**.
927 * The 32-bit hash.
949 * security mechanism because of TOC-TOU attacks, but rather to
950 * debug, divert, and manipulate execution of semi-cooperative
1011 * Pull in non-linear data in case the *skb* is non-linear and not
1021 * are within packet boundaries (test on *skb*\ **->data_end**) is
1023 * data is in non-linear parts of the *skb*. On failure the
1024 * program can just bail out, or in the case of a non-linear
1028 * to pull in once the non-linear parts, then retesting and
1052 * Add the checksum *csum* into *skb*\ **->csum** in case the
1068 * Invalidate the current *skb*\ **->hash**. It can be used after
1122 * Adjust (move) *xdp_md*\ **->data** by *delta* bytes. Note that
1167 * A 8-byte long unique number on success, or 0 if the socket
1180 * time-wait or a request socket instead), **overflowuid** value
1189 * Set the full hash for *skb* (set the field *skb*\ **->hash**)
1268 * Configure skb offsets and other fields accordingly.
1368 * Adjust the address pointed by *xdp_md*\ **->data_meta** by
1370 * operation modifies the address stored in *xdp_md*\ **->data**,
1374 * The use of *xdp_md*\ **->data_meta** is optional and programs
1380 * this up for further post-processing. Since TC works with socket
1418 * **->enabled** and *buf*\ **->running**, respectively) are
1552 * **bpf_sock->bpf_sock_ops_cb_flags & ~BPF_SOCK_OPS_RTO_CB_FLAG)**
1564 * Code **-EINVAL** if the socket is not a full TCP socket;
1600 * * An eBPF program only cares to read the first *bytes* of a
1611 * *bytes* will be sent and the eBPF program will be re-run with
1619 * a non-zero value, this is not a problem because data is not
1638 * 1-byte long message segments. Obviously, this is bad for
1652 * For socket policies, pull in non-linear data from user space
1653 * for *msg* and set pointers *msg*\ **->data** and *msg*\
1654 * **->data_end** to *start* and *end* bytes offsets into *msg*,
1694 * domain (*addr*\ **->sa_family**) must be **AF_INET** (or
1696 * or **sin6_port**) which triggers IP_BIND_ADDRESS_NO_PORT-like
1698 * port as long as 4-tuple is unique. Passing non-zero port might
1709 * Adjust (move) *xdp_md*\ **->data_end** by *delta* bytes. It is
1728 * **ip-xfrm(8)**) at *index* in XFRM "security path" for *skb*.
1769 * adjusted by adding (sh_addr - sh_offset), where
1786 * The non-negative copied *buf* length equal to or less than
1808 * in socket filters where *skb*\ **->data** does not always point
1839 * Use the routing table ID present in *params*->tbid
1845 * Skip the neighbour table lookup. *params*->dmac
1846 * and *params*->smac will not be set as output. A common
1850 * Derive and set source IP addr in *params*->ipv{4,6}_src
1853 * case, *params*->dmac and *params*->smac are not set either.
1865 * was exceeded and output params->mtu_result contains the MTU.
2017 * End.X action: Endpoint with Layer-3 cross-connect.
2103 * to the same 64-bit id.
2121 * A 64-bit integer containing the current cgroup id based
2188 * and if non-**NULL**, released via **bpf_sk_release**\ ().
2196 * **sizeof**\ (*tuple*\ **->ipv4**)
2198 * **sizeof**\ (*tuple*\ **->ipv6**)
2201 * If the *netns* is a negative signed 32-bit integer, then the
2205 * If *netns* is any other signed 32-bit value greater than or
2208 * range of 32-bit integers are reserved for future use.
2219 * result is from *reuse*\ **->socks**\ [] using the hash of the
2229 * and if non-**NULL**, released via **bpf_sk_release**\ ().
2237 * **sizeof**\ (*tuple*\ **->ipv4**)
2239 * **sizeof**\ (*tuple*\ **->ipv6**)
2242 * If the *netns* is a negative signed 32-bit integer, then the
2246 * If *netns* is any other signed 32-bit value greater than or
2249 * range of 32-bit integers are reserved for future use.
2260 * result is from *reuse*\ **->socks**\ [] using the hash of the
2269 * non-**NULL** pointer that was returned from
2387 * allowed inside a spinlock-ed region.
2410 * * **bpf_spin_lock** is not allowed in inner maps of map-in-map.
2483 * and if non-**NULL**, released via **bpf_sk_release**\ ().
2496 * result is from *reuse*\ **->socks**\ [] using the hash of the
2527 * The buffer is always NUL terminated, unless it's zero-sized.
2536 * **-E2BIG** if the buffer wasn't big enough (*buf* will contain
2551 * The buffer is always NUL terminated, unless it's zero-sized.
2556 * **-E2BIG** if the buffer wasn't big enough (*buf* will contain
2559 * **-EINVAL** if current value was unavailable, e.g. because
2560 * sysctl is uninitialized and read returns -EIO for it.
2573 * The buffer is always NUL terminated, unless it's zero-sized.
2578 * **-E2BIG** if the buffer wasn't big enough (*buf* will contain
2581 * **-EINVAL** if sysctl is being read.
2600 * **-E2BIG** if the *buf_len* is too big.
2602 * **-EINVAL** if sysctl is being read.
2615 * optional '**-**' sign.
2627 * **-EINVAL** if no valid digits were found or unsupported base
2630 * **-ERANGE** if resulting value was out of range.
2654 * **-EINVAL** if no valid digits were found or unsupported base
2657 * **-ERANGE** if resulting value was out of range.
2664 * Get a bpf-local-storage from a *sk*.
2674 * the *map*. The *map* is used as the bpf-local-storage
2675 * "type". The bpf-local-storage "type" (i.e. the *map*) is
2676 * searched against all bpf-local-storages residing at *sk*.
2682 * used such that a new bpf-local-storage will be
2685 * the initial value of a bpf-local-storage. If *value* is
2686 * **NULL**, the new bpf-local-storage will be zero initialized.
2689 * A bpf-local-storage pointer is returned on success.
2692 * a new bpf-local-storage.
2699 * Delete a bpf-local-storage from a *sk*.
2704 * **-ENOENT** if the bpf-local-storage cannot be found.
2705 * **-EINVAL** if sk is not a fullsock (e.g. a request_sock).
2718 * **-EBUSY** if work queue under nmi is full.
2720 * **-EINVAL** if *sig* is invalid.
2722 * **-EPERM** if no permission to send the *sig*.
2724 * **-EAGAIN** if bpf program can try again.
2749 * **-EINVAL** SYN cookie cannot be issued due to error
2751 * **-ENOENT** SYN cookie should not be issued (no SYN flood)
2753 * **-EOPNOTSUPP** kernel configuration does not enable SYN cookies
2755 * **-EPROTONOSUPPORT** IP packet version is not 4 or 6
2777 * *ctx* is a pointer to in-kernel struct sk_buff.
2816 * string length is larger than *size*, just *size*-1 bytes are
2831 * ctx->di);
2846 * *current*\ **->mm->arg_start** and *current*\
2847 * **->mm->env_start**: using this helper and the return value,
2872 * Send out a tcp-ack. *tp* is the in-kernel struct **tcp_sock**.
2888 * **-EBUSY** if work queue under nmi is full.
2890 * **-EINVAL** if *sig* is invalid.
2892 * **-EPERM** if no permission to send the *sig*.
2894 * **-EAGAIN** if bpf program can try again.
2924 * **-EINVAL** if arguments invalid or **size** not a multiple
2927 * **-ENOENT** if architecture does not support branch records.
2940 * **-EINVAL** if dev and inum supplied don't match dev_t and inode number
2943 * **-ENOENT** if pidns does not exists for the current task.
2965 * *ctx* is a pointer to in-kernel struct xdp_buff.
2988 * A 8-byte long opaque number.
3035 * **-EINVAL** if specified *flags* are not supported.
3037 * **-ENOENT** if the socket is unavailable for assignment.
3039 * **-ENETUNREACH** if the socket is unreachable (wrong netns).
3041 * **-EOPNOTSUPP** if the operation is not supported, for example
3068 * The *data_len* is the size of *data* in bytes - must be a multiple of 8.
3080 * **-EBUSY** if per-CPU memory copy buffer is busy, can try again
3083 * **-EINVAL** if arguments are invalid, or if *fmt* is invalid/unsupported.
3085 * **-E2BIG** if *fmt* contains too many format specifiers.
3087 * **-EOVERFLOW** if an overflow happened: The same object will be tried again.
3101 * **-EOVERFLOW** if an overflow happened: The same object will be tried again.
3110 * *sk* must be a non-**NULL** pointer to a socket, e.g. one
3156 * An adaptive notification is a notification sent whenever the user-space
3157 * process has caught up and consumed all available payloads. In case the user-space
3254 * * **BPF_CSUM_LEVEL_INC**: Increases skb->csum_level for skbs
3256 * * **BPF_CSUM_LEVEL_DEC**: Decreases skb->csum_level for skbs
3258 * * **BPF_CSUM_LEVEL_RESET**: Resets skb->csum_level to 0 and
3260 * * **BPF_CSUM_LEVEL_QUERY**: No-op, returns the current
3261 * skb->csum_level.
3265 * case of **BPF_CSUM_LEVEL_QUERY**, the current skb->csum_level
3266 * is returned or the error code -EACCES in case the skb is not
3326 * the current task; all other tasks will return -EOPNOTSUPP.
3355 * The non-negative copied *buf* length equal to or less than
3367 * *skops*\ **->skb_data**. The comment in **struct bpf_sock_ops**
3369 * *skops*\ **->op**.
3379 * the 2nd byte which is "kind-length" of a TCP
3380 * header option and the "kind-length" also
3381 * includes the first 2 bytes "kind" and "kind-length"
3390 * Note, kind-length must be 0 for regular option.
3392 * Searching for No-Op (0) and End-of-Option-List (1) are
3401 * saved_syn packet or the just-received syn packet.
3409 * **-EINVAL** if a parameter is invalid.
3411 * **-ENOMSG** if the option is not found.
3413 * **-ENOENT** if no syn packet is available when
3416 * **-ENOSPC** if there is not enough space. Only *len* number of
3419 * **-EFAULT** on failure to parse the header options in the
3422 * **-EPERM** if the helper cannot be used under the current
3423 * *skops*\ **->op**.
3434 * includes the kind, kind-length, and the actual
3435 * option data. The *len* must be at least kind-length
3436 * long. The kind-length does not have to be 4 byte
3438 * and setting the 4 bytes aligned value to th->doff.
3450 * **-EINVAL** If param is invalid.
3452 * **-ENOSPC** if there is not enough space in the header.
3455 * **-EEXIST** if the option already exists.
3457 * **-EFAULT** on failure to parse the existing header options.
3459 * **-EPERM** if the helper cannot be used under the current
3460 * *skops*\ **->op**.
3481 * **-EINVAL** if a parameter is invalid.
3483 * **-ENOSPC** if there is not enough space in the header.
3485 * **-EPERM** if the helper cannot be used under the current
3486 * *skops*\ **->op**.
3503 * the *map*. The *map* is used as the bpf-local-storage
3504 * "type". The bpf-local-storage "type" (i.e. the *map*) is
3530 * **-ENOENT** if the bpf_local_storage cannot be found.
3564 * Use BTF to store a string representation of *ptr*->ptr in *str*,
3565 * using *ptr*->type_id. This value should specify the type
3566 * that *ptr*->ptr points to. LLVM __builtin_btf_type_id(type, 1)
3569 * stored in the first *str_size* - 1 bytes of *str*. Safe copy of
3590 * show zero-valued struct/union members; they
3605 * *ptr*->ptr, using *ptr*->type_id as per bpf_snprintf_btf().
3721 * the *map*. The *map* is used as the bpf-local-storage
3722 * "type". The bpf-local-storage "type" (i.e. the *map*) is
3748 * **-ENOENT** if the bpf_local_storage cannot be found.
3774 * **-EINVAL** if invalid *flags* are passed, zero otherwise.
3781 * Return a coarse-grained version of the time elapsed since
3801 * **-EOPNOTSUP** if IMA is disabled or **-EINVAL** if
3843 * this value is L3 as this correlate to MTU and IP-header tot_len
3846 * The Linux kernel route table can configure MTUs on a more
3862 * possible for the skb packet to get re-segmented
3872 * MTU value in your BPF-code.
3893 * **map**, **callback_ctx** and other map-specific parameters.
3917 * The number of traversed map elements for success, **-EINVAL** for
3926 * based on a format string stored in a read-only map pointed by
3932 * array. The *data_len* is the size of *data* in bytes - must be
3948 * be zero-terminated except when **str_size** is 0.
3950 * Or **-EBUSY** if the per-CPU memory copy buffer is busy.
3996 * **-EBUSY** if *timer* is already initialized.
3997 * **-EINVAL** if invalid *flags* are passed.
3998 * **-EPERM** if *timer* is in a map that doesn't have any user references.
4008 * Configure the timer to call *callback_fn* static function.
4012 * **-EINVAL** if *timer* was not initialized with bpf_timer_init() earlier.
4013 * **-EPERM** if *timer* is in a map that doesn't have any user references.
4032 * decremented. This is done to make sure that Ctrl-C of a user
4034 * bpffs the callback_fn can re-arm itself indefinitely.
4037 * The map can contain timers that invoke callback_fn-s from different
4053 * **-EINVAL** if *timer* was not initialized with bpf_timer_init() earlier
4066 * **-EINVAL** if *timer* was not initialized with bpf_timer_init() earlier.
4067 * **-EDEADLK** if callback_fn tried to call bpf_timer_cancel() on its
4097 * - kprobe/uprobe;
4098 * - tracepoint;
4099 * - perf_event.
4136 * **-EINVAL** if *flags* is not zero.
4138 * **-ENOENT** if architecture does not support branch records.
4175 * **-EINVAL** if *flags* is not zero.
4177 * **-EINVAL** if string *name* is not the same size as *name_sz*.
4179 * **-ENOENT** if symbol is not found.
4181 * **-EPERM** if caller does not have permission to obtain kernel address.
4202 * **-ENOENT** if *task->mm* is NULL, or no vma contains *addr*.
4203 * **-EBUSY** if failed to try lock mmap_lock.
4204 * **-EINVAL** for invalid **flags**.
4222 * is zero-indexed.
4231 * The number of loops performed, **-EINVAL** for invalid **flags**,
4232 * **-E2BIG** if **nr_loops** exceeds the maximum number of loops.
4240 * to be null-terminated and **s1_sz** is the maximum storage
4241 * size of **s1**. **s2** must be a read-only string.
4253 * Get **n**-th argument register (zero based) of the traced function (for tracing programs)
4259 * **-EINVAL** if n >= argument register count of traced function.
4272 * **-EOPNOTSUPP** for tracing programs other than BPF_TRACE_FEXIT or BPF_MODIFY_RETURN.
4312 * bpf_set_retval(-EPERM);
4315 * In this case, the BPF program's return value will use helper's -EPERM. This
4375 * Change the __sk_buff->tstamp_type to *tstamp_type*
4376 * and set *tstamp* to the __sk_buff->tstamp together.
4378 * If there is no need to change the __sk_buff->tstamp_type,
4379 * the tstamp value can be directly written to __sk_buff->tstamp
4390 * Only IPv4 and IPv6 skb->protocol are supported.
4393 * mono delivery time to __sk_buff->tstamp and then
4395 * changing the (rcv) timestamp in __sk_buff->tstamp at
4397 * to sch_fq@phy-dev.
4401 * **-EINVAL** for invalid input
4402 * **-EOPNOTSUPP** for unsupported protocol
4415 * **-EOPNOTSUP** if the hash calculation failed or **-EINVAL** if
4467 * 0 on success, -E2BIG if the size exceeds DYNPTR_MAX_SIZE,
4468 * -EINVAL if flags is not 0.
4491 * through the dynptr interface. This is a no-op if the dynptr is
4506 * interface. This is a no-op if the dynptr is invalid/null.
4524 * 0 on success, -E2BIG if *offset* + *len* exceeds the length
4525 * of *src*'s data, -EINVAL if *src* is an invalid dynptr or if
4536 * *flags* must be 0 except for skb-type dynptrs.
4538 * For skb-type dynptrs:
4548 * 0 on success, -E2BIG if *offset* + *len* exceeds the length
4549 * of *dst*'s data, -EINVAL if *dst* is an invalid dynptr or if *dst*
4550 * is a read-only dynptr or if *flags* is not correct. For skb-type dynptrs,
4568 * read-only, if the dynptr is invalid, or if the offset and length
4593 * **-EINVAL** if *th_len* is invalid.
4617 * **-EINVAL** if *th_len* is invalid.
4619 * **-EPROTONOSUPPORT** if CONFIG_IPV6 is not builtin.
4638 * **-EACCES** if the SYN cookie is not valid.
4657 * **-EACCES** if the SYN cookie is not valid.
4659 * **-EPROTONOSUPPORT** if CONFIG_IPV6 is not builtin.
4666 * A nonsettable system-wide clock derived from wall-clock time but
4696 * buffer. If a user-space producer was epoll-waiting on this map,
4706 * **-EBUSY** if the ring buffer is contended, and another calling
4709 * **-EINVAL** if user-space is not properly tracking the ring
4714 * **-E2BIG** if user-space has tried to publish a sample which is
4732 * In reality, the local-storage value is embedded directly inside of the
4734 * **BPF_MAP_TYPE_CGRP_STORAGE** map. When the local-storage value is
4736 * O(n) iteration over all of the live local-storage values for that
4737 * *cgroup* object until the local-storage value for the *map* is found.
4762 * **-ENOENT** if the bpf_local_storage cannot be found.