/kernel/linux/linux-5.10/net/ipv6/ |
H A D | inet6_connection_sock.c | 28 struct flowi6 *fl6, in inet6_csk_route_req() 37 memset(fl6, 0, sizeof(*fl6)); in inet6_csk_route_req() 38 fl6->flowi6_proto = proto; in inet6_csk_route_req() 39 fl6->daddr = ireq->ir_v6_rmt_addr; in inet6_csk_route_req() 41 final_p = fl6_update_dst(fl6, rcu_dereference(np->opt), &final); in inet6_csk_route_req() 43 fl6->saddr = ireq->ir_v6_loc_addr; in inet6_csk_route_req() 44 fl6->flowi6_oif = ireq->ir_iif; in inet6_csk_route_req() 45 fl6->flowi6_mark = ireq->ir_mark; in inet6_csk_route_req() 46 fl6 in inet6_csk_route_req() 27 inet6_csk_route_req(const struct sock *sk, struct flowi6 *fl6, const struct request_sock *req, u8 proto) inet6_csk_route_req() argument 79 inet6_csk_route_socket(struct sock *sk, struct flowi6 *fl6) inet6_csk_route_socket() argument 117 struct flowi6 fl6; inet6_csk_xmit() local 144 struct flowi6 fl6; inet6_csk_update_pmtu() local [all...] |
H A D | icmp.c | 200 struct flowi6 *fl6) in icmpv6_xrlim_allow() 214 dst = ip6_route_output(net, sk, fl6); in icmpv6_xrlim_allow() 229 peer = inet_getpeer_v6(net->ipv6.peers, &fl6->daddr, 1); in icmpv6_xrlim_allow() 239 struct flowi6 *fl6) in icmpv6_rt_has_prefsrc() 245 dst = ip6_route_output(net, sk, fl6); in icmpv6_rt_has_prefsrc() 275 void icmpv6_push_pending_frames(struct sock *sk, struct flowi6 *fl6, in icmpv6_push_pending_frames() argument 292 icmp6h->icmp6_cksum = csum_ipv6_magic(&fl6->saddr, in icmpv6_push_pending_frames() 293 &fl6->daddr, in icmpv6_push_pending_frames() 294 len, fl6->flowi6_proto, in icmpv6_push_pending_frames() 305 icmp6h->icmp6_cksum = csum_ipv6_magic(&fl6 in icmpv6_push_pending_frames() 199 icmpv6_xrlim_allow(struct sock *sk, u8 type, struct flowi6 *fl6) icmpv6_xrlim_allow() argument 238 icmpv6_rt_has_prefsrc(struct sock *sk, u8 type, struct flowi6 *fl6) icmpv6_rt_has_prefsrc() argument 356 icmpv6_route_lookup(struct net *net, struct sk_buff *skb, struct sock *sk, struct flowi6 *fl6) icmpv6_route_lookup() argument 462 struct flowi6 fl6; icmp6_send() local 725 struct flowi6 fl6; icmpv6_echo_reply() local 1001 icmpv6_flow_init(struct sock *sk, struct flowi6 *fl6, u8 type, const struct in6_addr *saddr, const struct in6_addr *daddr, int oif) icmpv6_flow_init() argument [all...] |
H A D | ping.c | 55 struct flowi6 fl6; in ping_v6_sendmsg() local 105 memset(&fl6, 0, sizeof(fl6)); in ping_v6_sendmsg() 107 fl6.flowi6_proto = IPPROTO_ICMPV6; in ping_v6_sendmsg() 108 fl6.saddr = np->saddr; in ping_v6_sendmsg() 109 fl6.daddr = *daddr; in ping_v6_sendmsg() 110 fl6.flowi6_oif = oif; in ping_v6_sendmsg() 111 fl6.flowi6_mark = sk->sk_mark; in ping_v6_sendmsg() 112 fl6.flowi6_uid = sk->sk_uid; in ping_v6_sendmsg() 113 fl6 in ping_v6_sendmsg() [all...] |
H A D | raw.c | 539 static int rawv6_push_pending_frames(struct sock *sk, struct flowi6 *fl6, in rawv6_push_pending_frames() argument 608 csum = csum_ipv6_magic(&fl6->saddr, &fl6->daddr, in rawv6_push_pending_frames() 609 total_len, fl6->flowi6_proto, tmp_csum); in rawv6_push_pending_frames() 611 if (csum == 0 && fl6->flowi6_proto == IPPROTO_UDP) in rawv6_push_pending_frames() 623 struct flowi6 *fl6, struct dst_entry **dstp, in rawv6_send_hdrinc() 636 ipv6_local_error(sk, EMSGSIZE, fl6, rt->dst.dev->mtu); in rawv6_send_hdrinc() 718 static int rawv6_probe_proto_opt(struct raw6_frag_vec *rfv, struct flowi6 *fl6) in rawv6_probe_proto_opt() argument 721 switch (fl6->flowi6_proto) { in rawv6_probe_proto_opt() 726 fl6 in rawv6_probe_proto_opt() 622 rawv6_send_hdrinc(struct sock *sk, struct msghdr *msg, int length, struct flowi6 *fl6, struct dst_entry **dstp, unsigned int flags, const struct sockcm_cookie *sockc) rawv6_send_hdrinc() argument 783 struct flowi6 fl6; rawv6_sendmsg() local [all...] |
H A D | ip6_output.c | 269 int ip6_xmit(const struct sock *sk, struct sk_buff *skb, struct flowi6 *fl6, in ip6_xmit() argument 274 struct in6_addr *first_hop = &fl6->daddr; in ip6_xmit() 278 u8 proto = fl6->flowi6_proto; in ip6_xmit() 309 &fl6->saddr); in ip6_xmit() 324 ip6_flow_hdr(hdr, tclass, ip6_make_flowlabel(net, skb, fl6->flowlabel, in ip6_xmit() 325 ip6_autoflowlabel(net, np), fl6)); in ip6_xmit() 331 hdr->saddr = fl6->saddr; in ip6_xmit() 362 ipv6_local_error((struct sock *)sk, EMSGSIZE, fl6, mtu); in ip6_xmit() 1035 const struct flowi6 *fl6) in ip6_sk_dst_check() 1066 if (ip6_rt_check(&rt->rt6i_dst, &fl6 in ip6_sk_dst_check() 1033 ip6_sk_dst_check(struct sock *sk, struct dst_entry *dst, const struct flowi6 *fl6) ip6_sk_dst_check() argument 1080 ip6_dst_lookup_tail(struct net *net, const struct sock *sk, struct dst_entry **dst, struct flowi6 *fl6) ip6_dst_lookup_tail() argument 1209 ip6_dst_lookup(struct net *net, struct sock *sk, struct dst_entry **dst, struct flowi6 *fl6) ip6_dst_lookup() argument 1229 ip6_dst_lookup_flow(struct net *net, const struct sock *sk, struct flowi6 *fl6, const struct in6_addr *final_dst) ip6_dst_lookup_flow() argument 1263 ip6_sk_dst_lookup_flow(struct sock *sk, struct flowi6 *fl6, const struct in6_addr *final_dst, bool connected) ip6_sk_dst_lookup_flow() argument 1310 struct flowi6 fl6; ip6_dst_lookup_tunnel() local 1385 ip6_setup_cork(struct sock *sk, struct inet_cork_full *cork, struct inet6_cork *v6_cork, struct ipcm6_cookie *ipc6, struct rt6_info *rt, struct flowi6 *fl6) ip6_setup_cork() argument 1460 __ip6_append_data(struct sock *sk, struct flowi6 *fl6, struct sk_buff_head *queue, struct inet_cork *cork, struct inet6_cork *v6_cork, struct page_frag *pfrag, int getfrag(void *from, char *to, int offset, int len, int odd, struct sk_buff *skb), void *from, int length, int transhdrlen, unsigned int flags, struct ipcm6_cookie *ipc6) __ip6_append_data() argument 1811 ip6_append_data(struct sock *sk, int getfrag(void *from, char *to, int offset, int len, int odd, struct sk_buff *skb), void *from, int length, int transhdrlen, struct ipcm6_cookie *ipc6, struct flowi6 *fl6, struct rt6_info *rt, unsigned int flags) ip6_append_data() argument 1881 struct flowi6 *fl6 = &cork->fl.u.ip6; __ip6_make_skb() local 2006 ip6_make_skb(struct sock *sk, int getfrag(void *from, char *to, int offset, int len, int odd, struct sk_buff *skb), void *from, int length, int transhdrlen, struct ipcm6_cookie *ipc6, struct flowi6 *fl6, struct rt6_info *rt, unsigned int flags, struct inet_cork_full *cork) ip6_make_skb() argument [all...] |
H A D | xfrm6_output.c | 28 struct flowi6 fl6; in xfrm6_local_rxpmtu() local 31 fl6.flowi6_oif = sk->sk_bound_dev_if; in xfrm6_local_rxpmtu() 32 fl6.daddr = ipv6_hdr(skb)->daddr; in xfrm6_local_rxpmtu() 34 ipv6_local_rxpmtu(sk, &fl6, mtu); in xfrm6_local_rxpmtu() 39 struct flowi6 fl6; in xfrm6_local_error() local 44 fl6.fl6_dport = inet_sk(sk)->inet_dport; in xfrm6_local_error() 45 fl6.daddr = hdr->daddr; in xfrm6_local_error() 47 ipv6_local_error(sk, EMSGSIZE, &fl6, mtu); in xfrm6_local_error()
|
H A D | syncookies.c | 228 struct flowi6 fl6; in cookie_v6_check() local 229 memset(&fl6, 0, sizeof(fl6)); in cookie_v6_check() 230 fl6.flowi6_proto = IPPROTO_TCP; in cookie_v6_check() 231 fl6.daddr = ireq->ir_v6_rmt_addr; in cookie_v6_check() 232 final_p = fl6_update_dst(&fl6, rcu_dereference(np->opt), &final); in cookie_v6_check() 233 fl6.saddr = ireq->ir_v6_loc_addr; in cookie_v6_check() 234 fl6.flowi6_oif = ireq->ir_iif; in cookie_v6_check() 235 fl6.flowi6_mark = ireq->ir_mark; in cookie_v6_check() 236 fl6 in cookie_v6_check() [all...] |
H A D | datagram.c | 41 static void ip6_datagram_flow_key_init(struct flowi6 *fl6, struct sock *sk) in ip6_datagram_flow_key_init() argument 46 memset(fl6, 0, sizeof(*fl6)); in ip6_datagram_flow_key_init() 47 fl6->flowi6_proto = sk->sk_protocol; in ip6_datagram_flow_key_init() 48 fl6->daddr = sk->sk_v6_daddr; in ip6_datagram_flow_key_init() 49 fl6->saddr = np->saddr; in ip6_datagram_flow_key_init() 50 fl6->flowi6_oif = sk->sk_bound_dev_if; in ip6_datagram_flow_key_init() 51 fl6->flowi6_mark = sk->sk_mark; in ip6_datagram_flow_key_init() 52 fl6->fl6_dport = inet->inet_dport; in ip6_datagram_flow_key_init() 53 fl6 in ip6_datagram_flow_key_init() 74 struct flowi6 fl6; ip6_datagram_dst_update() local 338 ipv6_local_error(struct sock *sk, int err, struct flowi6 *fl6, u32 info) ipv6_local_error() argument 378 ipv6_local_rxpmtu(struct sock *sk, struct flowi6 *fl6, u32 mtu) ipv6_local_rxpmtu() argument 753 ip6_datagram_send_ctl(struct net *net, struct sock *sk, struct msghdr *msg, struct flowi6 *fl6, struct ipcm6_cookie *ipc6) ip6_datagram_send_ctl() argument [all...] |
/kernel/linux/linux-6.6/net/ipv6/ |
H A D | inet6_connection_sock.c | 28 struct flowi6 *fl6, in inet6_csk_route_req() 37 memset(fl6, 0, sizeof(*fl6)); in inet6_csk_route_req() 38 fl6->flowi6_proto = proto; in inet6_csk_route_req() 39 fl6->daddr = ireq->ir_v6_rmt_addr; in inet6_csk_route_req() 41 final_p = fl6_update_dst(fl6, rcu_dereference(np->opt), &final); in inet6_csk_route_req() 43 fl6->saddr = ireq->ir_v6_loc_addr; in inet6_csk_route_req() 44 fl6->flowi6_oif = ireq->ir_iif; in inet6_csk_route_req() 45 fl6->flowi6_mark = ireq->ir_mark; in inet6_csk_route_req() 46 fl6 in inet6_csk_route_req() 27 inet6_csk_route_req(const struct sock *sk, struct flowi6 *fl6, const struct request_sock *req, u8 proto) inet6_csk_route_req() argument 79 inet6_csk_route_socket(struct sock *sk, struct flowi6 *fl6) inet6_csk_route_socket() argument 117 struct flowi6 fl6; inet6_csk_xmit() local 144 struct flowi6 fl6; inet6_csk_update_pmtu() local [all...] |
H A D | ping.c | 70 struct flowi6 fl6; in ping_v6_sendmsg() local 82 memset(&fl6, 0, sizeof(fl6)); in ping_v6_sendmsg() 93 fl6.flowlabel = u->sin6_flowinfo & IPV6_FLOWINFO_MASK; in ping_v6_sendmsg() 100 fl6.flowlabel = np->flow_label; in ping_v6_sendmsg() 125 fl6.flowi6_oif = oif; in ping_v6_sendmsg() 133 err = ip6_datagram_send_ctl(sock_net(sk), sk, msg, &fl6, &ipc6); in ping_v6_sendmsg() 143 fl6.flowi6_proto = IPPROTO_ICMPV6; in ping_v6_sendmsg() 144 fl6.saddr = np->saddr; in ping_v6_sendmsg() 145 fl6 in ping_v6_sendmsg() [all...] |
H A D | icmp.c | 194 struct flowi6 *fl6) in icmpv6_xrlim_allow() 208 dst = ip6_route_output(net, sk, fl6); in icmpv6_xrlim_allow() 223 peer = inet_getpeer_v6(net->ipv6.peers, &fl6->daddr, 1); in icmpv6_xrlim_allow() 236 struct flowi6 *fl6) in icmpv6_rt_has_prefsrc() 242 dst = ip6_route_output(net, sk, fl6); in icmpv6_rt_has_prefsrc() 272 void icmpv6_push_pending_frames(struct sock *sk, struct flowi6 *fl6, in icmpv6_push_pending_frames() argument 289 icmp6h->icmp6_cksum = csum_ipv6_magic(&fl6->saddr, in icmpv6_push_pending_frames() 290 &fl6->daddr, in icmpv6_push_pending_frames() 291 len, fl6->flowi6_proto, in icmpv6_push_pending_frames() 302 icmp6h->icmp6_cksum = csum_ipv6_magic(&fl6 in icmpv6_push_pending_frames() 193 icmpv6_xrlim_allow(struct sock *sk, u8 type, struct flowi6 *fl6) icmpv6_xrlim_allow() argument 235 icmpv6_rt_has_prefsrc(struct sock *sk, u8 type, struct flowi6 *fl6) icmpv6_rt_has_prefsrc() argument 350 icmpv6_route_lookup(struct net *net, struct sk_buff *skb, struct sock *sk, struct flowi6 *fl6) icmpv6_route_lookup() argument 457 struct flowi6 fl6; icmp6_send() local 721 struct flowi6 fl6; icmpv6_echo_reply() local 1037 icmpv6_flow_init(const struct sock *sk, struct flowi6 *fl6, u8 type, const struct in6_addr *saddr, const struct in6_addr *daddr, int oif) icmpv6_flow_init() argument [all...] |
H A D | raw.c | 503 static int rawv6_push_pending_frames(struct sock *sk, struct flowi6 *fl6, in rawv6_push_pending_frames() argument 572 csum = csum_ipv6_magic(&fl6->saddr, &fl6->daddr, in rawv6_push_pending_frames() 573 total_len, fl6->flowi6_proto, tmp_csum); in rawv6_push_pending_frames() 575 if (csum == 0 && fl6->flowi6_proto == IPPROTO_UDP) in rawv6_push_pending_frames() 587 struct flowi6 *fl6, struct dst_entry **dstp, in rawv6_send_hdrinc() 600 ipv6_local_error(sk, EMSGSIZE, fl6, rt->dst.dev->mtu); in rawv6_send_hdrinc() 682 static int rawv6_probe_proto_opt(struct raw6_frag_vec *rfv, struct flowi6 *fl6) in rawv6_probe_proto_opt() argument 685 switch (fl6->flowi6_proto) { in rawv6_probe_proto_opt() 690 fl6 in rawv6_probe_proto_opt() 586 rawv6_send_hdrinc(struct sock *sk, struct msghdr *msg, int length, struct flowi6 *fl6, struct dst_entry **dstp, unsigned int flags, const struct sockcm_cookie *sockc) rawv6_send_hdrinc() argument 747 struct flowi6 fl6; rawv6_sendmsg() local [all...] |
H A D | xfrm6_output.c | 21 struct flowi6 fl6; in xfrm6_local_rxpmtu() local 24 fl6.flowi6_oif = sk->sk_bound_dev_if; in xfrm6_local_rxpmtu() 25 fl6.daddr = ipv6_hdr(skb)->daddr; in xfrm6_local_rxpmtu() 27 ipv6_local_rxpmtu(sk, &fl6, mtu); in xfrm6_local_rxpmtu() 32 struct flowi6 fl6; in xfrm6_local_error() local 37 fl6.fl6_dport = inet_sk(sk)->inet_dport; in xfrm6_local_error() 38 fl6.daddr = hdr->daddr; in xfrm6_local_error() 40 ipv6_local_error(sk, EMSGSIZE, &fl6, mtu); in xfrm6_local_error()
|
H A D | syncookies.c | 228 struct flowi6 fl6; in cookie_v6_check() local 229 memset(&fl6, 0, sizeof(fl6)); in cookie_v6_check() 230 fl6.flowi6_proto = IPPROTO_TCP; in cookie_v6_check() 231 fl6.daddr = ireq->ir_v6_rmt_addr; in cookie_v6_check() 232 final_p = fl6_update_dst(&fl6, rcu_dereference(np->opt), &final); in cookie_v6_check() 233 fl6.saddr = ireq->ir_v6_loc_addr; in cookie_v6_check() 234 fl6.flowi6_oif = ireq->ir_iif; in cookie_v6_check() 235 fl6.flowi6_mark = ireq->ir_mark; in cookie_v6_check() 236 fl6 in cookie_v6_check() [all...] |
H A D | ip6_output.c | 255 int ip6_xmit(const struct sock *sk, struct sk_buff *skb, struct flowi6 *fl6, in ip6_xmit() argument 260 struct in6_addr *first_hop = &fl6->daddr; in ip6_xmit() 268 u8 proto = fl6->flowi6_proto; in ip6_xmit() 293 &fl6->saddr); in ip6_xmit() 322 ip6_flow_hdr(hdr, tclass, ip6_make_flowlabel(net, skb, fl6->flowlabel, in ip6_xmit() 323 ip6_autoflowlabel(net, np), fl6)); in ip6_xmit() 329 hdr->saddr = fl6->saddr; in ip6_xmit() 359 ipv6_local_error((struct sock *)sk, EMSGSIZE, fl6, mtu); in ip6_xmit() 1049 const struct flowi6 *fl6) in ip6_sk_dst_check() 1080 if (ip6_rt_check(&rt->rt6i_dst, &fl6 in ip6_sk_dst_check() 1047 ip6_sk_dst_check(struct sock *sk, struct dst_entry *dst, const struct flowi6 *fl6) ip6_sk_dst_check() argument 1093 ip6_dst_lookup_tail(struct net *net, const struct sock *sk, struct dst_entry **dst, struct flowi6 *fl6) ip6_dst_lookup_tail() argument 1220 ip6_dst_lookup(struct net *net, struct sock *sk, struct dst_entry **dst, struct flowi6 *fl6) ip6_dst_lookup() argument 1240 ip6_dst_lookup_flow(struct net *net, const struct sock *sk, struct flowi6 *fl6, const struct in6_addr *final_dst) ip6_dst_lookup_flow() argument 1274 ip6_sk_dst_lookup_flow(struct sock *sk, struct flowi6 *fl6, const struct in6_addr *final_dst, bool connected) ip6_sk_dst_lookup_flow() argument 1321 struct flowi6 fl6; ip6_dst_lookup_tunnel() local 1481 struct flowi6 *fl6 = &cork_full->fl.u.ip6; __ip6_append_data() local 1868 ip6_append_data(struct sock *sk, int getfrag(void *from, char *to, int offset, int len, int odd, struct sk_buff *skb), void *from, size_t length, int transhdrlen, struct ipcm6_cookie *ipc6, struct flowi6 *fl6, struct rt6_info *rt, unsigned int flags) ip6_append_data() argument 1949 struct flowi6 *fl6 = &cork->fl.u.ip6; __ip6_make_skb() local [all...] |
/kernel/linux/linux-6.6/net/ipv6/netfilter/ |
H A D | nft_fib_ipv6.c | 22 static int nft_fib6_flowi_init(struct flowi6 *fl6, const struct nft_fib *priv, in nft_fib6_flowi_init() argument 30 fl6->daddr = iph->daddr; in nft_fib6_flowi_init() 31 fl6->saddr = iph->saddr; in nft_fib6_flowi_init() 35 fl6->flowi6_iif = nft_out(pkt)->ifindex; in nft_fib6_flowi_init() 37 fl6->daddr = iph->saddr; in nft_fib6_flowi_init() 38 fl6->saddr = iph->daddr; in nft_fib6_flowi_init() 41 if (ipv6_addr_type(&fl6->daddr) & IPV6_ADDR_LINKLOCAL) { in nft_fib6_flowi_init() 43 fl6->flowi6_oif = get_ifindex(dev ? dev : pkt->skb->dev); in nft_fib6_flowi_init() 45 fl6->flowi6_l3mdev = l3mdev_master_ifindex_rcu(dev); in nft_fib6_flowi_init() 48 if (ipv6_addr_type(&fl6 in nft_fib6_flowi_init() 66 struct flowi6 fl6 = { __nft_fib6_eval_type() local 164 struct flowi6 fl6 = { nft_fib6_eval() local [all...] |
H A D | nf_dup_ipv6.c | 24 struct flowi6 fl6; in nf_dup_ipv6_route() local 26 memset(&fl6, 0, sizeof(fl6)); in nf_dup_ipv6_route() 28 fl6.flowi6_oif = oif; in nf_dup_ipv6_route() 30 fl6.daddr = *gw; in nf_dup_ipv6_route() 31 fl6.flowlabel = (__force __be32)(((iph->flow_lbl[0] & 0xF) << 16) | in nf_dup_ipv6_route() 33 fl6.flowi6_flags = FLOWI_FLAG_KNOWN_NH; in nf_dup_ipv6_route() 34 dst = ip6_route_output(net, NULL, &fl6); in nf_dup_ipv6_route()
|
/kernel/linux/linux-5.10/net/ipv6/netfilter/ |
H A D | nft_fib_ipv6.c | 22 static int nft_fib6_flowi_init(struct flowi6 *fl6, const struct nft_fib *priv, in nft_fib6_flowi_init() argument 30 fl6->daddr = iph->daddr; in nft_fib6_flowi_init() 31 fl6->saddr = iph->saddr; in nft_fib6_flowi_init() 33 fl6->daddr = iph->saddr; in nft_fib6_flowi_init() 34 fl6->saddr = iph->daddr; in nft_fib6_flowi_init() 37 if (ipv6_addr_type(&fl6->daddr) & IPV6_ADDR_LINKLOCAL) { in nft_fib6_flowi_init() 39 fl6->flowi6_oif = get_ifindex(dev ? dev : pkt->skb->dev); in nft_fib6_flowi_init() 42 fl6->flowi6_oif = dev->ifindex; in nft_fib6_flowi_init() 45 if (ipv6_addr_type(&fl6->saddr) & IPV6_ADDR_UNICAST) in nft_fib6_flowi_init() 49 fl6 in nft_fib6_flowi_init() 63 struct flowi6 fl6 = { __nft_fib6_eval_type() local 160 struct flowi6 fl6 = { nft_fib6_eval() local [all...] |
H A D | nf_dup_ipv6.c | 24 struct flowi6 fl6; in nf_dup_ipv6_route() local 26 memset(&fl6, 0, sizeof(fl6)); in nf_dup_ipv6_route() 28 fl6.flowi6_oif = oif; in nf_dup_ipv6_route() 30 fl6.daddr = *gw; in nf_dup_ipv6_route() 31 fl6.flowlabel = (__force __be32)(((iph->flow_lbl[0] & 0xF) << 16) | in nf_dup_ipv6_route() 33 fl6.flowi6_flags = FLOWI_FLAG_KNOWN_NH; in nf_dup_ipv6_route() 34 dst = ip6_route_output(net, NULL, &fl6); in nf_dup_ipv6_route()
|
H A D | nf_reject_ipv6.c | 155 struct flowi6 fl6; in nf_send_reset6() local 167 memset(&fl6, 0, sizeof(fl6)); in nf_send_reset6() 168 fl6.flowi6_proto = IPPROTO_TCP; in nf_send_reset6() 169 fl6.saddr = oip6h->daddr; in nf_send_reset6() 170 fl6.daddr = oip6h->saddr; in nf_send_reset6() 171 fl6.fl6_sport = otcph->dest; in nf_send_reset6() 172 fl6.fl6_dport = otcph->source; in nf_send_reset6() 175 nf_ip6_route(net, &dst, flowi6_to_flowi(&fl6), false); in nf_send_reset6() 181 fl6 in nf_send_reset6() [all...] |
/kernel/linux/linux-5.10/net/l2tp/ |
H A D | l2tp_ip6.c | 499 struct flowi6 fl6; in l2tp_ip6_sendmsg() local 517 memset(&fl6, 0, sizeof(fl6)); in l2tp_ip6_sendmsg() 519 fl6.flowi6_mark = sk->sk_mark; in l2tp_ip6_sendmsg() 520 fl6.flowi6_uid = sk->sk_uid; in l2tp_ip6_sendmsg() 533 fl6.flowlabel = lsa->l2tp_flowinfo & IPV6_FLOWINFO_MASK; in l2tp_ip6_sendmsg() 534 if (fl6.flowlabel & IPV6_FLOWLABEL_MASK) { in l2tp_ip6_sendmsg() 535 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); in l2tp_ip6_sendmsg() 551 fl6.flowi6_oif = lsa->l2tp_scope_id; in l2tp_ip6_sendmsg() 557 fl6 in l2tp_ip6_sendmsg() [all...] |
/kernel/linux/linux-6.6/net/l2tp/ |
H A D | l2tp_ip6.c | 498 struct flowi6 fl6; in l2tp_ip6_sendmsg() local 516 memset(&fl6, 0, sizeof(fl6)); in l2tp_ip6_sendmsg() 518 fl6.flowi6_mark = READ_ONCE(sk->sk_mark); in l2tp_ip6_sendmsg() 519 fl6.flowi6_uid = sk->sk_uid; in l2tp_ip6_sendmsg() 532 fl6.flowlabel = lsa->l2tp_flowinfo & IPV6_FLOWINFO_MASK; in l2tp_ip6_sendmsg() 533 if (fl6.flowlabel & IPV6_FLOWLABEL_MASK) { in l2tp_ip6_sendmsg() 534 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); in l2tp_ip6_sendmsg() 550 fl6.flowi6_oif = lsa->l2tp_scope_id; in l2tp_ip6_sendmsg() 556 fl6 in l2tp_ip6_sendmsg() [all...] |
/kernel/linux/linux-5.10/net/dccp/ |
H A D | ipv6.c | 194 struct flowi6 fl6; in dccp_v6_send_response() local 198 memset(&fl6, 0, sizeof(fl6)); in dccp_v6_send_response() 199 fl6.flowi6_proto = IPPROTO_DCCP; in dccp_v6_send_response() 200 fl6.daddr = ireq->ir_v6_rmt_addr; in dccp_v6_send_response() 201 fl6.saddr = ireq->ir_v6_loc_addr; in dccp_v6_send_response() 202 fl6.flowlabel = 0; in dccp_v6_send_response() 203 fl6.flowi6_oif = ireq->ir_iif; in dccp_v6_send_response() 204 fl6.fl6_dport = ireq->ir_rmt_port; in dccp_v6_send_response() 205 fl6 in dccp_v6_send_response() 255 struct flowi6 fl6; dccp_v6_ctl_send_reset() local 464 struct flowi6 fl6; dccp_v6_request_recv_sock() local 815 struct flowi6 fl6; dccp_v6_connect() local [all...] |
/kernel/linux/linux-6.6/net/dccp/ |
H A D | ipv6.c | 202 struct flowi6 fl6; in dccp_v6_send_response() local 206 memset(&fl6, 0, sizeof(fl6)); in dccp_v6_send_response() 207 fl6.flowi6_proto = IPPROTO_DCCP; in dccp_v6_send_response() 208 fl6.daddr = ireq->ir_v6_rmt_addr; in dccp_v6_send_response() 209 fl6.saddr = ireq->ir_v6_loc_addr; in dccp_v6_send_response() 210 fl6.flowlabel = 0; in dccp_v6_send_response() 211 fl6.flowi6_oif = ireq->ir_iif; in dccp_v6_send_response() 212 fl6.fl6_dport = ireq->ir_rmt_port; in dccp_v6_send_response() 213 fl6 in dccp_v6_send_response() 263 struct flowi6 fl6; dccp_v6_ctl_send_reset() local 475 struct flowi6 fl6; dccp_v6_request_recv_sock() local 827 struct flowi6 fl6; dccp_v6_connect() local [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/chelsio/libcxgb/ |
H A D | libcxgb_cm.c | 129 struct flowi6 fl6; in cxgb_find_route6() local 131 memset(&fl6, 0, sizeof(fl6)); in cxgb_find_route6() 132 memcpy(&fl6.daddr, peer_ip, 16); in cxgb_find_route6() 133 memcpy(&fl6.saddr, local_ip, 16); in cxgb_find_route6() 134 if (ipv6_addr_type(&fl6.daddr) & IPV6_ADDR_LINKLOCAL) in cxgb_find_route6() 135 fl6.flowi6_oif = sin6_scope_id; in cxgb_find_route6() 136 dst = ip6_route_output(&init_net, NULL, &fl6); in cxgb_find_route6()
|