/linux/include/net/ |
A D | lwtunnel.h | 45 struct lwtunnel_state *lwtstate); 79 if (lwtstate && (lwtstate->flags & LWTUNNEL_STATE_OUTPUT_REDIRECT)) in lwtunnel_output_redirect() 87 if (lwtstate && (lwtstate->flags & LWTUNNEL_STATE_INPUT_REDIRECT)) in lwtunnel_input_redirect() 95 if (lwtstate && (lwtstate->flags & LWTUNNEL_STATE_XMIT_REDIRECT)) in lwtunnel_xmit_redirect() 104 if ((lwtunnel_xmit_redirect(lwtstate) || in lwtunnel_headroom() 105 lwtunnel_output_redirect(lwtstate)) && lwtstate->headroom < mtu) in lwtunnel_headroom() 106 return lwtstate->headroom; in lwtunnel_headroom() 138 dst->lwtstate->orig_output = dst->output; in lwtunnel_set_redirect() 141 if (lwtunnel_input_redirect(dst->lwtstate)) { in lwtunnel_set_redirect() 142 dst->lwtstate->orig_input = dst->input; in lwtunnel_set_redirect() [all …]
|
A D | mpls_iptunnel.h | 17 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()
|
A D | dst_metadata.h | 48 if (dst && dst->lwtstate && in skb_tunnel_info() 49 (dst->lwtstate->type == LWTUNNEL_ENCAP_IP || in skb_tunnel_info() 50 dst->lwtstate->type == LWTUNNEL_ENCAP_IP6)) in skb_tunnel_info() 51 return lwt_tun_info(dst->lwtstate); in skb_tunnel_info()
|
A D | ip_tunnels.h | 487 static inline struct ip_tunnel_info *lwt_tun_info(struct lwtunnel_state *lwtstate) in lwt_tun_info() argument 489 return (struct ip_tunnel_info *)lwtstate->data; in lwt_tun_info() 507 static inline struct ip_tunnel_info *lwt_tun_info(struct lwtunnel_state *lwtstate) in lwt_tun_info() argument
|
A D | ip6_route.h | 275 mtu -= lwtunnel_headroom(skb_dst(skb)->lwtstate, mtu); in ip6_skb_dst_mtu() 339 return mtu - lwtunnel_headroom(dst->lwtstate, mtu); in ip6_dst_mtu_maybe_forward()
|
A D | ip.h | 471 return mtu - lwtunnel_headroom(dst->lwtstate, mtu); in ip_dst_mtu_maybe_forward() 486 return mtu - lwtunnel_headroom(skb_dst(skb)->lwtstate, mtu); in ip_skb_dst_mtu()
|
A D | dst.h | 72 struct lwtunnel_state *lwtstate; member
|
/linux/net/core/ |
A D | lwtunnel.c | 239 if (!lwtstate) in lwtunnel_fill_encap() 243 lwtstate->type > LWTUNNEL_ENCAP_MAX) in lwtunnel_fill_encap() 254 ret = ops->fill_encap(skb, lwtstate); in lwtunnel_fill_encap() 278 if (!lwtstate) in lwtunnel_get_encap_size() 282 lwtstate->type > LWTUNNEL_ENCAP_MAX) in lwtunnel_get_encap_size() 327 struct lwtunnel_state *lwtstate; in lwtunnel_output() local 332 lwtstate = dst->lwtstate; in lwtunnel_output() 361 struct lwtunnel_state *lwtstate; in lwtunnel_xmit() local 367 lwtstate = dst->lwtstate; in lwtunnel_xmit() 396 struct lwtunnel_state *lwtstate; in lwtunnel_input() local [all …]
|
A D | lwt_bpf.c | 121 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
|
A D | dst.c | 68 dst->lwtstate = NULL; in dst_init() 122 lwtstate_put(dst->lwtstate); in dst_destroy()
|
/linux/net/ipv6/ila/ |
A D | ila_lwt.c | 42 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/net/mpls/ |
A D | mpls_iptunnel.c | 61 !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/net/ipv6/ |
A D | rpl_iptunnel.c | 197 tinfo = rpl_encap_lwtunnel(dst->lwtstate); in rpl_do_srh() 209 rlwt = rpl_lwt_lwtunnel(orig_dst->lwtstate); in rpl_output() 263 rlwt = rpl_lwt_lwtunnel(orig_dst->lwtstate); in rpl_input() 317 struct lwtunnel_state *lwtstate) in rpl_fill_encap_info() argument 319 struct rpl_iptunnel_encap *tuninfo = rpl_encap_lwtunnel(lwtstate); in rpl_fill_encap_info() 327 static int rpl_encap_nlsize(struct lwtunnel_state *lwtstate) in rpl_encap_nlsize() argument 329 struct rpl_iptunnel_encap *tuninfo = rpl_encap_lwtunnel(lwtstate); in rpl_encap_nlsize()
|
A D | ioam6_iptunnel.c | 270 ilwt = ioam6_lwt_state(dst->lwtstate); in ioam6_output() 344 return dst->lwtstate->orig_output(net, sk, skb); in ioam6_output() 356 struct lwtunnel_state *lwtstate) in ioam6_fill_encap_info() argument 358 struct ioam6_lwt *ilwt = ioam6_lwt_state(lwtstate); in ioam6_fill_encap_info() 377 static int ioam6_encap_nlsize(struct lwtunnel_state *lwtstate) in ioam6_encap_nlsize() argument 379 struct ioam6_lwt *ilwt = ioam6_lwt_state(lwtstate); in ioam6_encap_nlsize()
|
A D | seg6_iptunnel.c | 256 tinfo = seg6_encap_lwtunnel(dst->lwtstate); in seg6_do_srh() 332 slwt = seg6_lwt_lwtunnel(orig_dst->lwtstate); in seg6_input_core() 402 slwt = seg6_lwt_lwtunnel(orig_dst->lwtstate); in seg6_output_core() 558 struct lwtunnel_state *lwtstate) in seg6_fill_encap_info() argument 560 struct seg6_iptunnel_encap *tuninfo = seg6_encap_lwtunnel(lwtstate); in seg6_fill_encap_info() 568 static int seg6_encap_nlsize(struct lwtunnel_state *lwtstate) in seg6_encap_nlsize() argument 570 struct seg6_iptunnel_encap *tuninfo = seg6_encap_lwtunnel(lwtstate); in seg6_encap_nlsize()
|
A D | seg6_local.c | 395 slwt = seg6_local_lwtunnel(orig_dst->lwtstate); in input_action_end_dx6_finish() 448 slwt = seg6_local_lwtunnel(orig_dst->lwtstate); in input_action_end_dx4_finish() 1094 slwt = seg6_local_lwtunnel(orig_dst->lwtstate); in seg6_local_input_core()
|
A D | ip6_output.c | 112 if (lwtunnel_xmit_redirect(dst->lwtstate)) { in ip6_finish_output2()
|
A D | route.c | 1101 rt->dst.lwtstate = lwtstate_get(res->nh->fib_nh_lws); in ip6_rt_init_dst() 5719 if (dst->lwtstate && in rt6_fill_node() 5720 lwtunnel_fill_encap(skb, dst->lwtstate, RTA_ENCAP, RTA_ENCAP_TYPE) < 0) in rt6_fill_node()
|
/linux/net/ipv4/ |
A D | ip_tunnel_core.c | 721 static void ip_tun_destroy_state(struct lwtunnel_state *lwtstate) in ip_tun_destroy_state() argument 724 struct ip_tunnel_info *tun_info = lwt_tun_info(lwtstate); in ip_tun_destroy_state() 839 struct lwtunnel_state *lwtstate) in ip_tun_fill_encap_info() argument 841 struct ip_tunnel_info *tun_info = lwt_tun_info(lwtstate); in ip_tun_fill_encap_info() 895 static int ip_tun_encap_nlsize(struct lwtunnel_state *lwtstate) in ip_tun_encap_nlsize() argument 903 + ip_tun_opts_nlsize(lwt_tun_info(lwtstate)); in ip_tun_encap_nlsize() 1001 struct lwtunnel_state *lwtstate) in ip6_tun_fill_encap_info() argument 1003 struct ip_tunnel_info *tun_info = lwt_tun_info(lwtstate); in ip6_tun_fill_encap_info() 1018 static int ip6_tun_encap_nlsize(struct lwtunnel_state *lwtstate) in ip6_tun_encap_nlsize() argument 1026 + ip_tun_opts_nlsize(lwt_tun_info(lwtstate)); in ip6_tun_encap_nlsize()
|
A D | fib_semantics.c | 585 struct lwtunnel_state *lwtstate; in fib_nh_common_init() local 593 nhc->nhc_family, cfg, &lwtstate, in fib_nh_common_init() 598 nhc->nhc_lwtstate = lwtstate_get(lwtstate); in fib_nh_common_init() 849 struct lwtunnel_state *lwtstate; in fib_encap_match() local 856 cfg, &lwtstate, extack); in fib_encap_match() 858 result = lwtunnel_cmp_encap(lwtstate, nh->fib_nh_lws); in fib_encap_match() 859 lwtstate_free(lwtstate); in fib_encap_match()
|
A D | route.c | 1579 rt->dst.lwtstate = lwtstate_get(nhc->nhc_lwtstate); in rt_set_nexthop() 1665 new_rt->dst.lwtstate = lwtstate_get(rt->dst.lwtstate); in rt_dst_clone() 2362 rth->dst.lwtstate = lwtstate_get(nhc->nhc_lwtstate); in ip_route_input_slow() 2363 if (lwtunnel_input_redirect(rth->dst.lwtstate)) { in ip_route_input_slow() 2365 rth->dst.lwtstate->orig_input = rth->dst.input; in ip_route_input_slow() 2957 if (rt->dst.lwtstate && in rt_fill_info() 2958 lwtunnel_fill_encap(skb, rt->dst.lwtstate, RTA_ENCAP, RTA_ENCAP_TYPE) < 0) in rt_fill_info()
|
A D | ip_output.c | 207 if (lwtunnel_xmit_redirect(dst->lwtstate)) { in ip_finish_output2()
|
/linux/net/netfilter/ |
A D | nf_flow_table_offload.c | 108 if (other_dst && other_dst->lwtstate) { in nf_flow_rule_match() 109 tun_info = lwt_tun_info(other_dst->lwtstate); in nf_flow_rule_match() 579 if (dst && dst->lwtstate) { in flow_offload_encap_tunnel() 582 tun_info = lwt_tun_info(dst->lwtstate); in flow_offload_encap_tunnel() 604 if (dst && dst->lwtstate) { in flow_offload_decap_tunnel() 607 tun_info = lwt_tun_info(dst->lwtstate); in flow_offload_decap_tunnel()
|