Home
last modified time | relevance | path

Searched refs:lwtstate (Results 1 – 20 of 20) sorted by relevance

/Linux-v5.10/include/net/
Dlwtunnel.h45 struct lwtunnel_state *lwtstate);
46 int (*get_encap_size)(struct lwtunnel_state *lwtstate);
74 static inline bool lwtunnel_output_redirect(struct lwtunnel_state *lwtstate) in lwtunnel_output_redirect() argument
76 if (lwtstate && (lwtstate->flags & LWTUNNEL_STATE_OUTPUT_REDIRECT)) in lwtunnel_output_redirect()
82 static inline bool lwtunnel_input_redirect(struct lwtunnel_state *lwtstate) in lwtunnel_input_redirect() argument
84 if (lwtstate && (lwtstate->flags & LWTUNNEL_STATE_INPUT_REDIRECT)) in lwtunnel_input_redirect()
90 static inline bool lwtunnel_xmit_redirect(struct lwtunnel_state *lwtstate) in lwtunnel_xmit_redirect() argument
92 if (lwtstate && (lwtstate->flags & LWTUNNEL_STATE_XMIT_REDIRECT)) in lwtunnel_xmit_redirect()
98 static inline unsigned int lwtunnel_headroom(struct lwtunnel_state *lwtstate, in lwtunnel_headroom() argument
101 if ((lwtunnel_xmit_redirect(lwtstate) || in lwtunnel_headroom()
[all …]
Dmpls_iptunnel.h17 static inline struct mpls_iptunnel_encap *mpls_lwtunnel_encap(struct lwtunnel_state *lwtstate) in mpls_lwtunnel_encap() argument
19 return (struct mpls_iptunnel_encap *)lwtstate->data; in mpls_lwtunnel_encap()
Ddst_metadata.h48 if (dst && dst->lwtstate) in skb_tunnel_info()
49 return lwt_tun_info(dst->lwtstate); in skb_tunnel_info()
Dip_tunnels.h488 static inline struct ip_tunnel_info *lwt_tun_info(struct lwtunnel_state *lwtstate) in lwt_tun_info() argument
490 return (struct ip_tunnel_info *)lwtstate->data; in lwt_tun_info()
508 static inline struct ip_tunnel_info *lwt_tun_info(struct lwtunnel_state *lwtstate) in lwt_tun_info() argument
Ddst.h71 struct lwtunnel_state *lwtstate; member
/Linux-v5.10/net/core/
Dlwtunnel.c223 int lwtunnel_fill_encap(struct sk_buff *skb, struct lwtunnel_state *lwtstate, in lwtunnel_fill_encap() argument
230 if (!lwtstate) in lwtunnel_fill_encap()
233 if (lwtstate->type == LWTUNNEL_ENCAP_NONE || in lwtunnel_fill_encap()
234 lwtstate->type > LWTUNNEL_ENCAP_MAX) in lwtunnel_fill_encap()
243 ops = rcu_dereference(lwtun_encaps[lwtstate->type]); in lwtunnel_fill_encap()
245 ret = ops->fill_encap(skb, lwtstate); in lwtunnel_fill_encap()
251 ret = nla_put_u16(skb, encap_type_attr, lwtstate->type); in lwtunnel_fill_encap()
264 int lwtunnel_get_encap_size(struct lwtunnel_state *lwtstate) in lwtunnel_get_encap_size() argument
269 if (!lwtstate) in lwtunnel_get_encap_size()
272 if (lwtstate->type == LWTUNNEL_ENCAP_NONE || in lwtunnel_get_encap_size()
[all …]
Dlwt_bpf.c121 bpf = bpf_lwt_lwtunnel(dst->lwtstate); in bpf_input()
130 if (unlikely(!dst->lwtstate->orig_input)) { in bpf_input()
135 return dst->lwtstate->orig_input(skb); in bpf_input()
144 bpf = bpf_lwt_lwtunnel(dst->lwtstate); in bpf_output()
151 if (unlikely(!dst->lwtstate->orig_output)) { in bpf_output()
158 return dst->lwtstate->orig_output(net, sk, skb); in bpf_output()
274 bpf = bpf_lwt_lwtunnel(dst->lwtstate); in bpf_xmit()
475 static int bpf_encap_nlsize(struct lwtunnel_state *lwtstate) in bpf_encap_nlsize() argument
Ddst.c69 dst->lwtstate = NULL; in dst_init()
124 lwtstate_put(dst->lwtstate); in dst_destroy()
/Linux-v5.10/net/ipv6/ila/
Dila_lwt.c42 struct ila_lwt *ilwt = ila_lwt_lwtunnel(orig_dst->lwtstate); in ila_output()
51 ila_params_lwtunnel(orig_dst->lwtstate), in ila_output()
58 return orig_dst->lwtstate->orig_output(net, sk, skb); in ila_output()
104 struct ila_lwt *ilwt = ila_lwt_lwtunnel(dst->lwtstate); in ila_input()
111 ila_params_lwtunnel(dst->lwtstate), in ila_input()
114 return dst->lwtstate->orig_input(skb); in ila_input()
263 struct lwtunnel_state *lwtstate) in ila_fill_encap_info() argument
265 struct ila_params *p = ila_params_lwtunnel(lwtstate); in ila_fill_encap_info()
266 struct ila_lwt *ilwt = ila_lwt_lwtunnel(lwtstate); in ila_fill_encap_info()
289 static int ila_encap_nlsize(struct lwtunnel_state *lwtstate) in ila_encap_nlsize() argument
/Linux-v5.10/net/mpls/
Dmpls_iptunnel.c61 !dst->lwtstate || skb_warn_if_lro(skb)) in mpls_xmit()
66 tun_encap_info = mpls_lwtunnel_encap(dst->lwtstate); in mpls_xmit()
229 struct lwtunnel_state *lwtstate) in mpls_fill_encap_info() argument
233 tun_encap_info = mpls_lwtunnel_encap(lwtstate); in mpls_fill_encap_info()
249 static int mpls_encap_nlsize(struct lwtunnel_state *lwtstate) in mpls_encap_nlsize() argument
254 tun_encap_info = mpls_lwtunnel_encap(lwtstate); in mpls_encap_nlsize()
/Linux-v5.10/net/ipv6/
Drpl_iptunnel.c198 tinfo = rpl_encap_lwtunnel(dst->lwtstate); in rpl_do_srh()
214 rlwt = rpl_lwt_lwtunnel(orig_dst->lwtstate); in rpl_output()
268 rlwt = rpl_lwt_lwtunnel(orig_dst->lwtstate); in rpl_input()
322 struct lwtunnel_state *lwtstate) in rpl_fill_encap_info() argument
324 struct rpl_iptunnel_encap *tuninfo = rpl_encap_lwtunnel(lwtstate); in rpl_fill_encap_info()
332 static int rpl_encap_nlsize(struct lwtunnel_state *lwtstate) in rpl_encap_nlsize() argument
334 struct rpl_iptunnel_encap *tuninfo = rpl_encap_lwtunnel(lwtstate); in rpl_encap_nlsize()
Dseg6_iptunnel.c247 tinfo = seg6_encap_lwtunnel(dst->lwtstate); in seg6_do_srh()
315 slwt = seg6_lwt_lwtunnel(orig_dst->lwtstate); in seg6_input()
354 slwt = seg6_lwt_lwtunnel(orig_dst->lwtstate); in seg6_output()
482 struct lwtunnel_state *lwtstate) in seg6_fill_encap_info() argument
484 struct seg6_iptunnel_encap *tuninfo = seg6_encap_lwtunnel(lwtstate); in seg6_fill_encap_info()
492 static int seg6_encap_nlsize(struct lwtunnel_state *lwtstate) in seg6_encap_nlsize() argument
494 struct seg6_iptunnel_encap *tuninfo = seg6_encap_lwtunnel(lwtstate); in seg6_encap_nlsize()
Dseg6_local.c642 slwt = seg6_local_lwtunnel(orig_dst->lwtstate); in seg6_local_input()
Dip6_output.c103 if (lwtunnel_xmit_redirect(dst->lwtstate)) { in ip6_finish_output2()
Droute.c1116 rt->dst.lwtstate = lwtstate_get(res->nh->fib_nh_lws); in ip6_rt_init_dst()
3112 return mtu - lwtunnel_headroom(dst->lwtstate, mtu); in ip6_mtu()
/Linux-v5.10/net/ipv4/
Dip_tunnel_core.c729 static void ip_tun_destroy_state(struct lwtunnel_state *lwtstate) in ip_tun_destroy_state() argument
732 struct ip_tunnel_info *tun_info = lwt_tun_info(lwtstate); in ip_tun_destroy_state()
847 struct lwtunnel_state *lwtstate) in ip_tun_fill_encap_info() argument
849 struct ip_tunnel_info *tun_info = lwt_tun_info(lwtstate); in ip_tun_fill_encap_info()
903 static int ip_tun_encap_nlsize(struct lwtunnel_state *lwtstate) in ip_tun_encap_nlsize() argument
911 + ip_tun_opts_nlsize(lwt_tun_info(lwtstate)); in ip_tun_encap_nlsize()
1009 struct lwtunnel_state *lwtstate) in ip6_tun_fill_encap_info() argument
1011 struct ip_tunnel_info *tun_info = lwt_tun_info(lwtstate); in ip6_tun_fill_encap_info()
1026 static int ip6_tun_encap_nlsize(struct lwtunnel_state *lwtstate) in ip6_tun_encap_nlsize() argument
1034 + ip_tun_opts_nlsize(lwt_tun_info(lwtstate)); in ip6_tun_encap_nlsize()
Dfib_semantics.c586 struct lwtunnel_state *lwtstate; in fib_nh_common_init() local
594 nhc->nhc_family, cfg, &lwtstate, in fib_nh_common_init()
599 nhc->nhc_lwtstate = lwtstate_get(lwtstate); in fib_nh_common_init()
825 struct lwtunnel_state *lwtstate; in fib_encap_match() local
832 cfg, &lwtstate, extack); in fib_encap_match()
834 result = lwtunnel_cmp_encap(lwtstate, nh->fib_nh_lws); in fib_encap_match()
835 lwtstate_free(lwtstate); in fib_encap_match()
Droute.c1334 return mtu - lwtunnel_headroom(dst->lwtstate, mtu); in ipv4_mtu()
1603 rt->dst.lwtstate = lwtstate_get(nhc->nhc_lwtstate); in rt_set_nexthop()
1689 new_rt->dst.lwtstate = lwtstate_get(rt->dst.lwtstate); in rt_dst_clone()
2250 rth->dst.lwtstate = lwtstate_get(nhc->nhc_lwtstate); in ip_route_input_slow()
2251 if (lwtunnel_input_redirect(rth->dst.lwtstate)) { in ip_route_input_slow()
2253 rth->dst.lwtstate->orig_input = rth->dst.input; in ip_route_input_slow()
Dip_output.c216 if (lwtunnel_xmit_redirect(dst->lwtstate)) { in ip_finish_output2()
/Linux-v5.10/net/netfilter/
Dnf_flow_table_offload.c95 if (other_dst && other_dst->lwtstate) { in nf_flow_rule_match()
96 tun_info = lwt_tun_info(other_dst->lwtstate); in nf_flow_rule_match()
487 if (dst && dst->lwtstate) { in flow_offload_encap_tunnel()
490 tun_info = lwt_tun_info(dst->lwtstate); in flow_offload_encap_tunnel()
507 if (dst && dst->lwtstate) { in flow_offload_decap_tunnel()
510 tun_info = lwt_tun_info(dst->lwtstate); in flow_offload_decap_tunnel()