| /linux-6.15/tools/testing/selftests/bpf/progs/ |
| H A D | test_xdp_meta.c | 29 __u8 *data, *data_meta; in ing_cls() local 32 data_meta = ctx_ptr(ctx, data_meta); in ing_cls() 35 if (data_meta + META_SIZE > data) in ing_cls() 38 bpf_map_update_elem(&test_result, &key, data_meta, BPF_ANY); in ing_cls() 46 __u8 *data, *data_meta, *data_end, *payload; in ing_xdp() local 54 data_meta = ctx_ptr(ctx, data_meta); in ing_xdp() 62 data_meta + META_SIZE > data) in ing_xdp() 72 __builtin_memcpy(data_meta, payload, META_SIZE); in ing_xdp()
|
| H A D | verifier_meta_access.c | 24 __imm_const(xdp_md_data_meta, offsetof(struct xdp_md, data_meta)) in meta_access_test1() 46 __imm_const(xdp_md_data_meta, offsetof(struct xdp_md, data_meta)) in meta_access_test2() 66 __imm_const(xdp_md_data_meta, offsetof(struct xdp_md, data_meta)) in meta_access_test3() 88 __imm_const(xdp_md_data_meta, offsetof(struct xdp_md, data_meta)) in meta_access_test4() 111 __imm_const(xdp_md_data_meta, offsetof(struct xdp_md, data_meta)) in meta_access_test5() 133 __imm_const(xdp_md_data_meta, offsetof(struct xdp_md, data_meta)) in meta_access_test6() 155 __imm_const(xdp_md_data_meta, offsetof(struct xdp_md, data_meta)) in meta_access_test7() 175 __imm_const(xdp_md_data_meta, offsetof(struct xdp_md, data_meta)) in meta_access_test8() 196 __imm_const(xdp_md_data_meta, offsetof(struct xdp_md, data_meta)) in meta_access_test9() 226 __imm_const(xdp_md_data_meta, offsetof(struct xdp_md, data_meta)) in meta_access_test10() [all …]
|
| H A D | verifier_xdp_direct_packet_access.c | 902 __imm_const(xdp_md_data_meta, offsetof(struct xdp_md, data_meta)) in __flag() 923 __imm_const(xdp_md_data_meta, offsetof(struct xdp_md, data_meta)) in __flag() 944 __imm_const(xdp_md_data_meta, offsetof(struct xdp_md, data_meta)) in __flag() 964 __imm_const(xdp_md_data_meta, offsetof(struct xdp_md, data_meta)) in __flag() 985 __imm_const(xdp_md_data_meta, offsetof(struct xdp_md, data_meta)) in __flag() 1006 __imm_const(xdp_md_data_meta, offsetof(struct xdp_md, data_meta)) in __flag() 1028 __imm_const(xdp_md_data_meta, offsetof(struct xdp_md, data_meta)) in __flag() 1049 __imm_const(xdp_md_data_meta, offsetof(struct xdp_md, data_meta)) in __flag() 1070 __imm_const(xdp_md_data_meta, offsetof(struct xdp_md, data_meta)) in __flag() 1091 __imm_const(xdp_md_data_meta, offsetof(struct xdp_md, data_meta)) in __flag() [all …]
|
| H A D | xsk_xdp_progs.c | 35 void *data, *data_meta; in xsk_xdp_populate_metadata() local 45 data_meta = (void *)(long)xdp->data_meta; in xsk_xdp_populate_metadata() 47 if (data_meta + sizeof(struct xdp_info) > data) in xsk_xdp_populate_metadata() 50 meta = data_meta; in xsk_xdp_populate_metadata()
|
| H A D | xdp_metadata.c | 33 void *data, *data_meta, *data_end; in rx() local 74 data_meta = (void *)(long)ctx->data_meta; in rx() 76 if (data_meta + sizeof(struct xdp_meta) > data) in rx() 79 meta = data_meta; in rx()
|
| H A D | xdp_hw_metadata.c | 30 void *data, *data_meta, *data_end; in rx() local 82 data_meta = (void *)(long)ctx->data_meta; in rx() 83 meta = data_meta; in rx()
|
| H A D | verifier_ldsx.c | 185 : __imm_const(xdp_md_data_meta, offsetof(struct xdp_md, data_meta)) in ldsx_ctx_3() 227 : __imm_const(sk_buff_data_meta, offsetof(struct __sk_buff, data_meta)) in ldsx_ctx_6()
|
| H A D | test_xdp_context_test_run.c | 9 __u32 *metadata = (void *)(long)xdp->data_meta; in xdp_context()
|
| H A D | test_xdp_bpf2bpf.c | 26 void *data_meta; member
|
| H A D | test_xdp_do_redirect.c | 31 __u32 *metadata = (void *)(long)xdp->data_meta; in xdp_redirect()
|
| H A D | verifier_cgroup_skb.c | 161 : __imm_const(__sk_buff_data_meta, offsetof(struct __sk_buff, data_meta)) in data_meta_for_cgroup_skb()
|
| /linux-6.15/samples/bpf/ |
| H A D | xdp2skb_meta_kern.c | 53 meta = (void *)(unsigned long)ctx->data_meta; in _xdp_mark() 66 void *data_meta = (void *)(unsigned long)ctx->data_meta; in _tc_mark() local 67 struct meta_info *meta = data_meta; in _tc_mark()
|
| /linux-6.15/tools/testing/selftests/bpf/prog_tests/ |
| H A D | xdp_context_test_run.c | 23 __u32 data_meta, __u32 data, __u32 data_end, in test_xdp_context_error() argument 30 .data_meta = data_meta, in test_xdp_context_error() 77 ctx_in.data_meta = 0; in test_xdp_context_test_run() 85 ASSERT_EQ(ctx_out.data_meta, 0, "valid-datameta"); in test_xdp_context_test_run()
|
| /linux-6.15/include/net/ |
| H A D | xdp.h | 84 void *data_meta; member 135 xdp->data_meta = meta_valid ? data : data + 1; in xdp_prepare_buff() 355 xdp->data_meta = frame->data - frame->metasize; in xdp_convert_frame_to_buff() 368 metasize = xdp->data - xdp->data_meta; in xdp_update_frame_from_buff() 500 xdp->data_meta = xdp->data + 1; in xdp_set_data_meta_invalid() 506 return unlikely(xdp->data_meta > xdp->data); in xdp_data_meta_unsupported()
|
| H A D | xdp_sock_drv.h | 183 xdp->data_meta = xdp->data; in xsk_buff_set_size()
|
| /linux-6.15/net/core/ |
| H A D | xdp.c | 584 xdp->data - xdp->data_meta; in xdp_convert_zc_to_xdp_frame() 599 data_to_copy = metasize ? xdp->data_meta : xdp->data; in xdp_convert_zc_to_xdp_frame() 652 metalen = xdp->data - xdp->data_meta; in xdp_build_skb_from_buff() 742 u32 len = xdp->data_end - xdp->data_meta; in xdp_build_skb_from_zc() 762 skb_reserve(skb, xdp->data_meta - xdp->data_hard_start); in xdp_build_skb_from_zc() 764 memcpy(__skb_put(skb, len), xdp->data_meta, LARGEST_ALIGN(len)); in xdp_build_skb_from_zc() 766 metalen = xdp->data - xdp->data_meta; in xdp_build_skb_from_zc()
|
| H A D | filter.c | 3942 xdp->data - xdp->data_meta; in xdp_get_metalen() 3957 memmove(xdp->data_meta + offset, in BPF_CALL_2() 3958 xdp->data_meta, metalen); in BPF_CALL_2() 3959 xdp->data_meta += offset; in BPF_CALL_2() 4241 void *meta = xdp->data_meta + offset; in BPF_CALL_2() 4252 xdp->data_meta = meta; in BPF_CALL_2() 9131 case offsetof(struct xdp_md, data_meta): in xdp_is_valid_access() 9143 case offsetof(struct xdp_md, data_meta): in xdp_is_valid_access() 9783 case offsetof(struct __sk_buff, data_meta): in bpf_convert_ctx_access() 9785 off -= offsetof(struct __sk_buff, data_meta); in bpf_convert_ctx_access() [all …]
|
| /linux-6.15/net/bpf/ |
| H A D | test_run.c | 142 frm_len = orig_ctx->data_end - orig_ctx->data_meta; in xdp_test_run_init_page() 143 meta_len = orig_ctx->data - orig_ctx->data_meta; in xdp_test_run_init_page() 149 memcpy(data + headroom, orig_ctx->data_meta, frm_len); in xdp_test_run_init_page() 153 new_ctx->data = new_ctx->data_meta + meta_len; in xdp_test_run_init_page() 236 head->orig_ctx.data_meta != head->ctx.data_meta || in ctx_was_changed() 246 head->ctx.data_meta = head->orig_ctx.data_meta; in reset_ctx() 1179 xdp->data = xdp->data_meta + xdp_md->data; in xdp_convert_md_to_buff() 1192 xdp_md->data = xdp->data - xdp->data_meta; in xdp_convert_buff_to_md() 1193 xdp_md->data_end = xdp->data_end - xdp->data_meta; in xdp_convert_buff_to_md() 1243 if (ctx->data_meta || ctx->data_end != size || in bpf_prog_test_run_xdp() [all …]
|
| /linux-6.15/Documentation/networking/ |
| H A D | xdp-rx-metadata.rst | 50 xdp_buff->data_meta xdp_buff->data 52 An XDP program can store individual metadata items into this ``data_meta`` 70 Here is the ``AF_XDP`` consumer layout (note missing ``data_meta`` pointer):: 88 the ``data_meta`` pointer.
|
| /linux-6.15/drivers/net/ethernet/intel/igb/ |
| H A D | igb_xsk.c | 269 unsigned int totalsize = xdp->data_end - xdp->data_meta; in igb_construct_skb_zc() 270 unsigned int metasize = xdp->data - xdp->data_meta; in igb_construct_skb_zc() 273 net_prefetch(xdp->data_meta); in igb_construct_skb_zc() 283 memcpy(__skb_put(skb, totalsize), xdp->data_meta, in igb_construct_skb_zc() 388 xdp->data_meta += ts_hdr_len; in igb_clean_rx_irq_zc()
|
| /linux-6.15/drivers/net/ethernet/intel/ixgbe/ |
| H A D | ixgbe_xsk.c | 216 unsigned int totalsize = xdp->data_end - xdp->data_meta; in ixgbe_construct_skb_zc() 217 unsigned int metasize = xdp->data - xdp->data_meta; in ixgbe_construct_skb_zc() 220 net_prefetch(xdp->data_meta); in ixgbe_construct_skb_zc() 227 memcpy(__skb_put(skb, totalsize), xdp->data_meta, in ixgbe_construct_skb_zc()
|
| /linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/ |
| H A D | rx.c | 227 u32 totallen = xdp->data_end - xdp->data_meta; in mlx5e_xsk_construct_skb() 228 u32 metalen = xdp->data - xdp->data_meta; in mlx5e_xsk_construct_skb() 237 skb_put_data(skb, xdp->data_meta, totallen); in mlx5e_xsk_construct_skb()
|
| /linux-6.15/drivers/net/ethernet/intel/i40e/ |
| H A D | i40e_xsk.c | 292 unsigned int totalsize = xdp->data_end - xdp->data_meta; in i40e_construct_skb_zc() 293 unsigned int metasize = xdp->data - xdp->data_meta; in i40e_construct_skb_zc() 302 net_prefetch(xdp->data_meta); in i40e_construct_skb_zc() 309 memcpy(__skb_put(skb, totalsize), xdp->data_meta, in i40e_construct_skb_zc()
|
| /linux-6.15/drivers/net/ethernet/intel/ice/ |
| H A D | ice_xsk.c | 552 unsigned int totalsize = xdp->data_end - xdp->data_meta; in ice_construct_skb_zc() 553 unsigned int metasize = xdp->data - xdp->data_meta; in ice_construct_skb_zc() 562 net_prefetch(xdp->data_meta); in ice_construct_skb_zc() 568 memcpy(__skb_put(skb, totalsize), xdp->data_meta, in ice_construct_skb_zc()
|
| /linux-6.15/drivers/net/ethernet/netronome/nfp/nfd3/ |
| H A D | xsk.c | 105 xrxbuf->xdp->data - xrxbuf->xdp->data_meta); in nfp_nfd3_xsk_rx_skb()
|