Home
last modified time | relevance | path

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

/linux-6.15/include/net/
H A Dlwtunnel.h48 struct lwtunnel_state *lwtstate);
82 if (lwtstate && (lwtstate->flags & LWTUNNEL_STATE_OUTPUT_REDIRECT)) in lwtunnel_output_redirect()
90 if (lwtstate && (lwtstate->flags & LWTUNNEL_STATE_INPUT_REDIRECT)) in lwtunnel_input_redirect()
98 if (lwtstate && (lwtstate->flags & LWTUNNEL_STATE_XMIT_REDIRECT)) in lwtunnel_xmit_redirect()
107 if ((lwtunnel_xmit_redirect(lwtstate) || in lwtunnel_headroom()
108 lwtunnel_output_redirect(lwtstate)) && lwtstate->headroom < mtu) in lwtunnel_headroom()
109 return lwtstate->headroom; in lwtunnel_headroom()
143 dst->lwtstate->orig_output = dst->output; in lwtunnel_set_redirect()
146 if (lwtunnel_input_redirect(dst->lwtstate)) { in lwtunnel_set_redirect()
147 dst->lwtstate->orig_input = dst->input; in lwtunnel_set_redirect()
[all …]
H A Ddst_metadata.h63 if (dst && dst->lwtstate && in skb_tunnel_info()
64 (dst->lwtstate->type == LWTUNNEL_ENCAP_IP || in skb_tunnel_info()
65 dst->lwtstate->type == LWTUNNEL_ENCAP_IP6)) in skb_tunnel_info()
66 return lwt_tun_info(dst->lwtstate); in skb_tunnel_info()
85 if (dst && dst->lwtstate && in skb_xfrm_md_info()
86 dst->lwtstate->type == LWTUNNEL_ENCAP_XFRM) in skb_xfrm_md_info()
87 return lwt_xfrm_info(dst->lwtstate); in skb_xfrm_md_info()
H A Dmpls_iptunnel.h20 static inline struct mpls_iptunnel_encap *mpls_lwtunnel_encap(struct lwtunnel_state *lwtstate) in mpls_lwtunnel_encap() argument
22 return (struct mpls_iptunnel_encap *)lwtstate->data; in mpls_lwtunnel_encap()
H A Dip6_route.h278 mtu -= lwtunnel_headroom(dst->lwtstate, mtu); in ip6_skb_dst_mtu()
346 return mtu - lwtunnel_headroom(dst->lwtstate, mtu); in ip6_dst_mtu_maybe_forward()
H A Dip_tunnels.h670 static inline struct ip_tunnel_info *lwt_tun_info(struct lwtunnel_state *lwtstate) in lwt_tun_info() argument
672 return (struct ip_tunnel_info *)lwtstate->data; in lwt_tun_info()
690 static inline struct ip_tunnel_info *lwt_tun_info(struct lwtunnel_state *lwtstate) in lwt_tun_info() argument
H A Ddst.h78 struct lwtunnel_state *lwtstate; member
93 struct lwtunnel_state *lwtstate; member
H A Dip.h497 res = mtu - lwtunnel_headroom(dst->lwtstate, mtu); in ip_dst_mtu_maybe_forward()
516 return mtu - lwtunnel_headroom(skb_dst(skb)->lwtstate, mtu); in ip_skb_dst_mtu()
/linux-6.15/net/core/
H A Dlwtunnel.c245 if (!lwtstate) in lwtunnel_fill_encap()
249 lwtstate->type > LWTUNNEL_ENCAP_MAX) in lwtunnel_fill_encap()
260 ret = ops->fill_encap(skb, lwtstate); in lwtunnel_fill_encap()
284 if (!lwtstate) in lwtunnel_get_encap_size()
288 lwtstate->type > LWTUNNEL_ENCAP_MAX) in lwtunnel_get_encap_size()
332 struct lwtunnel_state *lwtstate; in lwtunnel_output() local
350 lwtstate = dst->lwtstate; in lwtunnel_output()
385 struct lwtunnel_state *lwtstate; in lwtunnel_xmit() local
404 lwtstate = dst->lwtstate; in lwtunnel_xmit()
439 struct lwtunnel_state *lwtstate; in lwtunnel_input() local
[all …]
H A Dlwt_bpf.c126 bpf = bpf_lwt_lwtunnel(dst->lwtstate); in bpf_input()
135 if (unlikely(!dst->lwtstate->orig_input)) { in bpf_input()
140 return dst->lwtstate->orig_input(skb); in bpf_input()
149 bpf = bpf_lwt_lwtunnel(dst->lwtstate); in bpf_output()
156 if (unlikely(!dst->lwtstate->orig_output)) { in bpf_output()
163 return dst->lwtstate->orig_output(net, sk, skb); in bpf_output()
277 bpf = bpf_lwt_lwtunnel(dst->lwtstate); in bpf_xmit()
479 static int bpf_encap_nlsize(struct lwtunnel_state *lwtstate) in bpf_encap_nlsize() argument
H A Ddst.c68 dst->lwtstate = NULL; in dst_init()
116 lwtstate_put(dst->lwtstate); in dst_destroy()
/linux-6.15/net/ipv6/ila/
H A 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()
92 if (ilwt->connected && orig_dst->lwtstate != dst->lwtstate) { in ila_output()
111 struct ila_lwt *ilwt = ila_lwt_lwtunnel(dst->lwtstate); in ila_input()
118 ila_params_lwtunnel(dst->lwtstate), in ila_input()
121 return dst->lwtstate->orig_input(skb); in ila_input()
270 struct lwtunnel_state *lwtstate) in ila_fill_encap_info() argument
272 struct ila_params *p = ila_params_lwtunnel(lwtstate); in ila_fill_encap_info()
273 struct ila_lwt *ilwt = ila_lwt_lwtunnel(lwtstate); in ila_fill_encap_info()
[all …]
/linux-6.15/net/ipv6/
H A Drpl_iptunnel.c199 tinfo = rpl_encap_lwtunnel(dst->lwtstate); in rpl_do_srh()
211 rlwt = rpl_lwt_lwtunnel(orig_dst->lwtstate); in rpl_output()
239 if (orig_dst->lwtstate != dst->lwtstate) { in rpl_output()
274 lwtst = orig_dst->lwtstate; in rpl_input()
293 if (!dst->error && lwtst != dst->lwtstate) { in rpl_input()
335 struct lwtunnel_state *lwtstate) in rpl_fill_encap_info() argument
337 struct rpl_iptunnel_encap *tuninfo = rpl_encap_lwtunnel(lwtstate); in rpl_fill_encap_info()
345 static int rpl_encap_nlsize(struct lwtunnel_state *lwtstate) in rpl_encap_nlsize() argument
347 struct rpl_iptunnel_encap *tuninfo = rpl_encap_lwtunnel(lwtstate); in rpl_encap_nlsize()
H A Dioam6_iptunnel.c347 ilwt = ioam6_lwt_state(dst->lwtstate); in ioam6_output()
411 if (dst->lwtstate != cache_dst->lwtstate) { in ioam6_output()
425 if (dst->lwtstate != cache_dst->lwtstate) { in ioam6_output()
432 return dst->lwtstate->orig_output(net, sk, skb); in ioam6_output()
445 struct lwtunnel_state *lwtstate) in ioam6_fill_encap_info() argument
447 struct ioam6_lwt *ilwt = ioam6_lwt_state(lwtstate); in ioam6_fill_encap_info()
481 static int ioam6_encap_nlsize(struct lwtunnel_state *lwtstate) in ioam6_encap_nlsize() argument
483 struct ioam6_lwt *ilwt = ioam6_lwt_state(lwtstate); in ioam6_encap_nlsize()
H A Dseg6_iptunnel.c386 tinfo = seg6_encap_lwtunnel(dst->lwtstate); in seg6_do_srh()
484 lwtst = orig_dst->lwtstate; in seg6_input_core()
503 if (!dst->error && lwtst != dst->lwtstate) { in seg6_input_core()
562 slwt = seg6_lwt_lwtunnel(orig_dst->lwtstate); in seg6_output_core()
590 if (orig_dst->lwtstate != dst->lwtstate) { in seg6_output_core()
729 struct lwtunnel_state *lwtstate) in seg6_fill_encap_info() argument
731 struct seg6_iptunnel_encap *tuninfo = seg6_encap_lwtunnel(lwtstate); in seg6_fill_encap_info()
739 static int seg6_encap_nlsize(struct lwtunnel_state *lwtstate) in seg6_encap_nlsize() argument
741 struct seg6_iptunnel_encap *tuninfo = seg6_encap_lwtunnel(lwtstate); in seg6_encap_nlsize()
H A Dseg6_local.c909 slwt = seg6_local_lwtunnel(orig_dst->lwtstate); in input_action_end_dx6_finish()
962 slwt = seg6_local_lwtunnel(orig_dst->lwtstate); in input_action_end_dx4_finish()
1614 slwt = seg6_local_lwtunnel(orig_dst->lwtstate); in seg6_local_input_core()
H A Dip6_output.c117 if (lwtunnel_xmit_redirect(dst->lwtstate)) { in ip6_finish_output2()
H A Droute.c1153 rt->dst.lwtstate = lwtstate_get(res->nh->fib_nh_lws); in ip6_rt_init_dst()
5780 if (dst->lwtstate && in rt6_fill_node()
5781 lwtunnel_fill_encap(skb, dst->lwtstate, RTA_ENCAP, RTA_ENCAP_TYPE) < 0) in rt6_fill_node()
/linux-6.15/net/mpls/
H A Dmpls_iptunnel.c59 !dst->lwtstate || skb_warn_if_lro(skb)) in mpls_xmit()
64 tun_encap_info = mpls_lwtunnel_encap(dst->lwtstate); in mpls_xmit()
227 struct lwtunnel_state *lwtstate) in mpls_fill_encap_info() argument
231 tun_encap_info = mpls_lwtunnel_encap(lwtstate); in mpls_fill_encap_info()
247 static int mpls_encap_nlsize(struct lwtunnel_state *lwtstate) in mpls_encap_nlsize() argument
252 tun_encap_info = mpls_lwtunnel_encap(lwtstate); in mpls_encap_nlsize()
/linux-6.15/net/ipv4/
H A Dip_tunnel_core.c728 static void ip_tun_destroy_state(struct lwtunnel_state *lwtstate) in ip_tun_destroy_state() argument
731 struct ip_tunnel_info *tun_info = lwt_tun_info(lwtstate); in ip_tun_destroy_state()
846 struct lwtunnel_state *lwtstate) in ip_tun_fill_encap_info() argument
848 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()
1016 struct lwtunnel_state *lwtstate) in ip6_tun_fill_encap_info() argument
1018 struct ip_tunnel_info *tun_info = lwt_tun_info(lwtstate); in ip6_tun_fill_encap_info()
1034 static int ip6_tun_encap_nlsize(struct lwtunnel_state *lwtstate) in ip6_tun_encap_nlsize() argument
1042 + ip_tun_opts_nlsize(lwt_tun_info(lwtstate)); in ip6_tun_encap_nlsize()
H A Dfib_semantics.c626 struct lwtunnel_state *lwtstate; in fib_nh_common_init() local
634 nhc->nhc_family, cfg, &lwtstate, in fib_nh_common_init()
639 nhc->nhc_lwtstate = lwtstate_get(lwtstate); in fib_nh_common_init()
890 struct lwtunnel_state *lwtstate; in fib_encap_match() local
897 cfg, &lwtstate, extack); in fib_encap_match()
899 result = lwtunnel_cmp_encap(lwtstate, nh->fib_nh_lws); in fib_encap_match()
900 lwtstate_free(lwtstate); in fib_encap_match()
H A Droute.c1604 rt->dst.lwtstate = lwtstate_get(nhc->nhc_lwtstate); in rt_set_nexthop()
1687 new_rt->dst.lwtstate = lwtstate_get(rt->dst.lwtstate); in rt_dst_clone()
2430 rth->dst.lwtstate = lwtstate_get(nhc->nhc_lwtstate); in ip_route_input_slow()
2431 if (lwtunnel_input_redirect(rth->dst.lwtstate)) { in ip_route_input_slow()
2433 rth->dst.lwtstate->orig_input = rth->dst.input; in ip_route_input_slow()
2970 if (rt->dst.lwtstate && in rt_fill_info()
2971 lwtunnel_fill_encap(skb, rt->dst.lwtstate, RTA_ENCAP, RTA_ENCAP_TYPE) < 0) in rt_fill_info()
H A Dip_output.c221 if (lwtunnel_xmit_redirect(dst->lwtstate)) { in ip_finish_output2()
/linux-6.15/net/netfilter/
H A Dnf_flow_table_offload.c107 if (other_dst && other_dst->lwtstate) { in nf_flow_rule_match()
108 tun_info = lwt_tun_info(other_dst->lwtstate); in nf_flow_rule_match()
590 if (dst && dst->lwtstate) { in flow_offload_encap_tunnel()
593 tun_info = lwt_tun_info(dst->lwtstate); in flow_offload_encap_tunnel()
615 if (dst && dst->lwtstate) { in flow_offload_decap_tunnel()
618 tun_info = lwt_tun_info(dst->lwtstate); in flow_offload_decap_tunnel()
/linux-6.15/net/xfrm/
H A Dxfrm_interface_core.c123 static int xfrmi_encap_nlsize(struct lwtunnel_state *lwtstate) in xfrmi_encap_nlsize() argument