Lines Matching refs:skb
212 * associated to *skb*, at *offset*. *flags* are a combination of
215 * **BPF_F_INVALIDATE_HASH** (set *skb*\ **->hash**, *skb*\
216 * **->swhash** and *skb*\ **->l4hash** to 0).
227 static long (*bpf_skb_store_bytes)(struct __sk_buff *skb, __u32 offset, const void *from, __u32 len, __u64 flags) = (void *) 9;
233 * associated to *skb*. Computation is incremental, so the helper
256 static long (*bpf_l3_csum_replace)(struct __sk_buff *skb, __u32 offset, __u64 from, __u64 to, __u64 size) = (void *) 10;
262 * packet associated to *skb*. Computation is incremental, so the
292 static long (*bpf_l4_csum_replace)(struct __sk_buff *skb, __u32 offset, __u64 from, __u64 to, __u64 flags) = (void *) 11;
332 * Clone and redirect the packet associated to *skb* to another
357 static long (*bpf_clone_redirect)(struct __sk_buff *skb, __u32 ifindex, __u64 flags) = (void *) 13;
402 * cgroup to which *skb* belongs.
426 static __u32 (*bpf_get_cgroup_classid)(struct __sk_buff *skb) = (void *) 17;
432 * *vlan_proto* to the packet associated to *skb*, then update
446 static long (*bpf_skb_vlan_push)(struct __sk_buff *skb, __be16 vlan_proto, __u16 vlan_tci) = (void *) 18;
451 * Pop a VLAN header from the packet associated to *skb*.
462 static long (*bpf_skb_vlan_pop)(struct __sk_buff *skb) = (void *) 19;
469 * filled with tunnel metadata for the packet associated to *skb*.
496 * ret = bpf_skb_get_tunnel_key(skb, &key, sizeof(key), 0);
517 static long (*bpf_skb_get_tunnel_key)(struct __sk_buff *skb, struct bpf_tunnel_key *key, __u32 size, __u64 flags) = (void *) 20;
522 * Populate tunnel metadata for packet associated to *skb.* The
552 * bpf_skb_set_tunnel_key(skb, &key, sizeof(key), 0);
553 * bpf_clone_redirect(skb, vxlan_dev_ifindex, 0);
561 static long (*bpf_skb_set_tunnel_key)(struct __sk_buff *skb, struct bpf_tunnel_key *key, __u32 size, __u64 flags) = (void *) 21;
627 * **tclassid** field of the destination for the *skb*. The
640 * qdisc until the *skb* is freed.
646 * The realm of the route for the packet associated to *skb*, or 0
649 static __u32 (*bpf_get_route_realm)(struct __sk_buff *skb) = (void *) 24;
705 * the packet associated to *skb*, into the buffer pointed by
710 * manipulated with *skb*\ **->data** and *skb*\ **->data_end**
719 static long (*bpf_skb_load_bytes)(const void *skb, __u32 offset, void *to, __u32 len) = (void *) 26;
802 * *skb*, and store the raw tunnel option data to the buffer *opt*
818 static long (*bpf_skb_get_tunnel_opt)(struct __sk_buff *skb, void *opt, __u32 size) = (void *) 29;
823 * Set tunnel options metadata for the packet associated to *skb*
832 static long (*bpf_skb_set_tunnel_opt)(struct __sk_buff *skb, void *opt, __u32 size) = (void *) 30;
837 * Change the protocol of the *skb* to *proto*. Currently
863 static long (*bpf_skb_change_proto)(struct __sk_buff *skb, __be16 proto, __u64 flags) = (void *) 31;
868 * Change the packet type for the packet associated to *skb*. This
869 * comes down to setting *skb*\ **->pkt_type** to *type*, except
870 * the eBPF program does not have a write access to *skb*\
874 * The major use case is to change incoming *skb*s to
894 static long (*bpf_skb_change_type)(struct __sk_buff *skb, __u32 type) = (void *) 32;
899 * Check whether *skb* is a descendant of the cgroup2 held by
905 * * 0, if the *skb* failed the cgroup2 descendant test.
906 * * 1, if the *skb* succeeded the cgroup2 descendant test.
909 static long (*bpf_skb_under_cgroup)(struct __sk_buff *skb, void *map, __u32 index) = (void *) 33;
914 * Retrieve the hash of the packet, *skb*\ **->hash**. If it is
917 * directly with *skb*\ **->hash**.
929 static __u32 (*bpf_get_hash_recalc)(struct __sk_buff *skb) = (void *) 34;
983 * Resize (trim or grow) the packet associated to *skb* to the
995 * *skb*.
1006 static long (*bpf_skb_change_tail)(struct __sk_buff *skb, __u32 len, __u64 flags) = (void *) 38;
1011 * Pull in non-linear data in case the *skb* is non-linear and not
1013 * from *skb* readable and writable. If a zero value is passed for
1014 * *len*, then all bytes in the linear part of *skb* will be made
1021 * are within packet boundaries (test on *skb*\ **->data_end**) is
1023 * data is in non-linear parts of the *skb*. On failure the
1031 * At the same time, this also makes sure the *skb* is uncloned,
1035 * **bpf_skb_pull_data()** to effectively unclone the *skb* from
1047 static long (*bpf_skb_pull_data)(struct __sk_buff *skb, __u32 len) = (void *) 39;
1052 * Add the checksum *csum* into *skb*\ **->csum** in case the
1063 static __s64 (*bpf_csum_update)(struct __sk_buff *skb, __wsum csum) = (void *) 40;
1068 * Invalidate the current *skb*\ **->hash**. It can be used after
1077 static void (*bpf_set_hash_invalid)(struct __sk_buff *skb) = (void *) 41;
1097 * Grows headroom of packet associated to *skb* and adjusts the
1102 * This helper can be used on a layer 3 *skb* to push a MAC header
1117 static long (*bpf_skb_change_head)(struct __sk_buff *skb, __u32 len, __u64 flags) = (void *) 43;
1158 * If the **struct sk_buff** pointed by *skb* has a known socket,
1168 * field is missing inside *skb*.
1175 * Get the owner UID of the socked associated to *skb*.
1178 * The owner UID of the socket associated to *skb*. If the socket
1184 static __u32 (*bpf_get_socket_uid)(struct __sk_buff *skb) = (void *) 47;
1189 * Set the full hash for *skb* (set the field *skb*\ **->hash**)
1195 static long (*bpf_set_hash)(struct __sk_buff *skb, __u32 hash) = (void *) 48;
1241 * *skb* by *len_diff*, and according to the selected *mode*.
1244 * indicator of the skb to CHECKSUM_NONE. This can be avoided
1248 * checksum data of the skb to CHECKSUM_NONE.
1268 * Configure skb offsets and other fields accordingly.
1296 static long (*bpf_skb_adjust_room)(struct __sk_buff *skb, __s32 len_diff, __u32 mode, __u64 flags) = (void *) 50;
1340 static long (*bpf_sk_redirect_map)(struct __sk_buff *skb, void *map, __u32 key, __u64 flags) = (void *) 52;
1728 * **ip-xfrm(8)**) at *index* in XFRM "security path" for *skb*.
1742 static long (*bpf_skb_get_xfrm_state)(struct __sk_buff *skb, __u32 index, struct bpf_xfrm_state *xfrm_state, __u32 size, __u64 flags) = (void *) 66;
1796 * from the packet associated to *skb*, into the buffer pointed
1802 * Base offset to load data from is *skb*'s mac header.
1804 * Base offset to load data from is *skb*'s network header.
1808 * in socket filters where *skb*\ **->data** does not always point
1815 static long (*bpf_skb_load_bytes_relative)(const void *skb, __u32 offset, void *to, __u32 len, __u32 start_header) = (void *) 68;
1914 * skb socket level. If the sk_buff *skb* is allowed to pass (i.e.
1926 static long (*bpf_sk_redirect_hash)(struct __sk_buff *skb, void *map, void *key, __u64 flags) = (void *) 72;
1931 * Encapsulate the packet associated to *skb* within a Layer 3
1941 * Only works if *skb* contains an IPv6 packet. Insert a
1949 * if **skb_is_gso**\ (*skb*) is true, no more than two
1967 static long (*bpf_lwt_push_encap)(struct __sk_buff *skb, __u32 type, void *hdr, __u32 len) = (void *) 73;
1973 * associated to *skb*, at *offset*. Only the flags, tag and TLVs
1986 static long (*bpf_lwt_seg6_store_bytes)(struct __sk_buff *skb, __u32 offset, const void *from, __u32 len) = (void *) 74;
1993 * *skb*, at position *offset* by *delta* bytes. Only offsets
2006 static long (*bpf_lwt_seg6_adjust_srh)(struct __sk_buff *skb, __u32 offset, __s32 delta) = (void *) 75;
2012 * packet associated to *skb*. Each action takes a parameter
2039 static long (*bpf_lwt_seg6_action)(struct __sk_buff *skb, __u32 action, void *param, __u32 param_len) = (void *) 76;
2097 * Return the cgroup v2 id of the socket associated with the *skb*.
2112 static __u64 (*bpf_skb_cgroup_id)(struct __sk_buff *skb) = (void *) 79;
2165 * with the *skb* at the *ancestor_level*. The root cgroup is at
2168 * associated with *skb*, then return value will be same as that
2173 * with *skb*.
2181 static __u64 (*bpf_skb_ancestor_cgroup_id)(struct __sk_buff *skb, int ancestor_level) = (void *) 83;
2191 * the skb or socket (depending on the hook in use). This is used
2204 * in the skb. For socket hooks, this is the netns of the socket.
2232 * the skb or socket (depending on the hook in use). This is used
2245 * in the skb. For socket hooks, this is the netns of the socket.
2464 static long (*bpf_skb_ecn_set_ce)(struct __sk_buff *skb) = (void *) 97;
3021 * Assign the *sk* to the *skb*. When combined with appropriate
3023 * will cause *skb* to be delivered to the specified socket.
3024 * Subsequent redirection of *skb* via **bpf_redirect**\ (),
3249 * skb is still intended to be processed in higher layers of the
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
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
3269 static long (*bpf_csum_level)(struct __sk_buff *skb, __u64 level) = (void *) 135;
3441 * by searching the same option in the outgoing skb.
3618 * the cgroup v1 net_cls class is retrieved only from the *skb*'s
3624 static __u64 (*bpf_skb_cgroup_classid)(struct __sk_buff *skb) = (void *) 151;
3635 * The helper will perform a FIB lookup based on the skb's
3860 * (often knows as GSO skb), then MTU check is harder to
3862 * possible for the skb packet to get re-segmented
4390 * Only IPv4 and IPv6 skb->protocol are supported.
4404 static long (*bpf_skb_set_tstamp)(struct __sk_buff *skb, __u64 tstamp, __u32 tstamp_type) = (void *) 192;
4536 * *flags* must be 0 except for skb-type dynptrs.
4538 * For skb-type dynptrs:
4541 * because writing may pull the skb and change the
4550 * is a read-only dynptr or if *flags* is not correct. For skb-type dynptrs,
4563 * skb and xdp type dynptrs may not use bpf_dynptr_data. They should