| /linux/include/net/ |
| A D | flow.h | 100 fl4->flowi4_oif = oif; in flowi4_init_output() 102 fl4->flowi4_l3mdev = 0; in flowi4_init_output() 104 fl4->flowi4_tos = tos; in flowi4_init_output() 108 fl4->flowi4_secid = 0; in flowi4_init_output() 110 fl4->flowi4_uid = uid; in flowi4_init_output() 111 fl4->daddr = daddr; in flowi4_init_output() 112 fl4->saddr = saddr; in flowi4_init_output() 113 fl4->fl4_dport = dport; in flowi4_init_output() 122 fl4->flowi4_oif = oif; in flowi4_update_output() 123 fl4->daddr = daddr; in flowi4_update_output() [all …]
|
| A D | route.h | 162 struct flowi4 fl4 = { in ip_route_output() local 192 memset(fl4, 0, sizeof(*fl4)); in ip_route_output_gre() 193 fl4->flowi4_oif = oif; in ip_route_output_gre() 194 fl4->daddr = daddr; in ip_route_output_gre() 195 fl4->saddr = saddr; in ip_route_output_gre() 196 fl4->flowi4_tos = tos; in ip_route_output_gre() 330 flowi4_update_output(fl4, oif, fl4->daddr, fl4->saddr); in ip_route_connect() 342 fl4->fl4_dport = dport; in ip_route_newports() 343 fl4->fl4_sport = sport; in ip_route_newports() 345 flowi4_update_output(fl4, sk->sk_bound_dev_if, fl4->daddr, in ip_route_newports() [all …]
|
| A D | ip_tunnels.h | 354 memset(fl4, 0, sizeof(*fl4)); in ip_tunnel_init_flow() 359 fl4->flowi4_oif = fl4->flowi4_l3mdev ? 0 : oif; in ip_tunnel_init_flow() 362 fl4->daddr = daddr; in ip_tunnel_init_flow() 363 fl4->saddr = saddr; in ip_tunnel_init_flow() 364 fl4->flowi4_tos = tos; in ip_tunnel_init_flow() 365 fl4->flowi4_proto = proto; in ip_tunnel_init_flow() 366 fl4->fl4_gre_key = key; in ip_tunnel_init_flow() 367 fl4->flowi4_mark = mark; in ip_tunnel_init_flow() 369 fl4->flowi4_flags = flow_flags; in ip_tunnel_init_flow() 425 u8 *protocol, struct flowi4 *fl4); [all …]
|
| A D | ip_fib.h | 357 struct flowi4 *fl4, in fib4_rules_early_flow_dissect() argument 418 struct flowi4 *fl4, in fib4_rules_early_flow_dissect() argument 430 fl4->fl4_sport = flkeys->ports.src; in fib4_rules_early_flow_dissect() 431 fl4->fl4_dport = flkeys->ports.dst; in fib4_rules_early_flow_dissect() 432 fl4->flowi4_proto = flkeys->basic.ip_proto; in fib4_rules_early_flow_dissect() 439 static inline bool fib_dscp_masked_match(dscp_t dscp, const struct flowi4 *fl4) in fib_dscp_masked_match() argument 441 return dscp == inet_dsfield_to_dscp(RT_TOS(fl4->flowi4_tos)); in fib_dscp_masked_match() 529 int fib_multipath_hash(const struct net *net, const struct flowi4 *fl4, 564 struct flowi4 *fl4, const struct sk_buff *skb);
|
| /linux/net/ipv4/ |
| A D | netfilter.c | 25 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 = iph->tos & INET_DSCP_MASK; 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 | xfrm4_policy.c | 25 memset(fl4, 0, sizeof(*fl4)); in __xfrm4_dst_lookup() 26 fl4->daddr = params->daddr->a4; in __xfrm4_dst_lookup() 27 fl4->flowi4_tos = params->tos; in __xfrm4_dst_lookup() 30 fl4->flowi4_mark = params->mark; in __xfrm4_dst_lookup() 32 fl4->saddr = params->saddr->a4; in __xfrm4_dst_lookup() 33 fl4->flowi4_proto = params->ipproto; in __xfrm4_dst_lookup() 34 fl4->uli = params->uli; in __xfrm4_dst_lookup() 45 struct flowi4 fl4; in xfrm4_dst_lookup() local 54 struct flowi4 fl4; in xfrm4_get_saddr() local 60 saddr->a4 = fl4.saddr; in xfrm4_get_saddr() [all …]
|
| A D | route.c | 815 struct flowi4 fl4; in ip_do_redirect() local 2019 u32 multipath_hash = fl4 ? fl4->flowi4_multipath_hash : 0; in fib_multipath_hash() 2521 if (!ip_check_mc_rcu(in_dev, fl4->daddr, fl4->saddr, in __mkroute_output() 2724 fl4->daddr = fl4->saddr; in ip_route_output_key_hash_rcu() 2726 fl4->daddr = fl4->saddr = htonl(INADDR_LOOPBACK); in ip_route_output_key_hash_rcu() 2739 (ipv4_is_multicast(fl4->daddr) || !fl4->flowi4_l3mdev)) { in ip_route_output_key_hash_rcu() 2773 fl4->saddr = fl4->daddr; in ip_route_output_key_hash_rcu() 2961 if (fl4) { in rt_fill_info() 2978 fl4->saddr, fl4->daddr, in rt_fill_info() 3262 fl4.daddr = dst; in inet_rtm_getroute() [all …]
|
| A D | udp_tunnel_core.c | 218 struct flowi4 fl4; in udp_tunnel_dst_lookup() local 228 memset(&fl4, 0, sizeof(fl4)); in udp_tunnel_dst_lookup() 229 fl4.flowi4_mark = skb->mark; in udp_tunnel_dst_lookup() 230 fl4.flowi4_proto = IPPROTO_UDP; in udp_tunnel_dst_lookup() 231 fl4.flowi4_oif = oif; in udp_tunnel_dst_lookup() 232 fl4.daddr = key->u.ipv4.dst; in udp_tunnel_dst_lookup() 233 fl4.saddr = key->u.ipv4.src; in udp_tunnel_dst_lookup() 234 fl4.fl4_dport = dport; in udp_tunnel_dst_lookup() 235 fl4.fl4_sport = sport; in udp_tunnel_dst_lookup() 237 fl4.flowi4_flags = key->flow_flags; in udp_tunnel_dst_lookup() [all …]
|
| A D | icmp.c | 407 struct flowi4 fl4; in icmp_reply() local 443 memset(&fl4, 0, sizeof(fl4)); in icmp_reply() 444 fl4.daddr = daddr; in icmp_reply() 445 fl4.saddr = saddr; in icmp_reply() 446 fl4.flowi4_mark = mark; in icmp_reply() 482 struct flowi4 *fl4, in icmp_route_lookup() argument 495 memset(fl4, 0, sizeof(*fl4)); in icmp_route_lookup() 498 fl4->saddr = saddr; 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() 65 inet->inet_saddr = fl4->saddr; /* Update source address */ in __ip4_datagram_connect() 67 inet->inet_rcv_saddr = fl4->saddr; in __ip4_datagram_connect() 71 inet->inet_daddr = fl4->daddr; in __ip4_datagram_connect() 106 struct flowi4 fl4; in ip4_datagram_release_cb() local 119 rt = ip_route_output_ports(sock_net(sk), &fl4, sk, daddr, in ip4_datagram_release_cb()
|
| A D | fib_frontend.c | 292 struct flowi4 fl4 = { in fib_compute_spec_dst() local 352 struct flowi4 fl4; in __fib_validate_source() local 355 fl4.flowi4_oif = 0; 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() 371 fl4.flowi4_proto = 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 | 450 offsetof(typeof(*fl4), saddr) + sizeof(fl4->saddr)); in ip_copy_addrs() 452 iph->saddr = fl4->saddr; in ip_copy_addrs() 453 iph->daddr = fl4->daddr; in ip_copy_addrs() 463 struct flowi4 *fl4; in __ip_queue_xmit() local 473 fl4 = &fl->u.ip4; in __ip_queue_xmit() 520 ip_copy_addrs(iph, fl4); in __ip_queue_xmit() 953 struct flowi4 *fl4, in __ip_append_data() argument 1385 struct flowi4 *fl4, in __ip_make_skb() argument 1451 ip_copy_addrs(iph, fl4); in __ip_make_skb() 1540 struct flowi4 *fl4, in ip_make_skb() argument [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 | fib_rules.c | 182 struct flowi4 *fl4 = &fl->u.ip4; in fib4_rule_match() local 183 __be32 daddr = fl4->daddr; in fib4_rule_match() 184 __be32 saddr = fl4->saddr; in fib4_rule_match() 195 if (r->dscp_full && r->dscp != inet_dsfield_to_dscp(fl4->flowi4_tos)) in fib4_rule_match() 198 !fib_dscp_masked_match(r->dscp, fl4)) in fib4_rule_match() 201 if (rule->ip_proto && (rule->ip_proto != fl4->flowi4_proto)) in fib4_rule_match() 205 !fib_rule_port_inrange(&rule->sport_range, fl4->fl4_sport)) in fib4_rule_match() 209 !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() 593 struct flowi4 fl4; in ip_md_tunnel_xmit() local 634 fl4.saddr); in ip_md_tunnel_xmit() 669 iptunnel_xmit(NULL, rt, skb, fl4.saddr, fl4.daddr, proto, tos, ttl, in ip_md_tunnel_xmit() 692 struct flowi4 fl4; in ip_tunnel_xmit() local 787 &fl4.saddr); in ip_tunnel_xmit() 790 &fl4.saddr) : NULL; in ip_tunnel_xmit() 802 fl4.saddr); in ip_tunnel_xmit() 805 fl4.saddr); in ip_tunnel_xmit() [all …]
|
| /linux/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 = iph->tos & INET_DSCP_MASK; 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 | 64 struct flowi4 fl4 = { in nft_fib4_eval() local 108 fl4.flowi4_mark = pkt->skb->mark; in nft_fib4_eval() 110 fl4.flowi4_tos = iph->tos & INET_DSCP_MASK; in nft_fib4_eval() 113 fl4.daddr = iph->daddr; in nft_fib4_eval() 114 fl4.saddr = get_saddr(iph->saddr); in nft_fib4_eval() 118 fl4.flowi4_iif = nft_out(pkt)->ifindex; in nft_fib4_eval() 120 fl4.daddr = iph->saddr; in nft_fib4_eval() 121 fl4.saddr = get_saddr(iph->daddr); in nft_fib4_eval() 126 if (fib_lookup(nft_net(pkt), &fl4, &res, FIB_LOOKUP_IGNORE_LINKSTATE)) in nft_fib4_eval()
|
| /linux/net/sctp/ |
| A D | protocol.c | 293 saddr->v4.sin_addr.s_addr = fl4->saddr; in sctp_v4_dst_saddr() 424 struct flowi4 *fl4 = &_fl.u.ip4; in sctp_v4_get_dst() local 435 fl4->daddr = daddr->v4.sin_addr.s_addr; in sctp_v4_get_dst() 436 fl4->fl4_dport = daddr->v4.sin_port; in sctp_v4_get_dst() 437 fl4->flowi4_proto = IPPROTO_SCTP; in sctp_v4_get_dst() 446 if (!fl4->fl4_sport) in sctp_v4_get_dst() 447 fl4->fl4_sport = saddr->v4.sin_port; in sctp_v4_get_dst() 451 &fl4->saddr); in sctp_v4_get_dst() 504 fl4->fl4_sport = laddr->a.v4.sin_port; in sctp_v4_get_dst() 1058 struct flowi4 *fl4 = &t->fl.u.ip4; in sctp_v4_xmit() local [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 = iph->tos & INET_DSCP_MASK; 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/ethernet/mellanox/mlx5/core/en/ |
| A D | tc_tun.c | 21 struct flowi4 fl4; member 124 attr->fl.fl4.flowi4_oif = uplink_dev->ifindex; in mlx5e_route_lookup_ipv4_get() 156 n = dst_neigh_lookup(&rt->dst, &attr->fl.fl4.daddr); in mlx5e_route_lookup_ipv4_get() 240 attr.fl.fl4.daddr = tun_key->u.ipv4.dst; in mlx5e_tc_tun_create_header_ipv4() 241 attr.fl.fl4.saddr = tun_key->u.ipv4.src; in mlx5e_tc_tun_create_header_ipv4() 294 ip->daddr = attr.fl.fl4.daddr; in mlx5e_tc_tun_create_header_ipv4() 295 ip->saddr = attr.fl.fl4.saddr; in mlx5e_tc_tun_create_header_ipv4() 356 attr.fl.fl4.daddr = tun_key->u.ipv4.dst; in mlx5e_tc_tun_update_header_ipv4() 357 attr.fl.fl4.saddr = tun_key->u.ipv4.src; in mlx5e_tc_tun_update_header_ipv4() 399 ip->daddr = attr.fl.fl4.daddr; in mlx5e_tc_tun_update_header_ipv4() [all …]
|
| /linux/drivers/net/ |
| A D | gtp.c | 349 memset(fl4, 0, sizeof(*fl4)); in ip4_route_output_gtp() 351 fl4->daddr = daddr; in ip4_route_output_gtp() 352 fl4->saddr = saddr; in ip4_route_output_gtp() 426 struct flowi4 fl4; in gtp0_send_echo_resp_ip() local 440 fl4.saddr, fl4.daddr, in gtp0_send_echo_resp_ip() 655 struct flowi4 fl4; in gtp1u_send_echo_resp() local 698 fl4.saddr, fl4.daddr, in gtp1u_send_echo_resp() 1024 pktinfo->fl4 = *fl4; in gtp_set_pktinfo_ipv4() 1048 struct flowi4 fl4; in gtp_build_skb_outer_ip4() local 1298 pktinfo.fl4.saddr, pktinfo.fl4.daddr, in gtp_dev_xmit() [all …]
|
| A D | amt.c | 620 struct flowi4 fl4; in amt_send_discovery() local 709 struct flowi4 fl4; in amt_send_request() local 1003 struct flowi4 fl4; in amt_send_membership_update() local 1041 fl4.saddr, in amt_send_membership_update() 1042 fl4.daddr, in amt_send_membership_update() 1063 struct flowi4 fl4; in amt_send_multicast_data() local 1098 fl4.saddr, in amt_send_multicast_data() 1099 fl4.daddr, in amt_send_multicast_data() 1117 struct flowi4 fl4; in amt_send_membership_query() local 1156 fl4.saddr, in amt_send_membership_query() [all …]
|
| /linux/drivers/net/ppp/ |
| A D | pptp.c | 133 struct flowi4 *fl4) in pptp_route_output() argument 139 flowi4_init_output(fl4, sk->sk_bound_dev_if, sk->sk_mark, 0, in pptp_route_output() 144 security_sk_classify_flow(sk, flowi4_to_flowi_common(fl4)); in pptp_route_output() 146 return ip_route_output_flow(net, fl4, sk); in pptp_route_output() 157 struct flowi4 fl4; in pptp_xmit() local 172 rt = pptp_route_output(po, &fl4); in pptp_xmit() 247 iph->daddr = fl4.daddr; in pptp_xmit() 248 iph->saddr = fl4.saddr; in pptp_xmit() 422 struct flowi4 fl4; in pptp_connect() local 455 rt = pptp_route_output(po, &fl4); in pptp_connect()
|
| /linux/net/xfrm/ |
| A D | xfrm_nat_keepalive.c | 42 struct flowi4 fl4; in nat_keepalive_send_ipv4() local 48 flowi4_init_output(&fl4, 0 /* oif */, skb->mark, tos, in nat_keepalive_send_ipv4() 53 rt = ip_route_output_key(net, &fl4); in nat_keepalive_send_ipv4() 61 err = ip_build_and_send_pkt(skb, sk, fl4.saddr, fl4.daddr, NULL, tos); in nat_keepalive_send_ipv4()
|
| /linux/net/dccp/ |
| A D | ipv4.c | 53 struct flowi4 *fl4; in dccp_v4_connect() local 78 fl4 = &inet->cork.fl.u.ip4; in dccp_v4_connect() 79 rt = ip_route_connect(fl4, nexthop, inet->inet_saddr, in dccp_v4_connect() 91 daddr = fl4->daddr; in dccp_v4_connect() 94 err = inet_bhash2_update_saddr(sk, &fl4->saddr, AF_INET); in dccp_v4_connect() 120 rt = ip_route_newports(fl4, rt, orig_sport, orig_dport, in dccp_v4_connect() 472 struct flowi4 fl4 = { in dccp_v4_route_skb() local 483 security_skb_classify_flow(skb, flowi4_to_flowi_common(&fl4)); in dccp_v4_route_skb() 484 rt = ip_route_output_flow(net, &fl4, sk); in dccp_v4_route_skb() 498 struct flowi4 fl4; in dccp_v4_send_response() local [all …]
|