/linux/include/net/ |
A D | flow.h | 103 fl4->flowi4_oif = oif; in flowi4_init_output() 106 fl4->flowi4_tos = tos; in flowi4_init_output() 110 fl4->flowi4_secid = 0; in flowi4_init_output() 112 fl4->flowi4_uid = uid; in flowi4_init_output() 113 fl4->daddr = daddr; in flowi4_init_output() 114 fl4->saddr = saddr; in flowi4_init_output() 115 fl4->fl4_dport = dport; in flowi4_init_output() 124 fl4->flowi4_oif = oif; in flowi4_update_output() 125 fl4->flowi4_tos = tos; in flowi4_update_output() 126 fl4->daddr = daddr; in flowi4_update_output() [all …]
|
A D | route.h | 148 struct flowi4 fl4 = { in ip_route_output() local 176 memset(fl4, 0, sizeof(*fl4)); in ip_route_output_gre() 177 fl4->flowi4_oif = oif; in ip_route_output_gre() 178 fl4->daddr = daddr; in ip_route_output_gre() 179 fl4->saddr = saddr; in ip_route_output_gre() 180 fl4->flowi4_tos = tos; in ip_route_output_gre() 182 fl4->fl4_gre_key = gre_key; in ip_route_output_gre() 323 flowi4_update_output(fl4, oif, tos, fl4->daddr, fl4->saddr); in ip_route_connect() 335 fl4->fl4_dport = dport; in ip_route_newports() 336 fl4->fl4_sport = sport; in ip_route_newports() [all …]
|
A D | ip_tunnels.h | 246 memset(fl4, 0, sizeof(*fl4)); in ip_tunnel_init_flow() 247 fl4->flowi4_oif = oif; in ip_tunnel_init_flow() 248 fl4->daddr = daddr; in ip_tunnel_init_flow() 249 fl4->saddr = saddr; in ip_tunnel_init_flow() 250 fl4->flowi4_tos = tos; in ip_tunnel_init_flow() 251 fl4->flowi4_proto = proto; in ip_tunnel_init_flow() 252 fl4->fl4_gre_key = key; in ip_tunnel_init_flow() 253 fl4->flowi4_mark = mark; in ip_tunnel_init_flow() 254 fl4->flowi4_multipath_hash = tun_inner_hash; in ip_tunnel_init_flow() 298 u8 *protocol, struct flowi4 *fl4); [all …]
|
A D | ip_fib.h | 349 struct flowi4 *fl4, in fib4_rules_early_flow_dissect() argument 410 struct flowi4 *fl4, in fib4_rules_early_flow_dissect() argument 419 fl4->fl4_sport = flkeys->ports.src; in fib4_rules_early_flow_dissect() 420 fl4->fl4_dport = flkeys->ports.dst; in fib4_rules_early_flow_dissect() 421 fl4->flowi4_proto = flkeys->basic.ip_proto; in fib4_rules_early_flow_dissect() 513 int fib_multipath_hash(const struct net *net, const struct flowi4 *fl4, 520 struct flowi4 *fl4, const struct sk_buff *skb);
|
/linux/net/ipv4/ |
A D | route.c | 2017 u32 multipath_hash = fl4 ? fl4->flowi4_multipath_hash : 0; in fib_multipath_hash() 2512 if (!ip_check_mc_rcu(in_dev, fl4->daddr, fl4->saddr, in __mkroute_output() 2719 fl4->daddr = fl4->saddr; in ip_route_output_key_hash_rcu() 2721 fl4->daddr = fl4->saddr = htonl(INADDR_LOOPBACK); in ip_route_output_key_hash_rcu() 2769 fl4->saddr = fl4->daddr; in ip_route_output_key_hash_rcu() 2887 memset(&fl4, 0, sizeof(fl4)); in ip_route_output_tunnel() 2934 r->rtm_tos = fl4 ? fl4->flowi4_tos : 0; in rt_fill_info() 3007 if (fl4) { in rt_fill_info() 3024 fl4->saddr, fl4->daddr, in rt_fill_info() 3308 fl4.daddr = dst; in inet_rtm_getroute() [all …]
|
A D | netfilter.c | 24 struct flowi4 fl4 = {}; in ip_route_me_harder() local 44 fl4.daddr = iph->daddr; in ip_route_me_harder() 45 fl4.saddr = saddr; in ip_route_me_harder() 46 fl4.flowi4_tos = RT_TOS(iph->tos); in ip_route_me_harder() 47 fl4.flowi4_oif = sk ? sk->sk_bound_dev_if : 0; in ip_route_me_harder() 48 if (!fl4.flowi4_oif) in ip_route_me_harder() 49 fl4.flowi4_oif = 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() [all …]
|
A D | xfrm4_policy.c | 28 memset(fl4, 0, sizeof(*fl4)); in __xfrm4_dst_lookup() 29 fl4->daddr = daddr->a4; in __xfrm4_dst_lookup() 30 fl4->flowi4_tos = tos; in __xfrm4_dst_lookup() 32 fl4->flowi4_mark = mark; in __xfrm4_dst_lookup() 34 fl4->saddr = saddr->a4; in __xfrm4_dst_lookup() 38 rt = __ip_route_output_key(net, fl4); in __xfrm4_dst_lookup() 50 struct flowi4 fl4; in xfrm4_dst_lookup() local 60 struct flowi4 fl4; in xfrm4_get_saddr() local 66 saddr->a4 = fl4.saddr; in xfrm4_get_saddr() 75 const struct flowi4 *fl4 = &fl->u.ip4; in xfrm4_fill_dst() local [all …]
|
A D | icmp.c | 406 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() 481 struct flowi4 *fl4, in icmp_route_lookup() argument 493 memset(fl4, 0, sizeof(*fl4)); in icmp_route_lookup() 496 fl4->saddr = saddr; in icmp_route_lookup() 562 memcpy(fl4, &fl4_dec, sizeof(*fl4)); in icmp_route_lookup() 599 struct flowi4 fl4; in __icmp_send() local [all …]
|
A D | datagram.c | 23 struct flowi4 *fl4; in __ip4_datagram_connect() local 46 fl4 = &inet->cork.fl.u.ip4; in __ip4_datagram_connect() 47 rt = ip_route_connect(fl4, usin->sin_addr.s_addr, saddr, in __ip4_datagram_connect() 64 inet->inet_saddr = fl4->saddr; /* Update source address */ in __ip4_datagram_connect() 66 inet->inet_rcv_saddr = fl4->saddr; in __ip4_datagram_connect() 70 inet->inet_daddr = fl4->daddr; in __ip4_datagram_connect() 105 struct flowi4 fl4; in ip4_datagram_release_cb() local 118 rt = ip_route_output_ports(sock_net(sk), &fl4, sk, daddr, in ip4_datagram_release_cb()
|
A D | fib_frontend.c | 291 struct flowi4 fl4 = { in fib_compute_spec_dst() local 351 struct flowi4 fl4; in __fib_validate_source() local 354 fl4.flowi4_oif = 0; in __fib_validate_source() 356 if (!fl4.flowi4_iif) in __fib_validate_source() 358 fl4.daddr = src; in __fib_validate_source() 359 fl4.saddr = dst; in __fib_validate_source() 360 fl4.flowi4_tos = tos; in __fib_validate_source() 363 fl4.flowi4_flags = 0; in __fib_validate_source() 372 fl4.fl4_sport = 0; in __fib_validate_source() 373 fl4.fl4_dport = 0; in __fib_validate_source() [all …]
|
A D | ip_output.c | 439 offsetof(typeof(*fl4), saddr) + sizeof(fl4->saddr)); in ip_copy_addrs() 441 iph->saddr = fl4->saddr; in ip_copy_addrs() 442 iph->daddr = fl4->daddr; in ip_copy_addrs() 452 struct flowi4 *fl4; in __ip_queue_xmit() local 462 fl4 = &fl->u.ip4; in __ip_queue_xmit() 509 ip_copy_addrs(iph, fl4); in __ip_queue_xmit() 944 struct flowi4 *fl4, in __ip_append_data() argument 1459 struct flowi4 *fl4, in __ip_make_skb() argument 1524 ip_copy_addrs(iph, fl4); in __ip_make_skb() 1599 struct flowi4 *fl4, in ip_make_skb() argument [all …]
|
A D | raw.c | 415 iph->saddr = fl4->saddr; in raw_send_hdrinc() 452 if (fl4->flowi4_proto != IPPROTO_ICMP) in raw_probe_proto_opt() 462 fl4->fl4_icmp_type = rfv->hdr.icmph.type; in raw_probe_proto_opt() 463 fl4->fl4_icmp_code = rfv->hdr.icmph.code; in raw_probe_proto_opt() 505 struct flowi4 fl4; in raw_sendmsg() local 638 err = raw_probe_proto_opt(&rfv, &fl4); in raw_sendmsg() 644 rt = ip_route_output_flow(net, &fl4, sk); in raw_sendmsg() 660 err = raw_send_hdrinc(sk, &fl4, msg, len, in raw_sendmsg() 665 ipc.addr = fl4.daddr; in raw_sendmsg() 673 err = ip_push_pending_frames(sk, &fl4); in raw_sendmsg() [all …]
|
A D | fib_rules.c | 180 struct flowi4 *fl4 = &fl->u.ip4; in fib4_rule_match() local 181 __be32 daddr = fl4->daddr; in fib4_rule_match() 182 __be32 saddr = fl4->saddr; in fib4_rule_match() 188 if (r->tos && (r->tos != fl4->flowi4_tos)) in fib4_rule_match() 191 if (rule->ip_proto && (rule->ip_proto != fl4->flowi4_proto)) in fib4_rule_match() 195 !fib_rule_port_inrange(&rule->sport_range, fl4->fl4_sport)) in fib4_rule_match() 199 !fib_rule_port_inrange(&rule->dport_range, fl4->fl4_dport)) in fib4_rule_match()
|
A D | ip_tunnel.c | 292 struct flowi4 fl4; in ip_tunnel_bind_dev() local 299 rt = ip_route_output_key(tunnel->net, &fl4); in ip_tunnel_bind_dev() 552 struct flowi4 fl4; in ip_md_tunnel_xmit() local 588 fl4.saddr); in ip_md_tunnel_xmit() 623 iptunnel_xmit(NULL, rt, skb, fl4.saddr, fl4.daddr, proto, tos, ttl, in ip_md_tunnel_xmit() 645 struct flowi4 fl4; in ip_tunnel_xmit() local 739 &fl4.saddr); in ip_tunnel_xmit() 742 &fl4.saddr) : NULL; in ip_tunnel_xmit() 754 fl4.saddr); in ip_tunnel_xmit() 757 fl4.saddr); in ip_tunnel_xmit() [all …]
|
A D | ping.c | 625 struct flowi4 *fl4) in ping_v4_push_pending_frames() argument 636 return ip_push_pending_frames(sk, fl4); in ping_v4_push_pending_frames() 688 struct flowi4 fl4; in ping_v4_sendmsg() local 775 flowi4_init_output(&fl4, ipc.oif, ipc.sockc.mark, tos, in ping_v4_sendmsg() 780 fl4.fl4_icmp_type = user_icmph.type; in ping_v4_sendmsg() 781 fl4.fl4_icmp_code = user_icmph.code; in ping_v4_sendmsg() 784 rt = ip_route_output_flow(net, &fl4, sk); in ping_v4_sendmsg() 803 ipc.addr = fl4.daddr; in ping_v4_sendmsg() 816 err = ip_append_data(sk, &fl4, ping_getfrag, &pfh, len, in ping_v4_sendmsg() 821 err = ping_v4_push_pending_frames(sk, &pfh, &fl4); in ping_v4_sendmsg() [all …]
|
A D | inet_connection_sock.c | 597 struct flowi4 *fl4, in inet_csk_route_req() argument 608 flowi4_init_output(fl4, ireq->ir_iif, ireq->ir_mark, in inet_csk_route_req() 614 security_req_classify_flow(req, flowi4_to_flowi_common(fl4)); in inet_csk_route_req() 615 rt = ip_route_output_flow(net, fl4, sk); in inet_csk_route_req() 640 struct flowi4 *fl4; in inet_csk_route_child_sock() local 644 fl4 = &newinet->cork.fl.u.ip4; in inet_csk_route_child_sock() 646 flowi4_init_output(fl4, ireq->ir_iif, ireq->ir_mark, in inet_csk_route_child_sock() 653 rt = ip_route_output_flow(net, fl4, sk); in inet_csk_route_child_sock() 1257 struct flowi4 *fl4; in inet_csk_rebuild_route() local 1264 fl4 = &fl->u.ip4; in inet_csk_rebuild_route() [all …]
|
/linux/net/ipv4/netfilter/ |
A D | nf_dup_ipv4.c | 28 struct flowi4 fl4; in nf_dup_ipv4_route() local 30 memset(&fl4, 0, sizeof(fl4)); in nf_dup_ipv4_route() 32 fl4.flowi4_oif = oif; in nf_dup_ipv4_route() 34 fl4.daddr = gw->s_addr; in nf_dup_ipv4_route() 35 fl4.flowi4_tos = RT_TOS(iph->tos); in nf_dup_ipv4_route() 36 fl4.flowi4_scope = RT_SCOPE_UNIVERSE; in nf_dup_ipv4_route() 37 fl4.flowi4_flags = FLOWI_FLAG_KNOWN_NH; in nf_dup_ipv4_route() 38 rt = ip_route_output_key(net, &fl4); in nf_dup_ipv4_route()
|
A D | nft_fib_ipv4.c | 65 struct flowi4 fl4 = { in nft_fib4_eval() local 107 fl4.flowi4_mark = pkt->skb->mark; in nft_fib4_eval() 109 fl4.flowi4_tos = iph->tos & DSCP_BITS; in nft_fib4_eval() 112 fl4.daddr = iph->daddr; in nft_fib4_eval() 113 fl4.saddr = get_saddr(iph->saddr); in nft_fib4_eval() 115 fl4.daddr = iph->saddr; in nft_fib4_eval() 116 fl4.saddr = get_saddr(iph->daddr); in nft_fib4_eval() 121 if (fib_lookup(nft_net(pkt), &fl4, &res, FIB_LOOKUP_IGNORE_LINKSTATE)) in nft_fib4_eval()
|
/linux/net/sctp/ |
A D | protocol.c | 292 saddr->v4.sin_addr.s_addr = fl4->saddr; in sctp_v4_dst_saddr() 420 struct flowi4 *fl4 = &_fl.u.ip4; in sctp_v4_get_dst() local 432 fl4->fl4_dport = daddr->v4.sin_port; in sctp_v4_get_dst() 433 fl4->flowi4_proto = IPPROTO_SCTP; in sctp_v4_get_dst() 441 if (!fl4->fl4_sport) in sctp_v4_get_dst() 442 fl4->fl4_sport = saddr->v4.sin_port; in sctp_v4_get_dst() 446 &fl4->saddr); in sctp_v4_get_dst() 499 fl4->fl4_sport = laddr->a.v4.sin_port; in sctp_v4_get_dst() 500 flowi4_update_output(fl4, in sctp_v4_get_dst() 1052 struct flowi4 *fl4 = &t->fl.u.ip4; in sctp_v4_xmit() local [all …]
|
/linux/drivers/net/ethernet/mellanox/mlx5/core/en/ |
A D | tc_tun.c | 20 struct flowi4 fl4; member 238 attr.fl.fl4.flowi4_tos = tun_key->tos; in mlx5e_tc_tun_create_header_ipv4() 239 attr.fl.fl4.daddr = tun_key->u.ipv4.dst; in mlx5e_tc_tun_create_header_ipv4() 240 attr.fl.fl4.saddr = tun_key->u.ipv4.src; in mlx5e_tc_tun_create_header_ipv4() 293 ip->daddr = attr.fl.fl4.daddr; in mlx5e_tc_tun_create_header_ipv4() 294 ip->saddr = attr.fl.fl4.saddr; in mlx5e_tc_tun_create_header_ipv4() 353 attr.fl.fl4.flowi4_tos = tun_key->tos; in mlx5e_tc_tun_update_header_ipv4() 354 attr.fl.fl4.daddr = tun_key->u.ipv4.dst; in mlx5e_tc_tun_update_header_ipv4() 355 attr.fl.fl4.saddr = tun_key->u.ipv4.src; in mlx5e_tc_tun_update_header_ipv4() 397 ip->daddr = attr.fl.fl4.daddr; in mlx5e_tc_tun_update_header_ipv4() [all …]
|
/linux/net/core/ |
A D | lwt_bpf.c | 203 struct flowi4 fl4 = {}; in bpf_lwt_xmit_reroute() local 206 fl4.flowi4_oif = oif; in bpf_lwt_xmit_reroute() 207 fl4.flowi4_mark = skb->mark; in bpf_lwt_xmit_reroute() 208 fl4.flowi4_uid = sock_net_uid(net, sk); in bpf_lwt_xmit_reroute() 209 fl4.flowi4_tos = RT_TOS(iph->tos); in bpf_lwt_xmit_reroute() 210 fl4.flowi4_flags = FLOWI_FLAG_ANYSRC; in bpf_lwt_xmit_reroute() 211 fl4.flowi4_proto = iph->protocol; in bpf_lwt_xmit_reroute() 212 fl4.daddr = iph->daddr; in bpf_lwt_xmit_reroute() 213 fl4.saddr = iph->saddr; in bpf_lwt_xmit_reroute() 215 rt = ip_route_output_key(net, &fl4); in bpf_lwt_xmit_reroute()
|
/linux/drivers/net/ |
A D | geneve.c | 775 struct flowi4 *fl4, in geneve_get_v4_rt() argument 788 memset(fl4, 0, sizeof(*fl4)); in geneve_get_v4_rt() 789 fl4->flowi4_mark = skb->mark; in geneve_get_v4_rt() 790 fl4->flowi4_proto = IPPROTO_UDP; in geneve_get_v4_rt() 791 fl4->daddr = info->key.u.ipv4.dst; in geneve_get_v4_rt() 793 fl4->fl4_dport = dport; in geneve_get_v4_rt() 794 fl4->fl4_sport = sport; in geneve_get_v4_rt() 801 fl4->flowi4_tos = RT_TOS(tos); in geneve_get_v4_rt() 889 struct flowi4 fl4; in geneve_xmit_skb() local 971 udp_tunnel_xmit_skb(rt, gs4->sock->sk, skb, fl4.saddr, fl4.daddr, in geneve_xmit_skb() [all …]
|
A D | gtp.c | 395 memset(fl4, 0, sizeof(*fl4)); in ip4_route_output_gtp() 396 fl4->flowi4_oif = sk->sk_bound_dev_if; in ip4_route_output_gtp() 397 fl4->daddr = daddr; in ip4_route_output_gtp() 398 fl4->saddr = inet_sk(sk)->inet_saddr; in ip4_route_output_gtp() 399 fl4->flowi4_tos = RT_CONN_FLAGS(sk); in ip4_route_output_gtp() 400 fl4->flowi4_proto = sk->sk_protocol; in ip4_route_output_gtp() 448 struct flowi4 fl4; member 472 struct flowi4 *fl4, in gtp_set_pktinfo_ipv4() argument 479 pktinfo->fl4 = *fl4; in gtp_set_pktinfo_ipv4() 489 struct flowi4 fl4; in gtp_build_skb_ip4() local [all …]
|
A D | amt.c | 626 struct flowi4 fl4; in amt_send_discovery() local 717 struct flowi4 fl4; in amt_send_request() local 973 struct flowi4 fl4; in amt_send_membership_update() local 1011 fl4.saddr, in amt_send_membership_update() 1012 fl4.daddr, in amt_send_membership_update() 1033 struct flowi4 fl4; in amt_send_multicast_data() local 1068 fl4.saddr, in amt_send_multicast_data() 1069 fl4.daddr, in amt_send_multicast_data() 1087 struct flowi4 fl4; in amt_send_membership_query() local 1126 fl4.saddr, in amt_send_membership_query() [all …]
|
/linux/net/dccp/ |
A D | ipv4.c | 52 struct flowi4 *fl4; in dccp_v4_connect() local 77 fl4 = &inet->cork.fl.u.ip4; in dccp_v4_connect() 78 rt = ip_route_connect(fl4, nexthop, inet->inet_saddr, in dccp_v4_connect() 91 daddr = fl4->daddr; in dccp_v4_connect() 94 inet->inet_saddr = fl4->saddr; in dccp_v4_connect() 113 rt = ip_route_newports(fl4, rt, orig_sport, orig_dport, in dccp_v4_connect() 464 struct flowi4 fl4 = { in dccp_v4_route_skb() local 474 security_skb_classify_flow(skb, flowi4_to_flowi_common(&fl4)); in dccp_v4_route_skb() 475 rt = ip_route_output_flow(net, &fl4, sk); in dccp_v4_route_skb() 489 struct flowi4 fl4; in dccp_v4_send_response() local [all …]
|