| /linux/include/net/ |
| H A D | lwtunnel.h | 48 struct lwtunnel_state *lwtstate); 49 int (*get_encap_size)(struct lwtunnel_state *lwtstate); 80 static inline bool lwtunnel_output_redirect(struct lwtunnel_state *lwtstate) in lwtunnel_output_redirect() argument 82 if (lwtstate && (lwtstate->flags & LWTUNNEL_STATE_OUTPUT_REDIRECT)) in lwtunnel_output_redirect() 88 static inline bool lwtunnel_input_redirect(struct lwtunnel_state *lwtstate) in lwtunnel_input_redirect() argument 90 if (lwtstate && (lwtstate->flags & LWTUNNEL_STATE_INPUT_REDIRECT)) in lwtunnel_input_redirect() 96 static inline bool lwtunnel_xmit_redirect(struct lwtunnel_state *lwtstate) in lwtunnel_xmit_redirect() argument 98 if (lwtstate && (lwtstate->flags & LWTUNNEL_STATE_XMIT_REDIRECT)) in lwtunnel_xmit_redirect() 104 static inline unsigned int lwtunnel_headroom(struct lwtunnel_state *lwtstate, in lwtunnel_headroom() argument 107 if ((lwtunnel_xmit_redirect(lwtstate) || in lwtunnel_headroom() [all …]
|
| H A D | dst_metadata.h | 64 if (dst && dst->lwtstate && in skb_tunnel_info() 65 (dst->lwtstate->type == LWTUNNEL_ENCAP_IP || in skb_tunnel_info() 66 dst->lwtstate->type == LWTUNNEL_ENCAP_IP6)) in skb_tunnel_info() 67 return lwt_tun_info(dst->lwtstate); in skb_tunnel_info() 86 if (dst && dst->lwtstate && in skb_xfrm_md_info() 87 dst->lwtstate->type == LWTUNNEL_ENCAP_XFRM) in skb_xfrm_md_info() 88 return lwt_xfrm_info(dst->lwtstate); in skb_xfrm_md_info()
|
| H A D | mpls_iptunnel.h | 20 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 D | ip6_route.h | 319 mtu -= lwtunnel_headroom(dst->lwtstate, mtu); in ip6_skb_dst_mtu() 389 return mtu - lwtunnel_headroom(dst->lwtstate, mtu); in ip6_dst_mtu_maybe_forward() 426 return mtu - lwtunnel_headroom(dst->lwtstate, mtu); in ip6_dst_mtu_configured()
|
| H A D | ip_tunnels.h | 726 static inline struct ip_tunnel_info *lwt_tun_info(struct lwtunnel_state *lwtstate) in lwt_tun_info() argument 728 return (struct ip_tunnel_info *)lwtstate->data; in lwt_tun_info() 746 static inline struct ip_tunnel_info *lwt_tun_info(struct lwtunnel_state *lwtstate) in lwt_tun_info() argument
|
| H A D | dst.h | 81 struct lwtunnel_state *lwtstate; member 96 struct lwtunnel_state *lwtstate; member
|
| H A D | ip.h | 509 res = mtu - lwtunnel_headroom(dst->lwtstate, mtu); 535 res = mtu - lwtunnel_headroom(dst->lwtstate, mtu); in ip_skb_dst_mtu() 554 return mtu - lwtunnel_headroom(dst->lwtstate, mtu); in ip_fib_metrics_put()
|
| /linux/net/core/ |
| H A D | lwtunnel.c | 229 int lwtunnel_fill_encap(struct sk_buff *skb, struct lwtunnel_state *lwtstate, in lwtunnel_fill_encap() argument 236 if (!lwtstate) in lwtunnel_fill_encap() 239 if (lwtstate->type == LWTUNNEL_ENCAP_NONE || in lwtunnel_fill_encap() 240 lwtstate->type > LWTUNNEL_ENCAP_MAX) in lwtunnel_fill_encap() 249 ops = rcu_dereference(lwtun_encaps[lwtstate->type]); in lwtunnel_fill_encap() 251 ret = ops->fill_encap(skb, lwtstate); in lwtunnel_fill_encap() 257 ret = nla_put_u16(skb, encap_type_attr, lwtstate->type); in lwtunnel_fill_encap() 270 int lwtunnel_get_encap_size(struct lwtunnel_state *lwtstate) in lwtunnel_get_encap_size() argument 275 if (!lwtstate) in lwtunnel_get_encap_size() 278 if (lwtstate->type == LWTUNNEL_ENCAP_NONE || in lwtunnel_get_encap_size() [all …]
|
| H A D | lwt_bpf.c | 130 bpf = bpf_lwt_lwtunnel(dst->lwtstate); in bpf_input() 139 if (unlikely(!dst->lwtstate->orig_input)) { in bpf_input() 144 return dst->lwtstate->orig_input(skb); in bpf_input() 153 bpf = bpf_lwt_lwtunnel(dst->lwtstate); in bpf_output() 160 if (unlikely(!dst->lwtstate->orig_output)) { in bpf_output() 167 return dst->lwtstate->orig_output(net, sk, skb); in bpf_output() 283 bpf = bpf_lwt_lwtunnel(dst->lwtstate); in bpf_xmit() 488 static int bpf_encap_nlsize(struct lwtunnel_state *lwtstate) in bpf_encap_nlsize() argument
|
| H A D | dst.c | 68 dst->lwtstate = NULL; in dst_init() 117 lwtstate_put(dst->lwtstate); in dst_destroy()
|
| /linux/net/ipv6/ila/ |
| H 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() 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/net/ipv6/ |
| H A D | rpl_iptunnel.c | 199 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() 302 if (!dst->error && lwtst != dst->lwtstate) { in rpl_input() 344 struct lwtunnel_state *lwtstate) in rpl_fill_encap_info() argument 346 struct rpl_iptunnel_encap *tuninfo = rpl_encap_lwtunnel(lwtstate); in rpl_fill_encap_info() 354 static int rpl_encap_nlsize(struct lwtunnel_state *lwtstate) in rpl_encap_nlsize() argument 356 struct rpl_iptunnel_encap *tuninfo = rpl_encap_lwtunnel(lwtstate); in rpl_encap_nlsize()
|
| H A D | ioam6_iptunnel.c | 349 ilwt = ioam6_lwt_state(orig_dst->lwtstate); in ioam6_output() 430 if (orig_dst->lwtstate == dst->lwtstate) in ioam6_output() 445 if (orig_dst->lwtstate != dst->lwtstate) { in ioam6_output() 452 return orig_dst->lwtstate->orig_output(net, sk, skb); in ioam6_output() 469 struct lwtunnel_state *lwtstate) in ioam6_fill_encap_info() argument 471 struct ioam6_lwt *ilwt = ioam6_lwt_state(lwtstate); in ioam6_fill_encap_info() 505 static int ioam6_encap_nlsize(struct lwtunnel_state *lwtstate) in ioam6_encap_nlsize() argument 507 struct ioam6_lwt *ilwt = ioam6_lwt_state(lwtstate); in ioam6_encap_nlsize()
|
| H A D | seg6_iptunnel.c | 405 slwt = seg6_lwt_lwtunnel(dst->lwtstate); in seg6_do_srh() 568 * need the address of its lwtstate. So, save the address of lwtstate in seg6_input_core() 571 lwtst = orig_dst->lwtstate; in seg6_input_core() 593 if (!dst->error && lwtst != dst->lwtstate) { in seg6_input_core() 675 slwt = seg6_lwt_lwtunnel(orig_dst->lwtstate); in seg6_output_core() 698 if (orig_dst->lwtstate != dst->lwtstate) { in seg6_output_core() 876 struct lwtunnel_state *lwtstate) in seg6_fill_encap_info() argument 878 struct seg6_iptunnel_encap *tuninfo = seg6_encap_lwtunnel(lwtstate); in seg6_fill_encap_info() 895 seg6_encap_nlsize(struct lwtunnel_state * lwtstate) seg6_encap_nlsize() argument [all...] |
| H A D | seg6_local.c | 1015 slwt = seg6_local_lwtunnel(orig_dst->lwtstate); in input_action_end_dx4() 1068 slwt = seg6_local_lwtunnel(orig_dst->lwtstate); 1731 slwt = seg6_local_lwtunnel(orig_dst->lwtstate);
|
| H A D | ip6_output.c | 114 if (lwtunnel_xmit_redirect(dst->lwtstate)) { in ip6_finish_output2()
|
| H A D | route.c | 1159 rt->dst.lwtstate = lwtstate_get(res->nh->fib_nh_lws); in ip6_rt_init_dst() 5909 if (lwtunnel_fill_encap(skb, dst->lwtstate, RTA_ENCAP, RTA_ENCAP_TYPE) < 0) in rt6_fill_node()
|
| /linux/net/ipv4/ |
| H A D | ip_tunnel_core.c | 769 static void ip_tun_destroy_state(struct lwtunnel_state *lwtstate) in ip_tun_destroy_state() argument 772 struct ip_tunnel_info *tun_info = lwt_tun_info(lwtstate); in ip_tun_destroy_state() 887 struct lwtunnel_state *lwtstate) in ip_tun_fill_encap_info() argument 889 struct ip_tunnel_info *tun_info = lwt_tun_info(lwtstate); in ip_tun_fill_encap_info() 944 static int ip_tun_encap_nlsize(struct lwtunnel_state *lwtstate) in ip_tun_encap_nlsize() argument 952 + ip_tun_opts_nlsize(lwt_tun_info(lwtstate)); in ip_tun_encap_nlsize() 1057 struct lwtunnel_state *lwtstate) in ip6_tun_fill_encap_info() argument 1059 struct ip_tunnel_info *tun_info = lwt_tun_info(lwtstate); in ip6_tun_fill_encap_info() 1075 static int ip6_tun_encap_nlsize(struct lwtunnel_state *lwtstate) in ip6_tun_encap_nlsize() argument 1083 + ip_tun_opts_nlsize(lwt_tun_info(lwtstate)); in ip6_tun_encap_nlsize()
|
| H A D | fib_semantics.c | 657 struct lwtunnel_state *lwtstate; in fib_nh_common_init() 660 nhc->nhc_family, cfg, &lwtstate, in fib_nh_common_init() 665 nhc->nhc_lwtstate = lwtstate_get(lwtstate); in fib_nh_common_init() 915 struct lwtunnel_state *lwtstate; in fib_encap_match() 922 cfg, &lwtstate, extack); in fib_encap_match() 924 result = lwtunnel_cmp_encap(lwtstate, nh->fib_nh_lws); in fib_encap_match() 925 lwtstate_free(lwtstate); in fib_encap_match() 654 struct lwtunnel_state *lwtstate; fib_nh_common_init() local 912 struct lwtunnel_state *lwtstate; fib_encap_match() local
|
| H A D | route.c | 1649 rt->dst.lwtstate = lwtstate_get(nhc->nhc_lwtstate); in rt_set_nexthop() 1732 new_rt->dst.lwtstate = lwtstate_get(rt->dst.lwtstate); in rt_dst_clone() 2481 rth->dst.lwtstate = lwtstate_get(nhc->nhc_lwtstate); in ip_route_input_slow() 2482 if (lwtunnel_input_redirect(rth->dst.lwtstate)) { in ip_route_input_slow() 2484 rth->dst.lwtstate->orig_input = rth->dst.input; in ip_route_input_slow() 3022 if (lwtunnel_fill_encap(skb, rt->dst.lwtstate, RTA_ENCAP, RTA_ENCAP_TYPE) < 0) in rt_fill_info()
|
| H A D | ip_output.c | 222 if (lwtunnel_xmit_redirect(dst->lwtstate)) { in ip_finish_output2()
|
| /linux/net/netfilter/ |
| H A D | nf_flow_table_offload.c | 111 if (other_dst && other_dst->lwtstate) { in nf_flow_rule_match() 112 tun_info = lwt_tun_info(other_dst->lwtstate); in nf_flow_rule_match() 638 if (dst && dst->lwtstate) { in flow_offload_encap_tunnel() 641 tun_info = lwt_tun_info(dst->lwtstate); in flow_offload_encap_tunnel() 667 if (dst && dst->lwtstate) { in flow_offload_decap_tunnel() 670 tun_info = lwt_tun_info(dst->lwtstate); in flow_offload_decap_tunnel()
|
| /linux/net/xfrm/ |
| H A D | xfrm_interface_core.c | 123 static int xfrmi_encap_nlsize(struct lwtunnel_state *lwtstate) in xfrmi_encap_nlsize() argument
|