/Linux-v4.19/include/net/ |
D | lwtunnel.h | 45 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 …]
|
D | mpls_iptunnel.h | 25 static inline struct mpls_iptunnel_encap *mpls_lwtunnel_encap(struct lwtunnel_state *lwtstate) in mpls_lwtunnel_encap() argument 27 return (struct mpls_iptunnel_encap *)lwtstate->data; in mpls_lwtunnel_encap()
|
D | dst_metadata.h | 48 if (dst && dst->lwtstate) in skb_tunnel_info() 49 return lwt_tun_info(dst->lwtstate); in skb_tunnel_info()
|
D | ip_tunnels.h | 477 static inline struct ip_tunnel_info *lwt_tun_info(struct lwtunnel_state *lwtstate) in lwt_tun_info() argument 479 return (struct ip_tunnel_info *)lwtstate->data; in lwt_tun_info() 497 static inline struct ip_tunnel_info *lwt_tun_info(struct lwtunnel_state *lwtstate) in lwt_tun_info() argument
|
D | dst.h | 83 struct lwtunnel_state *lwtstate; member
|
/Linux-v4.19/net/core/ |
D | lwtunnel.c | 226 int lwtunnel_fill_encap(struct sk_buff *skb, struct lwtunnel_state *lwtstate) in lwtunnel_fill_encap() argument 232 if (!lwtstate) in lwtunnel_fill_encap() 235 if (lwtstate->type == LWTUNNEL_ENCAP_NONE || in lwtunnel_fill_encap() 236 lwtstate->type > LWTUNNEL_ENCAP_MAX) in lwtunnel_fill_encap() 245 ops = rcu_dereference(lwtun_encaps[lwtstate->type]); in lwtunnel_fill_encap() 247 ret = ops->fill_encap(skb, lwtstate); in lwtunnel_fill_encap() 253 ret = nla_put_u16(skb, RTA_ENCAP_TYPE, lwtstate->type); in lwtunnel_fill_encap() 266 int lwtunnel_get_encap_size(struct lwtunnel_state *lwtstate) in lwtunnel_get_encap_size() argument 271 if (!lwtstate) in lwtunnel_get_encap_size() 274 if (lwtstate->type == LWTUNNEL_ENCAP_NONE || in lwtunnel_get_encap_size() [all …]
|
D | lwt_bpf.c | 95 bpf = bpf_lwt_lwtunnel(dst->lwtstate); in bpf_input() 102 if (unlikely(!dst->lwtstate->orig_input)) { in bpf_input() 109 return dst->lwtstate->orig_input(skb); in bpf_input() 118 bpf = bpf_lwt_lwtunnel(dst->lwtstate); in bpf_output() 125 if (unlikely(!dst->lwtstate->orig_output)) { in bpf_output() 132 return dst->lwtstate->orig_output(net, sk, skb); in bpf_output() 154 bpf = bpf_lwt_lwtunnel(dst->lwtstate); in bpf_xmit() 343 static int bpf_encap_nlsize(struct lwtunnel_state *lwtstate) in bpf_encap_nlsize() argument
|
D | dst.c | 85 dst->lwtstate = NULL; in dst_init() 136 lwtstate_put(dst->lwtstate); in dst_destroy()
|
/Linux-v4.19/net/ipv6/ila/ |
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() 262 struct lwtunnel_state *lwtstate) in ila_fill_encap_info() argument 264 struct ila_params *p = ila_params_lwtunnel(lwtstate); in ila_fill_encap_info() 265 struct ila_lwt *ilwt = ila_lwt_lwtunnel(lwtstate); in ila_fill_encap_info() 288 static int ila_encap_nlsize(struct lwtunnel_state *lwtstate) in ila_encap_nlsize() argument
|
/Linux-v4.19/net/mpls/ |
D | mpls_iptunnel.c | 66 !dst->lwtstate || skb_warn_if_lro(skb)) in mpls_xmit() 71 tun_encap_info = mpls_lwtunnel_encap(dst->lwtstate); in mpls_xmit() 224 struct lwtunnel_state *lwtstate) in mpls_fill_encap_info() argument 228 tun_encap_info = mpls_lwtunnel_encap(lwtstate); in mpls_fill_encap_info() 244 static int mpls_encap_nlsize(struct lwtunnel_state *lwtstate) in mpls_encap_nlsize() argument 249 tun_encap_info = mpls_lwtunnel_encap(lwtstate); in mpls_encap_nlsize()
|
/Linux-v4.19/net/ipv6/ |
D | seg6_iptunnel.c | 233 tinfo = seg6_encap_lwtunnel(dst->lwtstate); in seg6_do_srh() 301 slwt = seg6_lwt_lwtunnel(orig_dst->lwtstate); in seg6_input() 340 slwt = seg6_lwt_lwtunnel(orig_dst->lwtstate); in seg6_output() 467 struct lwtunnel_state *lwtstate) in seg6_fill_encap_info() argument 469 struct seg6_iptunnel_encap *tuninfo = seg6_encap_lwtunnel(lwtstate); in seg6_fill_encap_info() 477 static int seg6_encap_nlsize(struct lwtunnel_state *lwtstate) in seg6_encap_nlsize() argument 479 struct seg6_iptunnel_encap *tuninfo = seg6_encap_lwtunnel(lwtstate); in seg6_encap_nlsize()
|
D | seg6_local.c | 620 slwt = seg6_local_lwtunnel(orig_dst->lwtstate); in seg6_local_input()
|
D | route.c | 969 rt->dst.lwtstate = lwtstate_get(ort->fib6_nh.nh_lwtstate); in ip6_rt_init_dst() 2622 return mtu - lwtunnel_headroom(dst->lwtstate, mtu); in ip6_mtu() 3050 struct lwtunnel_state *lwtstate; in ip6_route_info_create() local 3054 &lwtstate, extack); in ip6_route_info_create() 3057 rt->fib6_nh.nh_lwtstate = lwtstate_get(lwtstate); in ip6_route_info_create()
|
D | ip6_output.c | 106 if (lwtunnel_xmit_redirect(dst->lwtstate)) { in ip6_finish_output2()
|
/Linux-v4.19/net/ipv4/ |
D | ip_tunnel_core.c | 281 struct lwtunnel_state *lwtstate) in ip_tun_fill_encap_info() argument 283 struct ip_tunnel_info *tun_info = lwt_tun_info(lwtstate); in ip_tun_fill_encap_info() 297 static int ip_tun_encap_nlsize(struct lwtunnel_state *lwtstate) in ip_tun_encap_nlsize() argument 380 struct lwtunnel_state *lwtstate) in ip6_tun_fill_encap_info() argument 382 struct ip_tunnel_info *tun_info = lwt_tun_info(lwtstate); in ip6_tun_fill_encap_info() 396 static int ip6_tun_encap_nlsize(struct lwtunnel_state *lwtstate) in ip6_tun_encap_nlsize() argument
|
D | fib_semantics.c | 524 struct lwtunnel_state *lwtstate; in fib_get_nhs() local 539 &lwtstate, extack); in fib_get_nhs() 543 lwtstate_get(lwtstate); in fib_get_nhs() 616 struct lwtunnel_state *lwtstate; in fib_encap_match() local 623 cfg, &lwtstate, extack); in fib_encap_match() 625 result = lwtunnel_cmp_encap(lwtstate, nh->nh_lwtstate); in fib_encap_match() 626 lwtstate_free(lwtstate); in fib_encap_match() 1148 struct lwtunnel_state *lwtstate; in fib_create_info() local 1157 &lwtstate, extack); in fib_create_info() 1161 nh->nh_lwtstate = lwtstate_get(lwtstate); in fib_create_info()
|
D | route.c | 1287 return mtu - lwtunnel_headroom(dst->lwtstate, mtu); in ipv4_mtu() 1545 rt->dst.lwtstate = lwtstate_get(nh->nh_lwtstate); in rt_set_nexthop() 2075 rth->dst.lwtstate = lwtstate_get(nh->nh_lwtstate); in ip_route_input_slow() 2076 if (lwtunnel_input_redirect(rth->dst.lwtstate)) { in ip_route_input_slow() 2078 rth->dst.lwtstate->orig_input = rth->dst.input; in ip_route_input_slow()
|
D | ip_output.c | 213 if (lwtunnel_xmit_redirect(dst->lwtstate)) { in ip_finish_output2()
|