/linux/net/ipv6/ |
A D | inet6_connection_sock.c | 28 struct flowi6 *fl6, in inet6_csk_route_req() argument 37 memset(fl6, 0, sizeof(*fl6)); in inet6_csk_route_req() 38 fl6->flowi6_proto = proto; in inet6_csk_route_req() 48 fl6->flowi6_uid = sk->sk_uid; in inet6_csk_route_req() 80 struct flowi6 *fl6) in inet6_csk_route_socket() argument 87 memset(fl6, 0, sizeof(*fl6)); in inet6_csk_route_socket() 89 fl6->daddr = sk->sk_v6_daddr; in inet6_csk_route_socket() 90 fl6->saddr = np->saddr; in inet6_csk_route_socket() 117 struct flowi6 fl6; in inet6_csk_xmit() local 133 fl6.daddr = sk->sk_v6_daddr; in inet6_csk_xmit() [all …]
|
A D | icmp.c | 460 struct flowi6 fl6; in icmp6_send() local 552 memset(&fl6, 0, sizeof(fl6)); in icmp6_send() 558 fl6.saddr = *saddr; in icmp6_send() 567 &fl6.saddr); in icmp6_send() 576 fl6.mp_hash = rt6_multipath_hash(net, &fl6, skb, NULL); in icmp6_send() 589 if (!fl6.flowi6_oif && ipv6_addr_is_multicast(&fl6.daddr)) in icmp6_send() 596 fl6.flowlabel = ip6_make_flowinfo(ipc6.tclass, fl6.flowlabel); in icmp6_send() 723 struct flowi6 fl6; in icmpv6_echo_reply() local 753 memset(&fl6, 0, sizeof(fl6)); in icmpv6_echo_reply() 773 if (!fl6.flowi6_oif && ipv6_addr_is_multicast(&fl6.daddr)) in icmpv6_echo_reply() [all …]
|
A D | ping.c | 55 struct flowi6 fl6; in ping_v6_sendmsg() local 104 memset(&fl6, 0, sizeof(fl6)); in ping_v6_sendmsg() 107 fl6.saddr = np->saddr; in ping_v6_sendmsg() 108 fl6.daddr = *daddr; in ping_v6_sendmsg() 109 fl6.flowi6_oif = oif; in ping_v6_sendmsg() 110 fl6.flowi6_mark = sk->sk_mark; in ping_v6_sendmsg() 111 fl6.flowi6_uid = sk->sk_uid; in ping_v6_sendmsg() 118 fl6.flowlabel = ip6_make_flowinfo(ipc6.tclass, fl6.flowlabel); in ping_v6_sendmsg() 125 if (!fl6.flowi6_oif && ipv6_addr_is_multicast(&fl6.daddr)) in ping_v6_sendmsg() 127 else if (!fl6.flowi6_oif) in ping_v6_sendmsg() [all …]
|
A D | raw.c | 604 csum = csum_ipv6_magic(&fl6->saddr, &fl6->daddr, in rawv6_push_pending_frames() 717 switch (fl6->flowi6_proto) { in rawv6_probe_proto_opt() 779 struct flowi6 fl6; in rawv6_sendmsg() local 806 memset(&fl6, 0, sizeof(fl6)); in rawv6_sendmsg() 864 if (fl6.flowi6_oif == 0) in rawv6_sendmsg() 894 fl6.flowi6_proto = proto; in rawv6_sendmsg() 906 fl6.daddr = *daddr; in rawv6_sendmsg() 910 fl6.saddr = np->saddr; in rawv6_sendmsg() 914 if (!fl6.flowi6_oif && ipv6_addr_is_multicast(&fl6.daddr)) in rawv6_sendmsg() 916 else if (!fl6.flowi6_oif) in rawv6_sendmsg() [all …]
|
A D | datagram.c | 46 memset(fl6, 0, sizeof(*fl6)); 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() 55 fl6->flowi6_uid = sk->sk_uid; in ip6_datagram_flow_key_init() 57 if (!fl6->flowi6_oif) in ip6_datagram_flow_key_init() 60 if (!fl6->flowi6_oif && ipv6_addr_is_multicast(&fl6->daddr)) in ip6_datagram_flow_key_init() 74 struct flowi6 fl6; in ip6_datagram_dst_update() local 97 np->saddr = fl6.saddr; in ip6_datagram_dst_update() 357 iph->daddr = fl6->daddr; in ipv6_local_error() 395 iph->daddr = fl6->daddr; in ipv6_local_rxpmtu() [all …]
|
A D | ip6_output.c | 281 &fl6->saddr); in ip6_xmit() 303 hdr->saddr = fl6->saddr; in ip6_xmit() 1038 (fl6->flowi6_oif && fl6->flowi6_oif != dst->dev->ifindex))) { in ip6_sk_dst_check() 1077 &fl6->saddr); in ip6_dst_lookup_tail() 1092 if (fl6->flowi6_oif) in ip6_dst_lookup_tail() 1147 !(ipv6_addr_v4mapped(&fl6->daddr) || ipv6_addr_any(&fl6->daddr))) { in ip6_dst_lookup_tail() 1175 struct flowi6 *fl6) in ip6_dst_lookup() argument 1275 struct flowi6 fl6; in ip6_dst_lookup_tunnel() local 1286 memset(&fl6, 0, sizeof(fl6)); in ip6_dst_lookup_tunnel() 1310 *saddr = fl6.saddr; in ip6_dst_lookup_tunnel() [all …]
|
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()
|
A D | syncookies.c | 225 struct flowi6 fl6; in cookie_v6_check() local 226 memset(&fl6, 0, sizeof(fl6)); in cookie_v6_check() 227 fl6.flowi6_proto = IPPROTO_TCP; in cookie_v6_check() 228 fl6.daddr = ireq->ir_v6_rmt_addr; in cookie_v6_check() 230 fl6.saddr = ireq->ir_v6_loc_addr; in cookie_v6_check() 231 fl6.flowi6_oif = ireq->ir_iif; in cookie_v6_check() 232 fl6.flowi6_mark = ireq->ir_mark; in cookie_v6_check() 233 fl6.fl6_dport = ireq->ir_rmt_port; in cookie_v6_check() 234 fl6.fl6_sport = inet_sk(sk)->inet_sport; in cookie_v6_check() 235 fl6.flowi6_uid = sk->sk_uid; in cookie_v6_check() [all …]
|
A D | udp.c | 1238 udp6_hwcsum_outgoing(sk, skb, &fl6->saddr, &fl6->daddr, len); in udp_v6_send_skb() 1244 uh->check = csum_ipv6_magic(&fl6->saddr, &fl6->daddr, in udp_v6_send_skb() 1268 struct flowi6 fl6; in udp_v6_push_pending_frames() local 1302 struct flowi6 fl6; in udpv6_sendmsg() local 1393 memset(&fl6, 0, sizeof(fl6)); in udpv6_sendmsg() 1433 if (!fl6.flowi6_oif) in udpv6_sendmsg() 1436 if (!fl6.flowi6_oif) in udpv6_sendmsg() 1475 fl6.daddr = *daddr; in udpv6_sendmsg() 1477 fl6.saddr = np->saddr; in udpv6_sendmsg() 1510 if (!fl6.flowi6_oif && ipv6_addr_is_multicast(&fl6.daddr)) { in udpv6_sendmsg() [all …]
|
A D | fib6_rules.c | 63 int fib6_lookup(struct net *net, int oif, struct flowi6 *fl6, in fib6_lookup() argument 76 l3mdev_update_flow(net, flowi6_to_flowi(fl6)); in fib6_lookup() 79 flowi6_to_flowi(fl6), flags, &arg); in fib6_lookup() 82 fl6, res, flags); in fib6_lookup() 85 oif, fl6, res, flags); in fib6_lookup() 105 l3mdev_update_flow(net, flowi6_to_flowi(fl6)); in fib6_rule_lookup() 108 flowi6_to_flowi(fl6), flags, &arg); in fib6_rule_lookup() 116 net, net->ipv6.fib6_local_tbl, fl6, skb, flags); in fib6_rule_lookup() 121 net, net->ipv6.fib6_main_tbl, fl6, skb, flags); in fib6_rule_lookup() 306 struct flowi6 *fl6 = &fl->u.ip6; in fib6_rule_match() local [all …]
|
A D | xfrm6_policy.c | 31 struct flowi6 fl6; in xfrm6_dst_lookup() local 35 memset(&fl6, 0, sizeof(fl6)); in xfrm6_dst_lookup() 36 fl6.flowi6_oif = l3mdev_master_ifindex_by_index(net, oif); in xfrm6_dst_lookup() 37 fl6.flowi6_flags = FLOWI_FLAG_SKIP_NH_OIF; in xfrm6_dst_lookup() 38 fl6.flowi6_mark = mark; in xfrm6_dst_lookup() 39 memcpy(&fl6.daddr, daddr, sizeof(fl6.daddr)); in xfrm6_dst_lookup() 41 memcpy(&fl6.saddr, saddr, sizeof(fl6.saddr)); in xfrm6_dst_lookup() 43 dst = ip6_route_output(net, NULL, &fl6); in xfrm6_dst_lookup()
|
A D | route.c | 431 fl6->mp_hash = rt6_multipath_hash(net, fl6, skb, NULL); in fib6_select_path() 1213 fn = fib6_node_lookup(&table->tb6_root, &fl6->daddr, &fl6->saddr); in ip6_pol_route_lookup() 1219 rt6_device_match(net, &res, &fl6->saddr, fl6->flowi6_oif, in ip6_pol_route_lookup() 1234 fib6_select_path(net, &res, fl6, fl6->flowi6_oif, in ip6_pol_route_lookup() 1238 rt = rt6_find_cached_rt(&res, &fl6->daddr, &fl6->saddr); in ip6_pol_route_lookup() 2178 fn = fib6_node_lookup(&table->tb6_root, &fl6->daddr, &fl6->saddr); in fib6_table_lookup() 2228 rt = rt6_find_cached_rt(&res, &fl6->daddr, &fl6->saddr); in ip6_pol_route() 2585 fl6.mp_hash = rt6_multipath_hash(net, &fl6, skb, flkeys); in ip6_route_input() 3009 rt_cache = rt6_find_cached_rt(res, &fl6->daddr, &fl6->saddr); in ip6_redirect_nh_match() 3052 .fl6 = fl6, in __ip6_route_redirect() [all …]
|
A D | ip6_gre.c | 647 memcpy(fl6, &t->fl.u.ip6, sizeof(*fl6)); in prepare_ip6gre_xmit_ipv4() 689 memcpy(fl6, &t->fl.u.ip6, sizeof(*fl6)); in prepare_ip6gre_xmit_ipv6() 753 memset(fl6, 0, sizeof(*fl6)); in __gre6_xmit() 787 struct flowi6 fl6; in ip6gre_xmit_ipv4() local 820 struct flowi6 fl6; in ip6gre_xmit_ipv6() local 870 struct flowi6 fl6; in ip6gre_xmit_other() local 878 memcpy(&fl6, &t->fl.u.ip6, sizeof(fl6)); in ip6gre_xmit_other() 937 struct flowi6 fl6; in ip6erspan_tunnel_xmit() local 988 memset(&fl6, 0, sizeof(fl6)); in ip6erspan_tunnel_xmit() 1031 memcpy(&fl6, &t->fl.u.ip6, sizeof(fl6)); in ip6erspan_tunnel_xmit() [all …]
|
A D | fou6.c | 22 struct flowi6 *fl6, u8 *protocol, __be16 sport) in fou6_build_udp() argument 35 &fl6->saddr, &fl6->daddr, skb->len); in fou6_build_udp() 41 u8 *protocol, struct flowi6 *fl6) in fou6_build_header() argument 52 fou6_build_udp(skb, e, fl6, protocol, sport); in fou6_build_header() 58 u8 *protocol, struct flowi6 *fl6) in gue6_build_header() argument 69 fou6_build_udp(skb, e, fl6, protocol, sport); in gue6_build_header()
|
/linux/net/ipv6/netfilter/ |
A D | nft_fib_ipv6.c | 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() 42 if (ipv6_addr_type(&fl6->saddr) & IPV6_ADDR_UNICAST) in nft_fib6_flowi_init() 46 fl6->flowi6_mark = pkt->skb->mark; in nft_fib6_flowi_init() 60 struct flowi6 fl6 = { in __nft_fib6_eval_type() local 71 nft_fib6_flowi_init(&fl6, priv, pkt, dev, iph); in __nft_fib6_eval_type() 77 flowi6_to_flowi(&fl6), false); in __nft_fib6_eval_type() 97 addrtype = ipv6_addr_type(&fl6.daddr); in __nft_fib6_eval_type() [all …]
|
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()
|
A D | nf_reject_ipv6.c | 289 struct flowi6 fl6; in nf_send_reset6() local 301 memset(&fl6, 0, sizeof(fl6)); in nf_send_reset6() 302 fl6.flowi6_proto = IPPROTO_TCP; in nf_send_reset6() 303 fl6.saddr = oip6h->daddr; in nf_send_reset6() 304 fl6.daddr = oip6h->saddr; in nf_send_reset6() 305 fl6.fl6_sport = otcph->dest; in nf_send_reset6() 306 fl6.fl6_dport = otcph->source; in nf_send_reset6() 309 nf_ip6_route(net, &dst, flowi6_to_flowi(&fl6), false); in nf_send_reset6() 316 fl6.flowi6_mark = IP6_REPLY_MARK(net, oldskb->mark); in nf_send_reset6() 318 dst = ip6_route_output(net, NULL, &fl6); in nf_send_reset6() [all …]
|
A D | ip6t_rpfilter.c | 38 struct flowi6 fl6 = { in rpfilter_lookup_reverse6() local 47 memcpy(&fl6.saddr, &iph->daddr, sizeof(struct in6_addr)); in rpfilter_lookup_reverse6() 53 fl6.flowi6_mark = flags & XT_RPFILTER_VALID_MARK ? skb->mark : 0; in rpfilter_lookup_reverse6() 57 fl6.flowi6_oif = dev->ifindex; in rpfilter_lookup_reverse6() 61 fl6.flowi6_oif = dev->ifindex; in rpfilter_lookup_reverse6() 63 rt = (void *)ip6_route_lookup(net, &fl6, skb, lookup_flags); in rpfilter_lookup_reverse6()
|
/linux/net/l2tp/ |
A D | l2tp_ip6.c | 501 struct flowi6 fl6; in l2tp_ip6_sendmsg() local 519 memset(&fl6, 0, sizeof(fl6)); in l2tp_ip6_sendmsg() 521 fl6.flowi6_mark = sk->sk_mark; in l2tp_ip6_sendmsg() 522 fl6.flowi6_uid = sk->sk_uid; in l2tp_ip6_sendmsg() 559 fl6.flowlabel = np->flow_label; in l2tp_ip6_sendmsg() 562 if (fl6.flowi6_oif == 0) in l2tp_ip6_sendmsg() 596 fl6.daddr = *daddr; in l2tp_ip6_sendmsg() 600 fl6.saddr = np->saddr; in l2tp_ip6_sendmsg() 604 if (!fl6.flowi6_oif && ipv6_addr_is_multicast(&fl6.daddr)) in l2tp_ip6_sendmsg() 606 else if (!fl6.flowi6_oif) in l2tp_ip6_sendmsg() [all …]
|
/linux/net/dccp/ |
A D | ipv6.c | 201 struct flowi6 fl6; in dccp_v6_send_response() local 205 memset(&fl6, 0, sizeof(fl6)); in dccp_v6_send_response() 209 fl6.flowlabel = 0; in dccp_v6_send_response() 262 struct flowi6 fl6; in dccp_v6_ctl_send_reset() local 284 memset(&fl6, 0, sizeof(fl6)); in dccp_v6_ctl_send_reset() 285 fl6.daddr = rxip6h->saddr; in dccp_v6_ctl_send_reset() 286 fl6.saddr = rxip6h->daddr; in dccp_v6_ctl_send_reset() 474 struct flowi6 fl6; in dccp_v6_request_recv_sock() local 828 struct flowi6 fl6; in dccp_v6_connect() local 841 memset(&fl6, 0, sizeof(fl6)); in dccp_v6_connect() [all …]
|
/linux/drivers/net/ethernet/qlogic/qed/ |
A D | qed_nvmetcp_ip_services.c | 91 struct flowi6 fl6; in qed_route_ipv6() local 95 memset(&fl6, 0, sizeof(fl6)); in qed_route_ipv6() 96 fl6.saddr = ((struct sockaddr_in6 *)local_addr)->sin6_addr; in qed_route_ipv6() 97 fl6.daddr = ((struct sockaddr_in6 *)remote_addr)->sin6_addr; in qed_route_ipv6() 98 dst = ip6_route_output(&init_net, NULL, &fl6); in qed_route_ipv6() 108 neigh = dst_neigh_lookup(dst, &fl6.daddr); in qed_route_ipv6() 132 if (ipv6_addr_any(&fl6.saddr)) { in qed_route_ipv6() 134 &fl6.daddr, 0, &fl6.saddr)) { in qed_route_ipv6() 141 fl6.saddr; in qed_route_ipv6()
|
/linux/drivers/net/ethernet/chelsio/libcxgb/ |
A D | libcxgb_cm.c | 128 struct flowi6 fl6; in cxgb_find_route6() local 130 memset(&fl6, 0, sizeof(fl6)); in cxgb_find_route6() 131 memcpy(&fl6.daddr, peer_ip, 16); in cxgb_find_route6() 132 memcpy(&fl6.saddr, local_ip, 16); in cxgb_find_route6() 133 if (ipv6_addr_type(&fl6.daddr) & IPV6_ADDR_LINKLOCAL) in cxgb_find_route6() 134 fl6.flowi6_oif = sin6_scope_id; in cxgb_find_route6() 135 dst = ip6_route_output(&init_net, NULL, &fl6); in cxgb_find_route6()
|
/linux/net/sctp/ |
A D | ipv6.c | 225 struct flowi6 *fl6 = &t->fl.u.ip6; in sctp_v6_xmit() local 232 skb->len, &fl6->saddr, &fl6->daddr); in sctp_v6_xmit() 264 label = ip6_make_flowlabel(sock_net(sk), skb, fl6->flowlabel, true, fl6); in sctp_v6_xmit() 280 struct flowi6 *fl6 = &_fl.u.ip6; in sctp_v6_get_dst() local 291 fl6->daddr = daddr->v6.sin6_addr; in sctp_v6_get_dst() 293 fl6->flowi6_proto = IPPROTO_SCTP; in sctp_v6_get_dst() 316 fl6->saddr = saddr->v6.sin6_addr; in sctp_v6_get_dst() 317 if (!fl6->fl6_sport) in sctp_v6_get_dst() 382 fl6->saddr = laddr->a.v6.sin6_addr; in sctp_v6_get_dst() 446 struct flowi6 *fl6 = &fl->u.ip6; in sctp_v6_get_saddr() local [all …]
|
/linux/include/net/ |
A D | ip6_fib.h | 555 struct flowi6 *fl6, 560 struct flowi6 *fl6, 565 struct flowi6 *fl6, 570 struct flowi6 *fl6, 576 struct flowi6 *fl6, in pol_lookup_func() argument 585 net, table, fl6, skb, flags); in pol_lookup_func() 603 struct flowi6 *fl6, in fib6_rules_early_flow_dissect() argument 612 fl6->fl6_sport = flkeys->ports.src; in fib6_rules_early_flow_dissect() 613 fl6->fl6_dport = flkeys->ports.dst; in fib6_rules_early_flow_dissect() 614 fl6->flowi6_proto = flkeys->basic.ip_proto; in fib6_rules_early_flow_dissect() [all …]
|
/linux/net/ipv6/ila/ |
A D | ila_lwt.c | 64 struct flowi6 fl6; in ila_output() local 70 memset(&fl6, 0, sizeof(fl6)); in ila_output() 71 fl6.flowi6_oif = orig_dst->dev->ifindex; in ila_output() 72 fl6.flowi6_iif = LOOPBACK_IFINDEX; in ila_output() 73 fl6.daddr = *rt6_nexthop((struct rt6_info *)orig_dst, in ila_output() 76 dst = ip6_route_output(net, NULL, &fl6); in ila_output() 83 dst = xfrm_lookup(net, dst, flowi6_to_flowi(&fl6), NULL, 0); in ila_output() 90 dst_cache_set_ip6(&ilwt->dst_cache, dst, &fl6.saddr); in ila_output()
|