Lines Matching refs:xdp_prog

241 	struct bpf_prog __rcu *xdp_prog;  member
863 if (rtnl_dereference(tun->xdp_prog)) in tun_attach()
1199 old_prog = rtnl_dereference(tun->xdp_prog); in tun_xdp_set()
1200 rcu_assign_pointer(tun->xdp_prog, prog); in tun_xdp_set()
1224 const struct bpf_prog *xdp_prog; in tun_xdp_query() local
1226 xdp_prog = rtnl_dereference(tun->xdp_prog); in tun_xdp_query()
1227 if (xdp_prog) in tun_xdp_query()
1228 return xdp_prog->aux->id; in tun_xdp_query()
1623 static int tun_xdp_act(struct tun_struct *tun, struct bpf_prog *xdp_prog, in tun_xdp_act() argument
1630 err = xdp_do_redirect(tun->dev, xdp, xdp_prog); in tun_xdp_act()
1645 trace_xdp_exception(tun->dev, xdp_prog, act); in tun_xdp_act()
1662 struct bpf_prog *xdp_prog; in tun_build_skb() local
1670 xdp_prog = rcu_dereference(tun->xdp_prog); in tun_build_skb()
1671 if (xdp_prog) in tun_build_skb()
1691 if (hdr->gso_type || !xdp_prog) { in tun_build_skb()
1701 xdp_prog = rcu_dereference(tun->xdp_prog); in tun_build_skb()
1702 if (xdp_prog) { in tun_build_skb()
1712 act = bpf_prog_run_xdp(xdp_prog, &xdp); in tun_build_skb()
1717 err = tun_xdp_act(tun, xdp_prog, &xdp, act); in tun_build_skb()
1928 struct bpf_prog *xdp_prog; in tun_get_user() local
1933 xdp_prog = rcu_dereference(tun->xdp_prog); in tun_get_user()
1934 if (xdp_prog) { in tun_get_user()
1935 ret = do_xdp_generic(xdp_prog, skb); in tun_get_user()
2424 struct bpf_prog *xdp_prog; in tun_xdp_one() local
2432 xdp_prog = rcu_dereference(tun->xdp_prog); in tun_xdp_one()
2433 if (xdp_prog) { in tun_xdp_one()
2441 act = bpf_prog_run_xdp(xdp_prog, xdp); in tun_xdp_one()
2442 err = tun_xdp_act(tun, xdp_prog, xdp, act); in tun_xdp_one()
2491 err = do_xdp_generic(xdp_prog, skb); in tun_xdp_one()