| /net/ipv4/ |
| A D | route.c | 826 struct flowi4 fl4; in ip_do_redirect() local 2063 u32 multipath_hash = fl4 ? fl4->flowi4_multipath_hash : 0; in fib_multipath_hash() 2593 if (!ip_check_mc_rcu(in_dev, fl4->daddr, fl4->saddr, in __mkroute_output() 2795 fl4->daddr = fl4->saddr; in ip_route_output_key_hash_rcu() 2797 fl4->daddr = fl4->saddr = htonl(INADDR_LOOPBACK); in ip_route_output_key_hash_rcu() 2810 (ipv4_is_multicast(fl4->daddr) || !fl4->flowi4_l3mdev)) { in ip_route_output_key_hash_rcu() 2844 fl4->saddr = fl4->daddr; in ip_route_output_key_hash_rcu() 3031 if (fl4) { in rt_fill_info() 3048 fl4->saddr, fl4->daddr, in rt_fill_info() 3334 fl4.daddr = dst; in inet_rtm_getroute() [all …]
|
| A D | xfrm4_policy.c | 26 memset(fl4, 0, sizeof(*fl4)); in __xfrm4_dst_lookup() 27 fl4->daddr = params->daddr->a4; in __xfrm4_dst_lookup() 31 fl4->flowi4_mark = params->mark; in __xfrm4_dst_lookup() 33 fl4->saddr = params->saddr->a4; in __xfrm4_dst_lookup() 34 fl4->flowi4_proto = params->ipproto; in __xfrm4_dst_lookup() 35 fl4->uli = params->uli; in __xfrm4_dst_lookup() 46 struct flowi4 fl4; in xfrm4_dst_lookup() local 55 struct flowi4 fl4; in xfrm4_get_saddr() local 61 saddr->a4 = fl4.saddr; in xfrm4_get_saddr() 70 const struct flowi4 *fl4 = &fl->u.ip4; in xfrm4_fill_dst() local [all …]
|
| A D | netfilter.c | 26 struct flowi4 fl4 = {}; in ip_route_me_harder() local 45 fl4.daddr = iph->daddr; in ip_route_me_harder() 46 fl4.saddr = saddr; in ip_route_me_harder() 47 fl4.flowi4_tos = inet_dscp_to_dsfield(ip4h_dscp(iph)); in ip_route_me_harder() 48 fl4.flowi4_oif = sk ? sk->sk_bound_dev_if : 0; in ip_route_me_harder() 49 fl4.flowi4_l3mdev = l3mdev_master_ifindex(dev); in ip_route_me_harder() 50 fl4.flowi4_mark = skb->mark; in ip_route_me_harder() 51 fl4.flowi4_flags = flags; in ip_route_me_harder() 52 fib4_rules_early_flow_dissect(net, skb, &fl4, &flkeys); in ip_route_me_harder() 53 rt = ip_route_output_key(net, &fl4); in ip_route_me_harder() [all …]
|
| A D | udp_tunnel_core.c | 238 struct flowi4 fl4; in udp_tunnel_dst_lookup() local 248 memset(&fl4, 0, sizeof(fl4)); in udp_tunnel_dst_lookup() 249 fl4.flowi4_mark = skb->mark; in udp_tunnel_dst_lookup() 250 fl4.flowi4_proto = IPPROTO_UDP; in udp_tunnel_dst_lookup() 251 fl4.flowi4_oif = oif; in udp_tunnel_dst_lookup() 252 fl4.daddr = key->u.ipv4.dst; in udp_tunnel_dst_lookup() 253 fl4.saddr = key->u.ipv4.src; in udp_tunnel_dst_lookup() 254 fl4.fl4_dport = dport; in udp_tunnel_dst_lookup() 255 fl4.fl4_sport = sport; in udp_tunnel_dst_lookup() 257 fl4.flowi4_flags = key->flow_flags; in udp_tunnel_dst_lookup() [all …]
|
| A D | icmp.c | 408 struct flowi4 fl4; in icmp_reply() local 442 memset(&fl4, 0, sizeof(fl4)); in icmp_reply() 443 fl4.daddr = daddr; in icmp_reply() 444 fl4.saddr = saddr; in icmp_reply() 445 fl4.flowi4_mark = mark; in icmp_reply() 492 memset(fl4, 0, sizeof(*fl4)); in icmp_route_lookup() 495 fl4->saddr = saddr; in icmp_route_lookup() 496 fl4->flowi4_mark = mark; in icmp_route_lookup() 565 memcpy(fl4, &fl4_dec, sizeof(*fl4)); in icmp_route_lookup() 603 struct flowi4 fl4; in __icmp_send() local [all …]
|
| A D | datagram.c | 23 struct flowi4 *fl4; in __ip4_datagram_connect() local 48 fl4 = &inet->cork.fl.u.ip4; in __ip4_datagram_connect() 49 rt = ip_route_connect(fl4, usin->sin_addr.s_addr, saddr, oif, in __ip4_datagram_connect() 66 inet->inet_daddr = fl4->daddr; in __ip4_datagram_connect() 69 inet->inet_saddr = fl4->saddr; in __ip4_datagram_connect() 71 inet->inet_rcv_saddr = fl4->saddr; in __ip4_datagram_connect() 106 struct flowi4 fl4; in ip4_datagram_release_cb() local 117 inet_sk_init_flowi4(inet, &fl4); in ip4_datagram_release_cb() 118 rt = ip_route_output_flow(sock_net(sk), &fl4, sk); in ip4_datagram_release_cb()
|
| A D | ip_output.c | 454 offsetof(typeof(*fl4), saddr) + sizeof(fl4->saddr)); in ip_copy_addrs() 456 iph->saddr = fl4->saddr; in ip_copy_addrs() 457 iph->daddr = fl4->daddr; in ip_copy_addrs() 467 struct flowi4 *fl4; in __ip_queue_xmit() local 477 fl4 = &fl->u.ip4; in __ip_queue_xmit() 516 ip_copy_addrs(iph, fl4); in __ip_queue_xmit() 949 struct flowi4 *fl4, in __ip_append_data() argument 1395 struct flowi4 *fl4, in __ip_make_skb() argument 1461 ip_copy_addrs(iph, fl4); in __ip_make_skb() 1550 struct flowi4 *fl4, in ip_make_skb() argument [all …]
|
| A D | fib_frontend.c | 292 struct flowi4 fl4 = { in fib_compute_spec_dst() local 353 struct flowi4 fl4; in __fib_validate_source() local 356 fl4.flowi4_oif = 0; in __fib_validate_source() 359 fl4.daddr = src; in __fib_validate_source() 360 fl4.saddr = dst; in __fib_validate_source() 363 fl4.flowi4_tun_key.tun_id = 0; in __fib_validate_source() 364 fl4.flowi4_flags = 0; in __fib_validate_source() 372 fl4.flowi4_proto = 0; in __fib_validate_source() 373 fl4.fl4_sport = 0; in __fib_validate_source() 374 fl4.fl4_dport = 0; in __fib_validate_source() [all …]
|
| A D | raw.c | 398 iph->saddr = fl4->saddr; in raw_send_hdrinc() 435 if (fl4->flowi4_proto != IPPROTO_ICMP) in raw_probe_proto_opt() 445 fl4->fl4_icmp_type = rfv->hdr.icmph.type; in raw_probe_proto_opt() 446 fl4->fl4_icmp_code = rfv->hdr.icmph.code; in raw_probe_proto_opt() 488 struct flowi4 fl4; in raw_sendmsg() local 615 fl4.fl4_icmp_type = 0; in raw_sendmsg() 616 fl4.fl4_icmp_code = 0; in raw_sendmsg() 622 err = raw_probe_proto_opt(&rfv, &fl4); in raw_sendmsg() 628 rt = ip_route_output_flow(net, &fl4, sk); in raw_sendmsg() 649 ipc.addr = fl4.daddr; in raw_sendmsg() [all …]
|
| A D | ip_tunnel.c | 293 struct flowi4 fl4; in ip_tunnel_bind_dev() local 300 rt = ip_route_output_key(tunnel->net, &fl4); in ip_tunnel_bind_dev() 594 struct flowi4 fl4; in ip_md_tunnel_xmit() local 635 fl4.saddr); in ip_md_tunnel_xmit() 670 iptunnel_xmit(NULL, rt, skb, fl4.saddr, fl4.daddr, proto, tos, ttl, in ip_md_tunnel_xmit() 693 struct flowi4 fl4; in ip_tunnel_xmit() local 788 &fl4.saddr); in ip_tunnel_xmit() 791 &fl4.saddr) : NULL; in ip_tunnel_xmit() 803 fl4.saddr); in ip_tunnel_xmit() 806 fl4.saddr); in ip_tunnel_xmit() [all …]
|
| A D | fib_rules.c | 183 struct flowi4 *fl4 = &fl->u.ip4; in fib4_rule_match() local 184 __be32 daddr = fl4->daddr; in fib4_rule_match() 185 __be32 saddr = fl4->saddr; in fib4_rule_match() 197 (r->dscp ^ inet_dsfield_to_dscp(fl4->flowi4_tos)) & r->dscp_mask) in fib4_rule_match() 200 !fib_dscp_masked_match(r->dscp, fl4)) in fib4_rule_match() 203 if (rule->ip_proto && (rule->ip_proto != fl4->flowi4_proto)) in fib4_rule_match() 207 fl4->fl4_sport)) in fib4_rule_match() 211 fl4->fl4_dport)) in fib4_rule_match()
|
| A D | ping.c | 636 struct flowi4 *fl4) in ping_v4_push_pending_frames() argument 647 return ip_push_pending_frames(sk, fl4); in ping_v4_push_pending_frames() 699 struct flowi4 fl4; in ping_v4_sendmsg() local 781 flowi4_init_output(&fl4, ipc.oif, ipc.sockc.mark, in ping_v4_sendmsg() 786 fl4.fl4_icmp_type = user_icmph.type; in ping_v4_sendmsg() 787 fl4.fl4_icmp_code = user_icmph.code; in ping_v4_sendmsg() 790 rt = ip_route_output_flow(net, &fl4, sk); in ping_v4_sendmsg() 809 ipc.addr = fl4.daddr; in ping_v4_sendmsg() 822 err = ip_append_data(sk, &fl4, ping_getfrag, &pfh, len, in ping_v4_sendmsg() 828 err = ping_v4_push_pending_frames(sk, &pfh, &fl4); in ping_v4_sendmsg() [all …]
|
| A D | inet_connection_sock.c | 796 struct flowi4 *fl4, in inet_csk_route_req() argument 807 flowi4_init_output(fl4, ireq->ir_iif, ireq->ir_mark, in inet_csk_route_req() 814 rt = ip_route_output_flow(net, fl4, sk); in inet_csk_route_req() 838 struct flowi4 *fl4; in inet_csk_route_child_sock() local 842 fl4 = &newinet->cork.fl.u.ip4; in inet_csk_route_child_sock() 844 flowi4_init_output(fl4, ireq->ir_iif, ireq->ir_mark, in inet_csk_route_child_sock() 851 rt = ip_route_output_flow(net, fl4, sk); in inet_csk_route_child_sock() 1539 struct flowi4 *fl4; in inet_csk_rebuild_route() local 1543 fl4 = &fl->u.ip4; in inet_csk_rebuild_route() 1544 inet_sk_init_flowi4(inet, fl4); in inet_csk_rebuild_route() [all …]
|
| A D | syncookies.c | 408 struct flowi4 fl4; in cookie_v4_check() local 453 flowi4_init_output(&fl4, ireq->ir_iif, ireq->ir_mark, in cookie_v4_check() 459 security_req_classify_flow(req, flowi4_to_flowi_common(&fl4)); in cookie_v4_check() 460 rt = ip_route_output_key(net, &fl4); in cookie_v4_check() 495 inet_sk(ret)->cork.fl.u.ip4 = fl4; in cookie_v4_check()
|
| A D | fib_semantics.c | 1182 struct flowi4 fl4 = { in fib_check_nh_v4_gw() local 1190 if (fl4.flowi4_scope < RT_SCOPE_LINK) in fib_check_nh_v4_gw() 1191 fl4.flowi4_scope = RT_SCOPE_LINK; in fib_check_nh_v4_gw() 1197 err = fib_table_lookup(tbl, &fl4, &res, in fib_check_nh_v4_gw() 1206 err = fib_lookup(net, &fl4, &res, in fib_check_nh_v4_gw() 2166 const struct flowi4 *fl4) in fib_select_multipath() argument 2180 saddr = fl4 ? fl4->saddr : 0; in fib_select_multipath() 2218 if (fl4->flowi4_oif) in fib_select_path() 2225 fib_select_multipath(res, h, fl4); in fib_select_path() 2232 fib_select_default(fl4, res); in fib_select_path() [all …]
|
| A D | udp.c | 1135 uh->dest = fl4->fl4_dport; in udp_send_skb() 1182 udp4_hwcsum(skb, fl4->saddr, fl4->daddr); in udp_send_skb() 1189 uh->check = csum_tcpudp_magic(fl4->saddr, fl4->daddr, len, in udp_send_skb() 1276 struct flowi4 *fl4; in udp_sendmsg() local 1304 fl4 = &inet->cork.fl.u.ip4; in udp_sendmsg() 1441 fl4 = &fl4_stack; in udp_sendmsg() 1471 saddr = fl4->saddr; in udp_sendmsg() 1501 fl4 = &inet->cork.fl.u.ip4; in udp_sendmsg() 1502 fl4->daddr = daddr; in udp_sendmsg() 1503 fl4->saddr = saddr; in udp_sendmsg() [all …]
|
| A D | fou_core.c | 1036 struct flowi4 *fl4, u8 *protocol, __be16 sport) in fou_build_udp() argument 1049 fl4->saddr, fl4->daddr, skb->len); in fou_build_udp() 1055 u8 *protocol, struct flowi4 *fl4) in fou_build_header() argument 1066 fou_build_udp(skb, e, fl4, protocol, sport); in fou_build_header() 1072 u8 *protocol, struct flowi4 *fl4) in gue_build_header() argument 1083 fou_build_udp(skb, e, fl4, protocol, sport); in gue_build_header()
|
| /net/ipv4/netfilter/ |
| A D | nf_dup_ipv4.c | 29 struct flowi4 fl4; in nf_dup_ipv4_route() local 31 memset(&fl4, 0, sizeof(fl4)); in nf_dup_ipv4_route() 33 fl4.flowi4_oif = oif; in nf_dup_ipv4_route() 35 fl4.daddr = gw->s_addr; in nf_dup_ipv4_route() 36 fl4.flowi4_tos = inet_dscp_to_dsfield(ip4h_dscp(iph)); in nf_dup_ipv4_route() 37 fl4.flowi4_scope = RT_SCOPE_UNIVERSE; in nf_dup_ipv4_route() 38 fl4.flowi4_flags = FLOWI_FLAG_KNOWN_NH; in nf_dup_ipv4_route() 39 rt = ip_route_output_key(net, &fl4); in nf_dup_ipv4_route()
|
| A D | nft_fib_ipv4.c | 70 struct flowi4 fl4 = { in nft_fib4_eval() local 98 fl4.flowi4_l3mdev = nft_fib_l3mdev_master_ifindex_rcu(pkt, oif); in nft_fib4_eval() 115 fl4.flowi4_mark = pkt->skb->mark; in nft_fib4_eval() 117 fl4.flowi4_tos = inet_dscp_to_dsfield(ip4h_dscp(iph)); in nft_fib4_eval() 120 fl4.daddr = iph->daddr; in nft_fib4_eval() 121 fl4.saddr = get_saddr(iph->saddr); in nft_fib4_eval() 125 fl4.flowi4_iif = nft_out(pkt)->ifindex; in nft_fib4_eval() 127 fl4.daddr = iph->saddr; in nft_fib4_eval() 128 fl4.saddr = get_saddr(iph->daddr); in nft_fib4_eval() 133 if (fib_lookup(nft_net(pkt), &fl4, &res, FIB_LOOKUP_IGNORE_LINKSTATE)) in nft_fib4_eval()
|
| A D | ipt_rpfilter.c | 33 static bool rpfilter_lookup_reverse(struct net *net, struct flowi4 *fl4, in rpfilter_lookup_reverse() argument 38 if (fib_lookup(net, fl4, &res, FIB_LOOKUP_IGNORE_LINKSTATE)) in rpfilter_lookup_reverse()
|
| /net/sctp/ |
| A D | protocol.c | 291 saddr->v4.sin_addr.s_addr = fl4->saddr; in sctp_v4_dst_saddr() 422 struct flowi4 *fl4 = &_fl.u.ip4; in sctp_v4_get_dst() local 436 fl4->daddr = daddr->v4.sin_addr.s_addr; in sctp_v4_get_dst() 437 fl4->fl4_dport = daddr->v4.sin_port; in sctp_v4_get_dst() 438 fl4->flowi4_proto = IPPROTO_SCTP; in sctp_v4_get_dst() 447 if (!fl4->fl4_sport) in sctp_v4_get_dst() 448 fl4->fl4_sport = saddr->v4.sin_port; in sctp_v4_get_dst() 452 &fl4->saddr); in sctp_v4_get_dst() 505 fl4->fl4_sport = laddr->a.v4.sin_port; in sctp_v4_get_dst() 1073 struct flowi4 *fl4 = &t->fl.u.ip4; in sctp_v4_xmit() local [all …]
|
| /net/core/ |
| A D | lwt_bpf.c | 206 struct flowi4 fl4 = {}; in bpf_lwt_xmit_reroute() local 209 fl4.flowi4_oif = oif; in bpf_lwt_xmit_reroute() 210 fl4.flowi4_mark = skb->mark; in bpf_lwt_xmit_reroute() 211 fl4.flowi4_uid = sock_net_uid(net, sk); in bpf_lwt_xmit_reroute() 212 fl4.flowi4_tos = inet_dscp_to_dsfield(ip4h_dscp(iph)); in bpf_lwt_xmit_reroute() 213 fl4.flowi4_flags = FLOWI_FLAG_ANYSRC; in bpf_lwt_xmit_reroute() 214 fl4.flowi4_proto = iph->protocol; in bpf_lwt_xmit_reroute() 215 fl4.daddr = iph->daddr; in bpf_lwt_xmit_reroute() 216 fl4.saddr = iph->saddr; in bpf_lwt_xmit_reroute() 218 rt = ip_route_output_key(net, &fl4); in bpf_lwt_xmit_reroute()
|
| /net/xfrm/ |
| A D | xfrm_nat_keepalive.c | 46 struct flowi4 fl4; in nat_keepalive_send_ipv4() local 52 flowi4_init_output(&fl4, 0 /* oif */, skb->mark, tos, in nat_keepalive_send_ipv4() 57 rt = ip_route_output_key(net, &fl4); in nat_keepalive_send_ipv4() 66 err = ip_build_and_send_pkt(skb, sk, fl4.saddr, fl4.daddr, NULL, tos); in nat_keepalive_send_ipv4()
|
| A D | xfrm_policy.c | 219 const struct flowi4 *fl4 = &fl->u.ip4; in __xfrm4_selector_match() local 3438 struct flowi4 *fl4 = &fl->u.ip4; in decode_session4() local 3440 memset(fl4, 0, sizeof(struct flowi4)); in decode_session4() 3443 fl4->saddr = flkeys->addrs.ipv4.dst; in decode_session4() 3444 fl4->daddr = flkeys->addrs.ipv4.src; in decode_session4() 3445 fl4->fl4_sport = flkeys->ports.dst; in decode_session4() 3446 fl4->fl4_dport = flkeys->ports.src; in decode_session4() 3448 fl4->saddr = flkeys->addrs.ipv4.src; in decode_session4() 3449 fl4->daddr = flkeys->addrs.ipv4.dst; in decode_session4() 3450 fl4->fl4_sport = flkeys->ports.src; in decode_session4() [all …]
|
| /net/netfilter/ipvs/ |
| A D | ip_vs_xmit.c | 126 struct flowi4 fl4; in do_output_route4() local 129 memset(&fl4, 0, sizeof(fl4)); in do_output_route4() 130 fl4.daddr = daddr; in do_output_route4() 131 fl4.flowi4_flags = (rt_mode & IP_VS_RT_MODE_KNOWN_NH) ? in do_output_route4() 135 rt = ip_route_output_key(net, &fl4); in do_output_route4() 140 if (rt_mode & IP_VS_RT_MODE_CONNECT && fl4.saddr) { in do_output_route4() 142 flowi4_update_output(&fl4, 0, daddr, fl4.saddr); in do_output_route4() 147 *ret_saddr = fl4.saddr; in do_output_route4()
|