Searched refs:xdp (Results 1 - 25 of 206) sorted by relevance

123456789

/linux-master/include/linux/
H A Dbpf_trace.h5 #include <trace/events/xdp.h>
H A Dif_tun.h36 static inline void *tun_xdp_to_ptr(struct xdp_frame *xdp) argument
38 return (void *)((unsigned long)xdp | TUN_XDP_FLAG);
68 static inline void *tun_xdp_to_ptr(struct xdp_frame *xdp) argument
/linux-master/tools/testing/selftests/bpf/progs/
H A Dtest_xdp_context_test_run.c5 SEC("xdp")
6 int xdp_context(struct xdp_md *xdp) argument
8 void *data = (void *)(long)xdp->data;
9 __u32 *metadata = (void *)(long)xdp->data_meta;
15 if (bpf_xdp_adjust_meta(xdp, 4))
H A Dtest_xdp_adjust_tail_shrink.c12 SEC("xdp")
13 int _xdp_adjust_tail_shrink(struct xdp_md *xdp) argument
15 __u8 *data_end = (void *)(long)xdp->data_end;
16 __u8 *data = (void *)(long)xdp->data;
19 switch (bpf_xdp_get_buff_len(xdp)) {
47 if (bpf_xdp_adjust_tail(xdp, 0 - offset))
H A Dtest_xdp_redirect.c16 int xdp_redirect_to_111(struct xdp_md *xdp) argument
21 int xdp_redirect_to_222(struct xdp_md *xdp) argument
H A Dxdp_redirect_map.c14 int xdp_redirect_map_0(struct xdp_md *xdp) argument
20 int xdp_redirect_map_1(struct xdp_md *xdp) argument
26 int xdp_redirect_map_2(struct xdp_md *xdp) argument
H A Dtest_xdp_adjust_tail_grow.c5 SEC("xdp")
6 int _xdp_adjust_tail_grow(struct xdp_md *xdp) argument
8 int data_len = bpf_xdp_get_buff_len(xdp);
36 if (bpf_xdp_adjust_tail(xdp, offset))
H A Dxdp_tx.c6 SEC("xdp")
7 int xdp_tx(struct xdp_md *xdp) argument
H A Dxsk_xdp_progs.c19 SEC("xdp.frags") int xsk_def_prog(struct xdp_md *xdp) argument
24 SEC("xdp.frags") int xsk_xdp_drop(struct xdp_md *xdp) argument
33 SEC("xdp.frags") int xsk_xdp_populate_metadata(struct xdp_md *xdp) argument
40 err = bpf_xdp_adjust_meta(xdp, -(int)sizeof(struct xdp_info));
44 data = (void *)(long)xdp->data;
45 data_meta = (void *)(long)xdp->data_meta;
56 SEC("xdp") in argument
[all...]
H A Dtest_xdp_update_frags.c13 SEC("xdp.frags")
14 int xdp_adjust_frags(struct xdp_md *xdp) argument
16 __u8 *data_end = (void *)(long)xdp->data_end;
17 __u8 *data = (void *)(long)xdp->data;
26 err = bpf_xdp_load_bytes(xdp, offset, val, sizeof(val));
35 err = bpf_xdp_store_bytes(xdp, offset, val, sizeof(val));
H A Dtest_xdp_do_redirect.c28 SEC("xdp")
29 int xdp_redirect(struct xdp_md *xdp) argument
31 __u32 *metadata = (void *)(long)xdp->data_meta;
32 void *data_end = (void *)(long)xdp->data_end;
33 void *data = (void *)(long)xdp->data;
41 if (xdp->ingress_ifindex != (__u32)ifindex_in)
55 if (bpf_xdp_adjust_meta(xdp, sizeof(__u64)))
85 SEC("xdp")
86 int xdp_count_pkts(struct xdp_md *xdp) argument
88 void *data = (void *)(long)xdp
[all...]
H A Dtest_xdp_link.c8 SEC("xdp")
9 int xdp_handler(struct xdp_md *xdp) argument
H A Dxdp_features.c65 xdp_process_echo_packet(struct xdp_md *xdp, bool dut) argument
67 void *data_end = (void *)(long)xdp->data_end;
68 void *data = (void *)(long)xdp->data;
135 xdp_update_stats(struct xdp_md *xdp, bool tx, bool dut) argument
139 if (xdp_process_echo_packet(xdp, tx))
155 SEC("xdp")
156 int xdp_tester_check_tx(struct xdp_md *xdp) argument
158 xdp_update_stats(xdp, true, false);
163 SEC("xdp")
164 int xdp_tester_check_rx(struct xdp_md *xdp) argument
174 xdp_do_pass(struct xdp_md *xdp) argument
182 xdp_do_drop(struct xdp_md *xdp) argument
191 xdp_do_aborted(struct xdp_md *xdp) argument
200 xdp_do_tx(struct xdp_md *xdp) argument
217 xdp_do_redirect(struct xdp_md *xdp) argument
226 BPF_PROG(xdp_exception, const struct net_device *dev, const struct bpf_prog *xdp, __u32 act) argument
252 xdp_do_redirect_cpumap(struct xdp_md *xdp) argument
[all...]
H A Dtest_xdp_bpf2bpf.c45 int BPF_PROG(trace_on_entry, struct xdp_buff *xdp) argument
49 meta.ifindex = xdp->rxq->dev->ifindex;
50 meta.pkt_len = bpf_xdp_get_buff_len((struct xdp_md *)xdp);
51 bpf_xdp_output(xdp, &perf_buf_map,
56 test_result_fentry = xdp->rxq->dev->ifindex;
62 int BPF_PROG(trace_on_exit, struct xdp_buff *xdp, int ret) argument
H A Dtest_parse_tcp_hdr_opt.c36 static int parse_hdr_opt(const struct xdp_md *xdp, struct hdr_opt_state *state) argument
38 const void *data = (void *)(long)xdp->data;
39 const void *data_end = (void *)(long)xdp->data_end;
81 SEC("xdp")
82 int xdp_ingress_v6(struct xdp_md *xdp) argument
84 const void *data = (void *)(long)xdp->data;
85 const void *data_end = (void *)(long)xdp->data_end;
106 err = parse_hdr_opt(xdp, &opt_state);
H A Dtest_xdp.c79 static __always_inline int handle_ipv4(struct xdp_md *xdp) argument
81 void *data_end = (void *)(long)xdp->data_end;
82 void *data = (void *)(long)xdp->data;
112 if (bpf_xdp_adjust_head(xdp, 0 - (int)sizeof(struct iphdr)))
115 data = (void *)(long)xdp->data;
116 data_end = (void *)(long)xdp->data_end;
152 static __always_inline int handle_ipv6(struct xdp_md *xdp) argument
154 void *data_end = (void *)(long)xdp->data_end;
155 void *data = (void *)(long)xdp->data;
182 if (bpf_xdp_adjust_head(xdp,
213 _xdp_tx_iptunnel(struct xdp_md *xdp) argument
[all...]
/linux-master/include/net/
H A Dxdp.h2 /* include/net/xdp.h
74 XDP_FLAGS_HAS_FRAGS = BIT(0), /* non-linear xdp buff */
75 XDP_FLAGS_FRAGS_PF_MEMALLOC = BIT(1), /* xdp paged memory is under
91 static __always_inline bool xdp_buff_has_frags(struct xdp_buff *xdp) argument
93 return !!(xdp->flags & XDP_FLAGS_HAS_FRAGS);
96 static __always_inline void xdp_buff_set_frags_flag(struct xdp_buff *xdp) argument
98 xdp->flags |= XDP_FLAGS_HAS_FRAGS;
101 static __always_inline void xdp_buff_clear_frags_flag(struct xdp_buff *xdp) argument
103 xdp->flags &= ~XDP_FLAGS_HAS_FRAGS;
106 static __always_inline bool xdp_buff_is_frag_pfmemalloc(struct xdp_buff *xdp) argument
111 xdp_buff_set_frag_pfmemalloc(struct xdp_buff *xdp) argument
117 xdp_init_buff(struct xdp_buff *xdp, u32 frame_sz, struct xdp_rxq_info *rxq) argument
125 xdp_prepare_buff(struct xdp_buff *xdp, unsigned char *hard_start, int headroom, int data_len, const bool meta_valid) argument
147 xdp_get_shared_info_from_buff(struct xdp_buff *xdp) argument
152 xdp_get_buff_len(struct xdp_buff *xdp) argument
252 xdp_convert_frame_to_buff(struct xdp_frame *frame, struct xdp_buff *xdp) argument
263 xdp_update_frame_from_buff(struct xdp_buff *xdp, struct xdp_frame *xdp_frame) argument
293 xdp_convert_buff_to_frame(struct xdp_buff *xdp) argument
359 xdp_set_data_meta_invalid(struct xdp_buff *xdp) argument
365 xdp_data_meta_unsupported(const struct xdp_buff *xdp) argument
507 bpf_prog_run_xdp(const struct bpf_prog *prog, struct xdp_buff *xdp) argument
[all...]
H A Dxdp_sock_drv.h65 return pool->heads[0].xdp.rxq->napi_id;
85 static inline dma_addr_t xsk_buff_xdp_get_dma(struct xdp_buff *xdp) argument
87 struct xdp_buff_xsk *xskb = container_of(xdp, struct xdp_buff_xsk, xdp);
92 static inline dma_addr_t xsk_buff_xdp_get_frame_dma(struct xdp_buff *xdp) argument
94 struct xdp_buff_xsk *xskb = container_of(xdp, struct xdp_buff_xsk, xdp);
110 static inline u32 xsk_buff_alloc_batch(struct xsk_buff_pool *pool, struct xdp_buff **xdp, u32 max) argument
112 return xp_alloc_batch(pool, xdp, max);
120 static inline void xsk_buff_free(struct xdp_buff *xdp) argument
139 xsk_buff_add_frag(struct xdp_buff *xdp) argument
179 xsk_buff_set_size(struct xdp_buff *xdp, u32 size) argument
222 xsk_buff_dma_sync_for_cpu(struct xdp_buff *xdp, struct xsk_buff_pool *pool) argument
328 xsk_buff_xdp_get_dma(struct xdp_buff *xdp) argument
333 xsk_buff_xdp_get_frame_dma(struct xdp_buff *xdp) argument
348 xsk_buff_alloc_batch(struct xsk_buff_pool *pool, struct xdp_buff **xdp, u32 max) argument
358 xsk_buff_free(struct xdp_buff *xdp) argument
362 xsk_buff_add_frag(struct xdp_buff *xdp) argument
380 xsk_buff_set_size(struct xdp_buff *xdp, u32 size) argument
405 xsk_buff_dma_sync_for_cpu(struct xdp_buff *xdp, struct xsk_buff_pool *pool) argument
[all...]
H A Dxdp_priv.h6 #include <net/xdp.h>
8 /* Private to net/core/xdp.c, but used by trace/events/xdp.h */
/linux-master/drivers/net/ethernet/microchip/lan966x/
H A Dlan966x_xdp.c9 static int lan966x_xdp_setup(struct net_device *dev, struct netdev_bpf *xdp) argument
18 NL_SET_ERR_MSG_MOD(xdp->extack,
19 "Allow to set xdp only when using fdma");
24 old_prog = xchg(&port->xdp_prog, xdp->prog);
43 int lan966x_xdp(struct net_device *dev, struct netdev_bpf *xdp) argument
45 switch (xdp->command) {
47 return lan966x_xdp_setup(dev, xdp);
79 struct xdp_buff xdp; local
82 xdp_init_buff(&xdp, PAGE_SIZE << lan966x->rx.page_order,
84 xdp_prepare_buff(&xdp, page_addres
[all...]
/linux-master/drivers/net/ethernet/broadcom/bnxt/
H A Dbnxt_xdp.h18 struct xdp_buff *xdp);
21 struct xdp_buff xdp, struct page *page, u8 **data_ptr,
23 int bnxt_xdp(struct net_device *dev, struct netdev_bpf *xdp);
31 struct xdp_buff *xdp);
33 struct xdp_buff *xdp);
36 struct xdp_buff *xdp,
/linux-master/samples/bpf/
H A Dxdp_adjust_tail_kern.c70 static __always_inline int send_icmp4_too_big(struct xdp_md *xdp) argument
74 if (bpf_xdp_adjust_head(xdp, 0 - headroom))
76 void *data = (void *)(long)xdp->data;
77 void *data_end = (void *)(long)xdp->data_end;
120 static __always_inline int handle_ipv4(struct xdp_md *xdp) argument
122 void *data_end = (void *)(long)xdp->data_end;
123 void *data = (void *)(long)xdp->data;
129 if (bpf_xdp_adjust_tail(xdp, 0 - offset))
131 return send_icmp4_too_big(xdp);
137 int _xdp_icmp(struct xdp_md *xdp) argument
[all...]
H A Dxdp_tx_iptunnel_kern.c77 static __always_inline int handle_ipv4(struct xdp_md *xdp) argument
79 void *data_end = (void *)(long)xdp->data_end;
80 void *data = (void *)(long)xdp->data;
112 if (bpf_xdp_adjust_head(xdp, 0 - (int)sizeof(struct iphdr)))
115 data = (void *)(long)xdp->data;
116 data_end = (void *)(long)xdp->data_end;
152 static __always_inline int handle_ipv6(struct xdp_md *xdp) argument
154 void *data_end = (void *)(long)xdp->data_end;
155 void *data = (void *)(long)xdp->data;
184 if (bpf_xdp_adjust_head(xdp,
216 _xdp_tx_iptunnel(struct xdp_md *xdp) argument
[all...]
/linux-master/drivers/net/ethernet/netronome/nfp/
H A Dnfp_net_xsk.c9 #include <trace/events/xdp.h>
18 struct xdp_buff *xdp)
27 rx_ring->xsk_rxbufs[idx].xdp = xdp;
29 xsk_buff_xdp_get_frame_dma(xdp) + headroom;
35 rxbuf->xdp = NULL;
40 if (rxbuf->xdp)
41 xsk_buff_free(rxbuf->xdp);
62 struct xdp_buff *xdp; local
67 xdp
17 nfp_net_xsk_rx_bufs_stash(struct nfp_net_rx_ring *rx_ring, unsigned int idx, struct xdp_buff *xdp) argument
[all...]
/linux-master/tools/testing/selftests/bpf/
H A Dtest_xdp_veth.sh64 if ! ip link set dev lo xdp off > /dev/null 2>&1; then
65 echo "selftests: $TESTNAME [SKIP] Could not run test without the ip xdp support"
104 xdp_redirect_map.bpf.o $BPF_DIR/progs type xdp \
109 ip link set dev veth1 xdp pinned $BPF_DIR/progs/xdp_redirect_map_0
110 ip link set dev veth2 xdp pinned $BPF_DIR/progs/xdp_redirect_map_1
111 ip link set dev veth3 xdp pinned $BPF_DIR/progs/xdp_redirect_map_2
113 ip -n ${NS1} link set dev veth11 xdp obj xdp_dummy.bpf.o sec xdp
114 ip -n ${NS2} link set dev veth22 xdp obj xdp_tx.bpf.o sec xdp
[all...]

Completed in 431 milliseconds

123456789