fl4               393 drivers/infiniband/core/addr.c 	struct flowi4 fl4;
fl4               396 drivers/infiniband/core/addr.c 	memset(&fl4, 0, sizeof(fl4));
fl4               397 drivers/infiniband/core/addr.c 	fl4.daddr = dst_ip;
fl4               398 drivers/infiniband/core/addr.c 	fl4.saddr = src_ip;
fl4               399 drivers/infiniband/core/addr.c 	fl4.flowi4_oif = addr->bound_dev_if;
fl4               400 drivers/infiniband/core/addr.c 	rt = ip_route_output_key(addr->net, &fl4);
fl4               405 drivers/infiniband/core/addr.c 	src_in->sin_addr.s_addr = fl4.saddr;
fl4              1415 drivers/infiniband/core/cma.c 	struct flowi4 fl4;
fl4              1425 drivers/infiniband/core/cma.c 	memset(&fl4, 0, sizeof(fl4));
fl4              1426 drivers/infiniband/core/cma.c 	fl4.flowi4_iif = net_dev->ifindex;
fl4              1427 drivers/infiniband/core/cma.c 	fl4.daddr = daddr;
fl4              1428 drivers/infiniband/core/cma.c 	fl4.saddr = saddr;
fl4              1431 drivers/infiniband/core/cma.c 	err = fib_lookup(dev_net(net_dev), &fl4, &res, 0);
fl4               339 drivers/infiniband/hw/cxgb3/iwch_cm.c 	struct flowi4 fl4;
fl4               341 drivers/infiniband/hw/cxgb3/iwch_cm.c 	rt = ip_route_output_ports(&init_net, &fl4, NULL, peer_ip, local_ip,
fl4                97 drivers/net/ethernet/chelsio/libcxgb/libcxgb_cm.c 	struct flowi4 fl4;
fl4               100 drivers/net/ethernet/chelsio/libcxgb/libcxgb_cm.c 	rt = ip_route_output_ports(&init_net, &fl4, NULL, peer_ip, local_ip,
fl4                76 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c 				   struct flowi4 *fl4,
fl4                92 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c 		fl4->flowi4_oif = uplink_dev->ifindex;
fl4                95 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c 	rt = ip_route_output_key(dev_net(mirred_dev), fl4);
fl4               116 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c 	n = dst_neigh_lookup(&rt->dst, &fl4->daddr);
fl4               216 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c 	struct flowi4 fl4 = {};
fl4               224 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c 	fl4.flowi4_tos = tun_key->tos;
fl4               225 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c 	fl4.daddr = tun_key->u.ipv4.dst;
fl4               226 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c 	fl4.saddr = tun_key->u.ipv4.src;
fl4               230 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c 				      &fl4, &n, &ttl);
fl4               284 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c 	ip->daddr = fl4.daddr;
fl4               285 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c 	ip->saddr = fl4.saddr;
fl4               301 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c 	struct flowi4 fl4;
fl4               307 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c 	ip_tunnel_init_flow(&fl4, parms.iph.protocol, *daddrp, *saddrp,
fl4               310 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c 	rt = ip_route_output_key(tun->net, &fl4);
fl4               318 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c 	*saddrp = fl4.saddr;
fl4              1357 drivers/net/ethernet/sun/sunvnet_common.c 			struct flowi4 fl4;
fl4              1360 drivers/net/ethernet/sun/sunvnet_common.c 			memset(&fl4, 0, sizeof(fl4));
fl4              1361 drivers/net/ethernet/sun/sunvnet_common.c 			fl4.flowi4_oif = dev->ifindex;
fl4              1362 drivers/net/ethernet/sun/sunvnet_common.c 			fl4.flowi4_tos = RT_TOS(ip_hdr(skb)->tos);
fl4              1363 drivers/net/ethernet/sun/sunvnet_common.c 			fl4.daddr = ip_hdr(skb)->daddr;
fl4              1364 drivers/net/ethernet/sun/sunvnet_common.c 			fl4.saddr = ip_hdr(skb)->saddr;
fl4              1366 drivers/net/ethernet/sun/sunvnet_common.c 			rt = ip_route_output_key(dev_net(dev), &fl4);
fl4               775 drivers/net/geneve.c 				       struct flowi4 *fl4,
fl4               787 drivers/net/geneve.c 	memset(fl4, 0, sizeof(*fl4));
fl4               788 drivers/net/geneve.c 	fl4->flowi4_mark = skb->mark;
fl4               789 drivers/net/geneve.c 	fl4->flowi4_proto = IPPROTO_UDP;
fl4               790 drivers/net/geneve.c 	fl4->daddr = info->key.u.ipv4.dst;
fl4               791 drivers/net/geneve.c 	fl4->saddr = info->key.u.ipv4.src;
fl4               798 drivers/net/geneve.c 	fl4->flowi4_tos = RT_TOS(tos);
fl4               802 drivers/net/geneve.c 		rt = dst_cache_get_ip4(dst_cache, &fl4->saddr);
fl4               806 drivers/net/geneve.c 	rt = ip_route_output_key(geneve->net, fl4);
fl4               808 drivers/net/geneve.c 		netdev_dbg(dev, "no route to %pI4\n", &fl4->daddr);
fl4               812 drivers/net/geneve.c 		netdev_dbg(dev, "circular route to %pI4\n", &fl4->daddr);
fl4               817 drivers/net/geneve.c 		dst_cache_set_ip4(dst_cache, &rt->dst, fl4->saddr);
fl4               882 drivers/net/geneve.c 	struct flowi4 fl4;
fl4               888 drivers/net/geneve.c 	rt = geneve_get_v4_rt(skb, dev, gs4, &fl4, info);
fl4               902 drivers/net/geneve.c 		tos = ip_tunnel_ecn_encap(fl4.flowi4_tos, ip_hdr(skb), skb);
fl4               929 drivers/net/geneve.c 	udp_tunnel_xmit_skb(rt, gs4->sock->sk, skb, fl4.saddr, fl4.daddr,
fl4              1039 drivers/net/geneve.c 		struct flowi4 fl4;
fl4              1042 drivers/net/geneve.c 		rt = geneve_get_v4_rt(skb, dev, gs4, &fl4, info);
fl4              1047 drivers/net/geneve.c 		info->key.u.ipv4.src = fl4.saddr;
fl4              1507 drivers/net/geneve.c 		struct flowi4 fl4 = { .daddr = info->key.u.ipv4.dst };
fl4              1508 drivers/net/geneve.c 		struct rtable *rt = ip_route_output_key(geneve->net, &fl4);
fl4               390 drivers/net/gtp.c static struct rtable *ip4_route_output_gtp(struct flowi4 *fl4,
fl4               394 drivers/net/gtp.c 	memset(fl4, 0, sizeof(*fl4));
fl4               395 drivers/net/gtp.c 	fl4->flowi4_oif		= sk->sk_bound_dev_if;
fl4               396 drivers/net/gtp.c 	fl4->daddr		= daddr;
fl4               397 drivers/net/gtp.c 	fl4->saddr		= inet_sk(sk)->inet_saddr;
fl4               398 drivers/net/gtp.c 	fl4->flowi4_tos		= RT_CONN_FLAGS(sk);
fl4               399 drivers/net/gtp.c 	fl4->flowi4_proto	= sk->sk_protocol;
fl4               401 drivers/net/gtp.c 	return ip_route_output_key(sock_net(sk), fl4);
fl4               447 drivers/net/gtp.c 	struct flowi4		fl4;
fl4               471 drivers/net/gtp.c 					struct flowi4 *fl4,
fl4               478 drivers/net/gtp.c 	pktinfo->fl4	= *fl4;
fl4               488 drivers/net/gtp.c 	struct flowi4 fl4;
fl4               509 drivers/net/gtp.c 	rt = ip4_route_output_gtp(&fl4, pctx->sk, pctx->peer_addr_ip4.s_addr);
fl4               554 drivers/net/gtp.c 	gtp_set_pktinfo_ipv4(pktinfo, pctx->sk, iph, pctx, rt, &fl4, dev);
fl4               596 drivers/net/gtp.c 				    pktinfo.fl4.saddr, pktinfo.fl4.daddr,
fl4               422 drivers/net/ipvlan/ipvlan_core.c 	struct flowi4 fl4 = {
fl4               431 drivers/net/ipvlan/ipvlan_core.c 	rt = ip_route_output_flow(net, &fl4, NULL);
fl4               139 drivers/net/ppp/pptp.c 	struct flowi4 fl4;
fl4               154 drivers/net/ppp/pptp.c 	rt = ip_route_output_ports(net, &fl4, NULL,
fl4               233 drivers/net/ppp/pptp.c 	iph->daddr    = fl4.daddr;
fl4               234 drivers/net/ppp/pptp.c 	iph->saddr    = fl4.saddr;
fl4               410 drivers/net/ppp/pptp.c 	struct flowi4 fl4;
fl4               443 drivers/net/ppp/pptp.c 	rt = ip_route_output_ports(sock_net(sk), &fl4, sk,
fl4               248 drivers/net/vrf.c 	struct flowi4 fl4;
fl4               257 drivers/net/vrf.c 	memset(&fl4, 0, sizeof(fl4));
fl4               259 drivers/net/vrf.c 	fl4.flowi4_oif = vrf_dev->ifindex;
fl4               260 drivers/net/vrf.c 	fl4.flowi4_iif = LOOPBACK_IFINDEX;
fl4               261 drivers/net/vrf.c 	fl4.flowi4_tos = RT_TOS(ip4h->tos);
fl4               262 drivers/net/vrf.c 	fl4.flowi4_flags = FLOWI_FLAG_ANYSRC | FLOWI_FLAG_SKIP_NH_OIF;
fl4               263 drivers/net/vrf.c 	fl4.flowi4_proto = ip4h->protocol;
fl4               264 drivers/net/vrf.c 	fl4.daddr = ip4h->daddr;
fl4               265 drivers/net/vrf.c 	fl4.saddr = ip4h->saddr;
fl4               267 drivers/net/vrf.c 	rt = ip_route_output_flow(net, &fl4, NULL);
fl4              2227 drivers/net/vxlan.c 	struct flowi4 fl4;
fl4              2240 drivers/net/vxlan.c 	memset(&fl4, 0, sizeof(fl4));
fl4              2241 drivers/net/vxlan.c 	fl4.flowi4_oif = oif;
fl4              2242 drivers/net/vxlan.c 	fl4.flowi4_tos = RT_TOS(tos);
fl4              2243 drivers/net/vxlan.c 	fl4.flowi4_mark = skb->mark;
fl4              2244 drivers/net/vxlan.c 	fl4.flowi4_proto = IPPROTO_UDP;
fl4              2245 drivers/net/vxlan.c 	fl4.daddr = daddr;
fl4              2246 drivers/net/vxlan.c 	fl4.saddr = *saddr;
fl4              2247 drivers/net/vxlan.c 	fl4.fl4_dport = dport;
fl4              2248 drivers/net/vxlan.c 	fl4.fl4_sport = sport;
fl4              2250 drivers/net/vxlan.c 	rt = ip_route_output_key(vxlan->net, &fl4);
fl4              2258 drivers/net/vxlan.c 		*saddr = fl4.saddr;
fl4              2260 drivers/net/vxlan.c 			dst_cache_set_ip4(dst_cache, &rt->dst, fl4.saddr);
fl4               586 drivers/scsi/cxgbi/libcxgbi.c static struct rtable *find_route_ipv4(struct flowi4 *fl4,
fl4               593 drivers/scsi/cxgbi/libcxgbi.c 	rt = ip_route_output_ports(&init_net, fl4, NULL, daddr, saddr,
fl4               610 drivers/scsi/cxgbi/libcxgbi.c 	struct flowi4 fl4;
fl4               616 drivers/scsi/cxgbi/libcxgbi.c 	rt = find_route_ipv4(&fl4, 0, daddr->sin_addr.s_addr, 0,
fl4               687 drivers/scsi/cxgbi/libcxgbi.c 	csk->saddr.sin_addr.s_addr = fl4.saddr;
fl4                98 include/net/flow.h static inline void flowi4_init_output(struct flowi4 *fl4, int oif,
fl4               105 include/net/flow.h 	fl4->flowi4_oif = oif;
fl4               106 include/net/flow.h 	fl4->flowi4_iif = LOOPBACK_IFINDEX;
fl4               107 include/net/flow.h 	fl4->flowi4_mark = mark;
fl4               108 include/net/flow.h 	fl4->flowi4_tos = tos;
fl4               109 include/net/flow.h 	fl4->flowi4_scope = scope;
fl4               110 include/net/flow.h 	fl4->flowi4_proto = proto;
fl4               111 include/net/flow.h 	fl4->flowi4_flags = flags;
fl4               112 include/net/flow.h 	fl4->flowi4_secid = 0;
fl4               113 include/net/flow.h 	fl4->flowi4_tun_key.tun_id = 0;
fl4               114 include/net/flow.h 	fl4->flowi4_uid = uid;
fl4               115 include/net/flow.h 	fl4->daddr = daddr;
fl4               116 include/net/flow.h 	fl4->saddr = saddr;
fl4               117 include/net/flow.h 	fl4->fl4_dport = dport;
fl4               118 include/net/flow.h 	fl4->fl4_sport = sport;
fl4               122 include/net/flow.h static inline void flowi4_update_output(struct flowi4 *fl4, int oif, __u8 tos,
fl4               125 include/net/flow.h 	fl4->flowi4_oif = oif;
fl4               126 include/net/flow.h 	fl4->flowi4_tos = tos;
fl4               127 include/net/flow.h 	fl4->daddr = daddr;
fl4               128 include/net/flow.h 	fl4->saddr = saddr;
fl4               192 include/net/flow.h static inline struct flowi *flowi4_to_flowi(struct flowi4 *fl4)
fl4               194 include/net/flow.h 	return container_of(fl4, struct flowi, u.ip4);
fl4               257 include/net/inet_connection_sock.h struct dst_entry *inet_csk_route_req(const struct sock *sk, struct flowi4 *fl4,
fl4               210 include/net/ip.h int ip_append_data(struct sock *sk, struct flowi4 *fl4,
fl4               219 include/net/ip.h ssize_t ip_append_page(struct sock *sk, struct flowi4 *fl4, struct page *page,
fl4               221 include/net/ip.h struct sk_buff *__ip_make_skb(struct sock *sk, struct flowi4 *fl4,
fl4               225 include/net/ip.h int ip_push_pending_frames(struct sock *sk, struct flowi4 *fl4);
fl4               227 include/net/ip.h struct sk_buff *ip_make_skb(struct sock *sk, struct flowi4 *fl4,
fl4               240 include/net/ip.h static inline struct sk_buff *ip_finish_skb(struct sock *sk, struct flowi4 *fl4)
fl4               242 include/net/ip.h 	return __ip_make_skb(sk, fl4, &sk->sk_write_queue, &inet_sk(sk)->cork.base);
fl4               329 include/net/ip_fib.h 						 struct flowi4 *fl4,
fl4               384 include/net/ip_fib.h 						 struct flowi4 *fl4,
fl4               393 include/net/ip_fib.h 	fl4->fl4_sport = flkeys->ports.src;
fl4               394 include/net/ip_fib.h 	fl4->fl4_dport = flkeys->ports.dst;
fl4               395 include/net/ip_fib.h 	fl4->flowi4_proto = flkeys->basic.ip_proto;
fl4               444 include/net/ip_fib.h int fib_multipath_hash(const struct net *net, const struct flowi4 *fl4,
fl4               451 include/net/ip_fib.h 		     struct flowi4 *fl4, const struct sk_buff *skb);
fl4               240 include/net/ip_tunnels.h static inline void ip_tunnel_init_flow(struct flowi4 *fl4,
fl4               246 include/net/ip_tunnels.h 	memset(fl4, 0, sizeof(*fl4));
fl4               247 include/net/ip_tunnels.h 	fl4->flowi4_oif = oif;
fl4               248 include/net/ip_tunnels.h 	fl4->daddr = daddr;
fl4               249 include/net/ip_tunnels.h 	fl4->saddr = saddr;
fl4               250 include/net/ip_tunnels.h 	fl4->flowi4_tos = tos;
fl4               251 include/net/ip_tunnels.h 	fl4->flowi4_proto = proto;
fl4               252 include/net/ip_tunnels.h 	fl4->fl4_gre_key = key;
fl4               253 include/net/ip_tunnels.h 	fl4->flowi4_mark = mark;
fl4               254 include/net/ip_tunnels.h 	fl4->flowi4_multipath_hash = tun_inner_hash;
fl4               295 include/net/ip_tunnels.h 			    u8 *protocol, struct flowi4 *fl4);
fl4               353 include/net/ip_tunnels.h 				  u8 *protocol, struct flowi4 *fl4)
fl4               367 include/net/ip_tunnels.h 		ret = ops->build_header(skb, &t->encap, protocol, fl4);
fl4               142 include/net/route.h 	struct flowi4 fl4 = {
fl4               148 include/net/route.h 	return ip_route_output_key(net, &fl4);
fl4               151 include/net/route.h static inline struct rtable *ip_route_output_ports(struct net *net, struct flowi4 *fl4,
fl4               157 include/net/route.h 	flowi4_init_output(fl4, oif, sk ? sk->sk_mark : 0, tos,
fl4               162 include/net/route.h 		security_sk_classify_flow(sk, flowi4_to_flowi(fl4));
fl4               163 include/net/route.h 	return ip_route_output_flow(net, fl4, sk);
fl4               166 include/net/route.h static inline struct rtable *ip_route_output_gre(struct net *net, struct flowi4 *fl4,
fl4               170 include/net/route.h 	memset(fl4, 0, sizeof(*fl4));
fl4               171 include/net/route.h 	fl4->flowi4_oif = oif;
fl4               172 include/net/route.h 	fl4->daddr = daddr;
fl4               173 include/net/route.h 	fl4->saddr = saddr;
fl4               174 include/net/route.h 	fl4->flowi4_tos = tos;
fl4               175 include/net/route.h 	fl4->flowi4_proto = IPPROTO_GRE;
fl4               176 include/net/route.h 	fl4->fl4_gre_key = gre_key;
fl4               177 include/net/route.h 	return ip_route_output_key(net, fl4);
fl4               281 include/net/route.h static inline void ip_route_connect_init(struct flowi4 *fl4, __be32 dst, __be32 src,
fl4               291 include/net/route.h 	flowi4_init_output(fl4, oif, sk->sk_mark, tos, RT_SCOPE_UNIVERSE,
fl4               296 include/net/route.h static inline struct rtable *ip_route_connect(struct flowi4 *fl4,
fl4               305 include/net/route.h 	ip_route_connect_init(fl4, dst, src, tos, oif, protocol,
fl4               309 include/net/route.h 		rt = __ip_route_output_key(net, fl4);
fl4               313 include/net/route.h 		flowi4_update_output(fl4, oif, tos, fl4->daddr, fl4->saddr);
fl4               315 include/net/route.h 	security_sk_classify_flow(sk, flowi4_to_flowi(fl4));
fl4               316 include/net/route.h 	return ip_route_output_flow(net, fl4, sk);
fl4               319 include/net/route.h static inline struct rtable *ip_route_newports(struct flowi4 *fl4, struct rtable *rt,
fl4               325 include/net/route.h 		fl4->fl4_dport = dport;
fl4               326 include/net/route.h 		fl4->fl4_sport = sport;
fl4               328 include/net/route.h 		flowi4_update_output(fl4, sk->sk_bound_dev_if,
fl4               329 include/net/route.h 				     RT_CONN_FLAGS(sk), fl4->daddr,
fl4               330 include/net/route.h 				     fl4->saddr);
fl4               331 include/net/route.h 		security_sk_classify_flow(sk, flowi4_to_flowi(fl4));
fl4               332 include/net/route.h 		return ip_route_output_flow(sock_net(sk), fl4, sk);
fl4              4622 net/core/filter.c 	struct flowi4 fl4;
fl4              4636 net/core/filter.c 		fl4.flowi4_iif = 1;
fl4              4637 net/core/filter.c 		fl4.flowi4_oif = params->ifindex;
fl4              4639 net/core/filter.c 		fl4.flowi4_iif = params->ifindex;
fl4              4640 net/core/filter.c 		fl4.flowi4_oif = 0;
fl4              4642 net/core/filter.c 	fl4.flowi4_tos = params->tos & IPTOS_RT_MASK;
fl4              4643 net/core/filter.c 	fl4.flowi4_scope = RT_SCOPE_UNIVERSE;
fl4              4644 net/core/filter.c 	fl4.flowi4_flags = 0;
fl4              4646 net/core/filter.c 	fl4.flowi4_proto = params->l4_protocol;
fl4              4647 net/core/filter.c 	fl4.daddr = params->ipv4_dst;
fl4              4648 net/core/filter.c 	fl4.saddr = params->ipv4_src;
fl4              4649 net/core/filter.c 	fl4.fl4_sport = params->sport;
fl4              4650 net/core/filter.c 	fl4.fl4_dport = params->dport;
fl4              4660 net/core/filter.c 		err = fib_table_lookup(tb, &fl4, &res, FIB_LOOKUP_NOREF);
fl4              4662 net/core/filter.c 		fl4.flowi4_mark = 0;
fl4              4663 net/core/filter.c 		fl4.flowi4_secid = 0;
fl4              4664 net/core/filter.c 		fl4.flowi4_tun_key.tun_id = 0;
fl4              4665 net/core/filter.c 		fl4.flowi4_uid = sock_net_uid(net, NULL);
fl4              4667 net/core/filter.c 		err = fib_lookup(net, &fl4, &res, FIB_LOOKUP_NOREF);
fl4              4686 net/core/filter.c 		fib_select_path(net, &res, &fl4, NULL);
fl4               203 net/core/lwt_bpf.c 		struct flowi4 fl4 = {};
fl4               206 net/core/lwt_bpf.c 		fl4.flowi4_oif = oif;
fl4               207 net/core/lwt_bpf.c 		fl4.flowi4_mark = skb->mark;
fl4               208 net/core/lwt_bpf.c 		fl4.flowi4_uid = sock_net_uid(net, sk);
fl4               209 net/core/lwt_bpf.c 		fl4.flowi4_tos = RT_TOS(iph->tos);
fl4               210 net/core/lwt_bpf.c 		fl4.flowi4_flags = FLOWI_FLAG_ANYSRC;
fl4               211 net/core/lwt_bpf.c 		fl4.flowi4_proto = iph->protocol;
fl4               212 net/core/lwt_bpf.c 		fl4.daddr = iph->daddr;
fl4               213 net/core/lwt_bpf.c 		fl4.saddr = iph->saddr;
fl4               215 net/core/lwt_bpf.c 		rt = ip_route_output_key(net, &fl4);
fl4                45 net/dccp/ipv4.c 	struct flowi4 *fl4;
fl4                70 net/dccp/ipv4.c 	fl4 = &inet->cork.fl.u.ip4;
fl4                71 net/dccp/ipv4.c 	rt = ip_route_connect(fl4, nexthop, inet->inet_saddr,
fl4                84 net/dccp/ipv4.c 		daddr = fl4->daddr;
fl4                87 net/dccp/ipv4.c 		inet->inet_saddr = fl4->saddr;
fl4               106 net/dccp/ipv4.c 	rt = ip_route_newports(fl4, rt, orig_sport, orig_dport,
fl4               457 net/dccp/ipv4.c 	struct flowi4 fl4 = {
fl4               467 net/dccp/ipv4.c 	security_skb_classify_flow(skb, flowi4_to_flowi(&fl4));
fl4               468 net/dccp/ipv4.c 	rt = ip_route_output_flow(net, &fl4, sk);
fl4               482 net/dccp/ipv4.c 	struct flowi4 fl4;
fl4               484 net/dccp/ipv4.c 	dst = inet_csk_route_req(sk, &fl4, req);
fl4              1193 net/ipv4/af_inet.c 	struct flowi4 *fl4;
fl4              1204 net/ipv4/af_inet.c 	fl4 = &inet->cork.fl.u.ip4;
fl4              1205 net/ipv4/af_inet.c 	rt = ip_route_connect(fl4, daddr, 0, RT_CONN_FLAGS(sk),
fl4              1213 net/ipv4/af_inet.c 	new_saddr = fl4->saddr;
fl4              1242 net/ipv4/af_inet.c 	struct flowi4 *fl4;
fl4              1256 net/ipv4/af_inet.c 	fl4 = &inet->cork.fl.u.ip4;
fl4              1257 net/ipv4/af_inet.c 	rt = ip_route_output_ports(sock_net(sk), fl4, sk, daddr, inet->inet_saddr,
fl4                24 net/ipv4/datagram.c 	struct flowi4 *fl4;
fl4                47 net/ipv4/datagram.c 	fl4 = &inet->cork.fl.u.ip4;
fl4                48 net/ipv4/datagram.c 	rt = ip_route_connect(fl4, usin->sin_addr.s_addr, saddr,
fl4                65 net/ipv4/datagram.c 		inet->inet_saddr = fl4->saddr;	/* Update source address */
fl4                67 net/ipv4/datagram.c 		inet->inet_rcv_saddr = fl4->saddr;
fl4                71 net/ipv4/datagram.c 	inet->inet_daddr = fl4->daddr;
fl4               106 net/ipv4/datagram.c 	struct flowi4 fl4;
fl4               119 net/ipv4/datagram.c 	rt = ip_route_output_ports(sock_net(sk), &fl4, sk, daddr,
fl4               158 net/ipv4/devinet.c 		struct flowi4 fl4 = { .daddr = addr };
fl4               167 net/ipv4/devinet.c 		    !fib_table_lookup(local, &fl4, &res, FIB_LOOKUP_NOREF) &&
fl4               219 net/ipv4/fib_frontend.c 	struct flowi4		fl4 = { .daddr = addr };
fl4               234 net/ipv4/fib_frontend.c 		if (!fib_table_lookup(table, &fl4, &res, FIB_LOOKUP_NOREF)) {
fl4               301 net/ipv4/fib_frontend.c 		struct flowi4 fl4 = {
fl4               309 net/ipv4/fib_frontend.c 		if (!fib_lookup(net, &fl4, &res, 0))
fl4               361 net/ipv4/fib_frontend.c 	struct flowi4 fl4;
fl4               364 net/ipv4/fib_frontend.c 	fl4.flowi4_oif = 0;
fl4               365 net/ipv4/fib_frontend.c 	fl4.flowi4_iif = l3mdev_master_ifindex_rcu(dev);
fl4               366 net/ipv4/fib_frontend.c 	if (!fl4.flowi4_iif)
fl4               367 net/ipv4/fib_frontend.c 		fl4.flowi4_iif = oif ? : LOOPBACK_IFINDEX;
fl4               368 net/ipv4/fib_frontend.c 	fl4.daddr = src;
fl4               369 net/ipv4/fib_frontend.c 	fl4.saddr = dst;
fl4               370 net/ipv4/fib_frontend.c 	fl4.flowi4_tos = tos;
fl4               371 net/ipv4/fib_frontend.c 	fl4.flowi4_scope = RT_SCOPE_UNIVERSE;
fl4               372 net/ipv4/fib_frontend.c 	fl4.flowi4_tun_key.tun_id = 0;
fl4               373 net/ipv4/fib_frontend.c 	fl4.flowi4_flags = 0;
fl4               374 net/ipv4/fib_frontend.c 	fl4.flowi4_uid = sock_net_uid(net, NULL);
fl4               378 net/ipv4/fib_frontend.c 	fl4.flowi4_mark = IN_DEV_SRC_VMARK(idev) ? skb->mark : 0;
fl4               379 net/ipv4/fib_frontend.c 	if (!fib4_rules_early_flow_dissect(net, skb, &fl4, &flkeys)) {
fl4               380 net/ipv4/fib_frontend.c 		fl4.flowi4_proto = 0;
fl4               381 net/ipv4/fib_frontend.c 		fl4.fl4_sport = 0;
fl4               382 net/ipv4/fib_frontend.c 		fl4.fl4_dport = 0;
fl4               385 net/ipv4/fib_frontend.c 	if (fib_lookup(net, &fl4, &res, 0))
fl4               406 net/ipv4/fib_frontend.c 	fl4.flowi4_oif = dev->ifindex;
fl4               409 net/ipv4/fib_frontend.c 	if (fib_lookup(net, &fl4, &res, FIB_LOOKUP_IGNORE_LINKSTATE) == 0) {
fl4              1332 net/ipv4/fib_frontend.c 	struct flowi4           fl4 = {
fl4              1349 net/ipv4/fib_frontend.c 		frn->err = fib_table_lookup(tb, &fl4, &res, FIB_LOOKUP_NOREF);
fl4               174 net/ipv4/fib_rules.c 	struct flowi4 *fl4 = &fl->u.ip4;
fl4               175 net/ipv4/fib_rules.c 	__be32 daddr = fl4->daddr;
fl4               176 net/ipv4/fib_rules.c 	__be32 saddr = fl4->saddr;
fl4               182 net/ipv4/fib_rules.c 	if (r->tos && (r->tos != fl4->flowi4_tos))
fl4               185 net/ipv4/fib_rules.c 	if (rule->ip_proto && (rule->ip_proto != fl4->flowi4_proto))
fl4               189 net/ipv4/fib_rules.c 	    !fib_rule_port_inrange(&rule->sport_range, fl4->fl4_sport))
fl4               193 net/ipv4/fib_rules.c 	    !fib_rule_port_inrange(&rule->dport_range, fl4->fl4_dport))
fl4              1092 net/ipv4/fib_semantics.c 		struct flowi4 fl4 = {
fl4              1100 net/ipv4/fib_semantics.c 		if (fl4.flowi4_scope < RT_SCOPE_LINK)
fl4              1101 net/ipv4/fib_semantics.c 			fl4.flowi4_scope = RT_SCOPE_LINK;
fl4              1107 net/ipv4/fib_semantics.c 			err = fib_table_lookup(tbl, &fl4, &res,
fl4              1116 net/ipv4/fib_semantics.c 			err = fib_lookup(net, &fl4, &res,
fl4              2191 net/ipv4/fib_semantics.c 		     struct flowi4 *fl4, const struct sk_buff *skb)
fl4              2193 net/ipv4/fib_semantics.c 	if (fl4->flowi4_oif && !(fl4->flowi4_flags & FLOWI_FLAG_SKIP_NH_OIF))
fl4              2198 net/ipv4/fib_semantics.c 		int h = fib_multipath_hash(net, fl4, skb, NULL);
fl4              2207 net/ipv4/fib_semantics.c 		fib_select_default(fl4, res);
fl4              2210 net/ipv4/fib_semantics.c 	if (!fl4->saddr)
fl4              2211 net/ipv4/fib_semantics.c 		fl4->saddr = fib_result_prefsrc(net, res);
fl4              1063 net/ipv4/fou.c 			  struct flowi4 *fl4, u8 *protocol, __be16 sport)
fl4              1076 net/ipv4/fou.c 		     fl4->saddr, fl4->daddr, skb->len);
fl4              1082 net/ipv4/fou.c 			    u8 *protocol, struct flowi4 *fl4)
fl4              1093 net/ipv4/fou.c 	fou_build_udp(skb, e, fl4, protocol, sport);
fl4              1099 net/ipv4/fou.c 			    u8 *protocol, struct flowi4 *fl4)
fl4              1110 net/ipv4/fou.c 	fou_build_udp(skb, e, fl4, protocol, sport);
fl4               311 net/ipv4/icmp.c 			       struct flowi4 *fl4, int type, int code)
fl4               326 net/ipv4/icmp.c 	peer = inet_getpeer_v4(net->ipv4.peers, fl4->daddr, vif, 1);
fl4               364 net/ipv4/icmp.c 			    struct flowi4 *fl4,
fl4               371 net/ipv4/icmp.c 	if (ip_append_data(sk, fl4, icmp_glue_bits, icmp_param,
fl4               390 net/ipv4/icmp.c 		ip_push_pending_frames(sk, fl4);
fl4               403 net/ipv4/icmp.c 	struct flowi4 fl4;
fl4               439 net/ipv4/icmp.c 	memset(&fl4, 0, sizeof(fl4));
fl4               440 net/ipv4/icmp.c 	fl4.daddr = daddr;
fl4               441 net/ipv4/icmp.c 	fl4.saddr = saddr;
fl4               442 net/ipv4/icmp.c 	fl4.flowi4_mark = mark;
fl4               443 net/ipv4/icmp.c 	fl4.flowi4_uid = sock_net_uid(net, NULL);
fl4               444 net/ipv4/icmp.c 	fl4.flowi4_tos = RT_TOS(ip_hdr(skb)->tos);
fl4               445 net/ipv4/icmp.c 	fl4.flowi4_proto = IPPROTO_ICMP;
fl4               446 net/ipv4/icmp.c 	fl4.flowi4_oif = l3mdev_master_ifindex(skb->dev);
fl4               447 net/ipv4/icmp.c 	security_skb_classify_flow(skb, flowi4_to_flowi(&fl4));
fl4               448 net/ipv4/icmp.c 	rt = ip_route_output_key(net, &fl4);
fl4               451 net/ipv4/icmp.c 	if (icmpv4_xrlim_allow(net, rt, &fl4, type, code))
fl4               452 net/ipv4/icmp.c 		icmp_push_reply(icmp_param, &fl4, &ipc, &rt);
fl4               461 net/ipv4/icmp.c 					struct flowi4 *fl4,
fl4               472 net/ipv4/icmp.c 	memset(fl4, 0, sizeof(*fl4));
fl4               473 net/ipv4/icmp.c 	fl4->daddr = (param->replyopts.opt.opt.srr ?
fl4               475 net/ipv4/icmp.c 	fl4->saddr = saddr;
fl4               476 net/ipv4/icmp.c 	fl4->flowi4_mark = mark;
fl4               477 net/ipv4/icmp.c 	fl4->flowi4_uid = sock_net_uid(net, NULL);
fl4               478 net/ipv4/icmp.c 	fl4->flowi4_tos = RT_TOS(tos);
fl4               479 net/ipv4/icmp.c 	fl4->flowi4_proto = IPPROTO_ICMP;
fl4               480 net/ipv4/icmp.c 	fl4->fl4_icmp_type = type;
fl4               481 net/ipv4/icmp.c 	fl4->fl4_icmp_code = code;
fl4               482 net/ipv4/icmp.c 	fl4->flowi4_oif = l3mdev_master_ifindex(skb_dst(skb_in)->dev);
fl4               484 net/ipv4/icmp.c 	security_skb_classify_flow(skb_in, flowi4_to_flowi(fl4));
fl4               485 net/ipv4/icmp.c 	rt = ip_route_output_key_hash(net, fl4, skb_in);
fl4               493 net/ipv4/icmp.c 					   flowi4_to_flowi(fl4), NULL, 0);
fl4               540 net/ipv4/icmp.c 		memcpy(fl4, &fl4_dec, sizeof(*fl4));
fl4               577 net/ipv4/icmp.c 	struct flowi4 fl4;
fl4               717 net/ipv4/icmp.c 	rt = icmp_route_lookup(net, &fl4, skb_in, iph, saddr, tos, mark,
fl4               723 net/ipv4/icmp.c 	if (!icmpv4_xrlim_allow(net, rt, &fl4, type, code))
fl4               739 net/ipv4/icmp.c 	icmp_push_reply(&icmp_param, &fl4, &ipc, &rt);
fl4               332 net/ipv4/igmp.c 				 const struct flowi4 *fl4)
fl4               341 net/ipv4/igmp.c 		if (fl4->saddr == ifa->ifa_local)
fl4               342 net/ipv4/igmp.c 			return fl4->saddr;
fl4               355 net/ipv4/igmp.c 	struct flowi4 fl4;
fl4               371 net/ipv4/igmp.c 	rt = ip_route_output_ports(net, &fl4, NULL, IGMPV3_ALL_MCR, 0,
fl4               394 net/ipv4/igmp.c 	pip->daddr    = fl4.daddr;
fl4               397 net/ipv4/igmp.c 	pip->saddr    = igmpv3_get_srcaddr(dev, &fl4);
fl4               734 net/ipv4/igmp.c 	struct flowi4 fl4;
fl4               749 net/ipv4/igmp.c 	rt = ip_route_output_ports(net, &fl4, NULL, dst, 0,
fl4               778 net/ipv4/igmp.c 	iph->saddr    = fl4.saddr;
fl4               567 net/ipv4/inet_connection_sock.c 				     struct flowi4 *fl4,
fl4               578 net/ipv4/inet_connection_sock.c 	flowi4_init_output(fl4, ireq->ir_iif, ireq->ir_mark,
fl4               584 net/ipv4/inet_connection_sock.c 	security_req_classify_flow(req, flowi4_to_flowi(fl4));
fl4               585 net/ipv4/inet_connection_sock.c 	rt = ip_route_output_flow(net, fl4, sk);
fl4               610 net/ipv4/inet_connection_sock.c 	struct flowi4 *fl4;
fl4               614 net/ipv4/inet_connection_sock.c 	fl4 = &newinet->cork.fl.u.ip4;
fl4               616 net/ipv4/inet_connection_sock.c 	flowi4_init_output(fl4, ireq->ir_iif, ireq->ir_mark,
fl4               622 net/ipv4/inet_connection_sock.c 	security_req_classify_flow(req, flowi4_to_flowi(fl4));
fl4               623 net/ipv4/inet_connection_sock.c 	rt = ip_route_output_flow(net, fl4, sk);
fl4              1083 net/ipv4/inet_connection_sock.c 	struct flowi4 *fl4;
fl4              1090 net/ipv4/inet_connection_sock.c 	fl4 = &fl->u.ip4;
fl4              1091 net/ipv4/inet_connection_sock.c 	rt = ip_route_output_ports(sock_net(sk), fl4, sk, daddr,
fl4               573 net/ipv4/ip_gre.c 	struct flowi4 fl4;
fl4               579 net/ipv4/ip_gre.c 	ip_tunnel_init_flow(&fl4, IPPROTO_GRE, key->u.ipv4.dst, key->u.ipv4.src,
fl4               582 net/ipv4/ip_gre.c 	rt = ip_route_output_key(dev_net(dev), &fl4);
fl4               587 net/ipv4/ip_gre.c 	info->key.u.ipv4.src = fl4.saddr;
fl4               859 net/ipv4/ip_gre.c 		struct flowi4 fl4;
fl4               862 net/ipv4/ip_gre.c 		rt = ip_route_output_gre(t->net, &fl4,
fl4               444 net/ipv4/ip_output.c static void ip_copy_addrs(struct iphdr *iph, const struct flowi4 *fl4)
fl4               446 net/ipv4/ip_output.c 	BUILD_BUG_ON(offsetof(typeof(*fl4), daddr) !=
fl4               447 net/ipv4/ip_output.c 		     offsetof(typeof(*fl4), saddr) + sizeof(fl4->saddr));
fl4               448 net/ipv4/ip_output.c 	memcpy(&iph->saddr, &fl4->saddr,
fl4               449 net/ipv4/ip_output.c 	       sizeof(fl4->saddr) + sizeof(fl4->daddr));
fl4               459 net/ipv4/ip_output.c 	struct flowi4 *fl4;
fl4               469 net/ipv4/ip_output.c 	fl4 = &fl->u.ip4;
fl4               488 net/ipv4/ip_output.c 		rt = ip_route_output_ports(net, fl4, sk,
fl4               516 net/ipv4/ip_output.c 	ip_copy_addrs(iph, fl4);
fl4               954 net/ipv4/ip_output.c 			    struct flowi4 *fl4,
fl4               998 net/ipv4/ip_output.c 		ip_local_error(sk, EMSGSIZE, fl4->daddr, inet->inet_dport,
fl4              1296 net/ipv4/ip_output.c int ip_append_data(struct sock *sk, struct flowi4 *fl4,
fl4              1317 net/ipv4/ip_output.c 	return __ip_append_data(sk, fl4, &sk->sk_write_queue, &inet->cork.base,
fl4              1322 net/ipv4/ip_output.c ssize_t	ip_append_page(struct sock *sk, struct flowi4 *fl4, struct page *page,
fl4              1361 net/ipv4/ip_output.c 		ip_local_error(sk, EMSGSIZE, fl4->daddr, inet->inet_dport,
fl4              1466 net/ipv4/ip_output.c 			      struct flowi4 *fl4,
fl4              1531 net/ipv4/ip_output.c 	ip_copy_addrs(iph, fl4);
fl4              1573 net/ipv4/ip_output.c int ip_push_pending_frames(struct sock *sk, struct flowi4 *fl4)
fl4              1577 net/ipv4/ip_output.c 	skb = ip_finish_skb(sk, fl4);
fl4              1606 net/ipv4/ip_output.c 			    struct flowi4 *fl4,
fl4              1628 net/ipv4/ip_output.c 	err = __ip_append_data(sk, fl4, &queue, cork,
fl4              1636 net/ipv4/ip_output.c 	return __ip_make_skb(sk, fl4, &queue, cork);
fl4              1664 net/ipv4/ip_output.c 	struct flowi4 fl4;
fl4              1689 net/ipv4/ip_output.c 	flowi4_init_output(&fl4, oif,
fl4              1697 net/ipv4/ip_output.c 	security_skb_classify_flow(skb, flowi4_to_flowi(&fl4));
fl4              1698 net/ipv4/ip_output.c 	rt = ip_route_output_key(net, &fl4);
fl4              1707 net/ipv4/ip_output.c 	sk->sk_mark = fl4.flowi4_mark;
fl4              1708 net/ipv4/ip_output.c 	err = ip_append_data(sk, &fl4, ip_reply_glue_bits, arg->iov->iov_base,
fl4              1722 net/ipv4/ip_output.c 		ip_push_pending_frames(sk, &fl4);
fl4               290 net/ipv4/ip_tunnel.c 		struct flowi4 fl4;
fl4               293 net/ipv4/ip_tunnel.c 		ip_tunnel_init_flow(&fl4, iph->protocol, iph->daddr,
fl4               297 net/ipv4/ip_tunnel.c 		rt = ip_route_output_key(tunnel->net, &fl4);
fl4               552 net/ipv4/ip_tunnel.c 	struct flowi4 fl4;
fl4               571 net/ipv4/ip_tunnel.c 	ip_tunnel_init_flow(&fl4, proto, key->u.ipv4.dst, key->u.ipv4.src,
fl4               579 net/ipv4/ip_tunnel.c 		rt = dst_cache_get_ip4(&tun_info->dst_cache, &fl4.saddr);
fl4               581 net/ipv4/ip_tunnel.c 		rt = ip_route_output_key(tunnel->net, &fl4);
fl4               588 net/ipv4/ip_tunnel.c 					  fl4.saddr);
fl4               626 net/ipv4/ip_tunnel.c 	iptunnel_xmit(NULL, rt, skb, fl4.saddr, fl4.daddr, proto, tos, ttl,
fl4               648 net/ipv4/ip_tunnel.c 	struct flowi4 fl4;
fl4               731 net/ipv4/ip_tunnel.c 	ip_tunnel_init_flow(&fl4, protocol, dst, tnl_params->saddr,
fl4               735 net/ipv4/ip_tunnel.c 	if (ip_tunnel_encap(skb, tunnel, &protocol, &fl4) < 0)
fl4               742 net/ipv4/ip_tunnel.c 					       &fl4.saddr);
fl4               745 net/ipv4/ip_tunnel.c 						&fl4.saddr) : NULL;
fl4               749 net/ipv4/ip_tunnel.c 		rt = ip_route_output_key(tunnel->net, &fl4);
fl4               757 net/ipv4/ip_tunnel.c 					  fl4.saddr);
fl4               760 net/ipv4/ip_tunnel.c 					  fl4.saddr);
fl4               814 net/ipv4/ip_tunnel.c 	iptunnel_xmit(NULL, rt, skb, fl4.saddr, fl4.daddr, protocol, tos, ttl,
fl4               522 net/ipv4/ipmr.c 	struct flowi4 fl4 = {
fl4               529 net/ipv4/ipmr.c 	err = ipmr_fib_lookup(net, &fl4, &mrt);
fl4              1845 net/ipv4/ipmr.c 	struct flowi4 fl4;
fl4              1864 net/ipv4/ipmr.c 		rt = ip_route_output_ports(net, &fl4, NULL,
fl4              1873 net/ipv4/ipmr.c 		rt = ip_route_output_ports(net, &fl4, NULL, iph->daddr, 0,
fl4              2073 net/ipv4/ipmr.c 	struct flowi4 fl4 = {
fl4              2087 net/ipv4/ipmr.c 	err = ipmr_fib_lookup(net, &fl4, &mrt);
fl4                24 net/ipv4/netfilter.c 	struct flowi4 fl4 = {};
fl4                41 net/ipv4/netfilter.c 	fl4.daddr = iph->daddr;
fl4                42 net/ipv4/netfilter.c 	fl4.saddr = saddr;
fl4                43 net/ipv4/netfilter.c 	fl4.flowi4_tos = RT_TOS(iph->tos);
fl4                44 net/ipv4/netfilter.c 	fl4.flowi4_oif = sk ? sk->sk_bound_dev_if : 0;
fl4                45 net/ipv4/netfilter.c 	if (!fl4.flowi4_oif)
fl4                46 net/ipv4/netfilter.c 		fl4.flowi4_oif = l3mdev_master_ifindex(dev);
fl4                47 net/ipv4/netfilter.c 	fl4.flowi4_mark = skb->mark;
fl4                48 net/ipv4/netfilter.c 	fl4.flowi4_flags = flags;
fl4                49 net/ipv4/netfilter.c 	rt = ip_route_output_key(net, &fl4);
fl4                62 net/ipv4/netfilter.c 	    xfrm_decode_session(skb, flowi4_to_flowi(&fl4), AF_INET) == 0) {
fl4                65 net/ipv4/netfilter.c 		dst = xfrm_lookup(net, dst, flowi4_to_flowi(&fl4), sk, 0);
fl4                32 net/ipv4/netfilter/ipt_rpfilter.c static bool rpfilter_lookup_reverse(struct net *net, struct flowi4 *fl4,
fl4                38 net/ipv4/netfilter/ipt_rpfilter.c 	if (fib_lookup(net, fl4, &res, FIB_LOOKUP_IGNORE_LINKSTATE))
fl4                28 net/ipv4/netfilter/nf_dup_ipv4.c 	struct flowi4 fl4;
fl4                30 net/ipv4/netfilter/nf_dup_ipv4.c 	memset(&fl4, 0, sizeof(fl4));
fl4                32 net/ipv4/netfilter/nf_dup_ipv4.c 		fl4.flowi4_oif = oif;
fl4                34 net/ipv4/netfilter/nf_dup_ipv4.c 	fl4.daddr = gw->s_addr;
fl4                35 net/ipv4/netfilter/nf_dup_ipv4.c 	fl4.flowi4_tos = RT_TOS(iph->tos);
fl4                36 net/ipv4/netfilter/nf_dup_ipv4.c 	fl4.flowi4_scope = RT_SCOPE_UNIVERSE;
fl4                37 net/ipv4/netfilter/nf_dup_ipv4.c 	fl4.flowi4_flags = FLOWI_FLAG_KNOWN_NH;
fl4                38 net/ipv4/netfilter/nf_dup_ipv4.c 	rt = ip_route_output_key(net, &fl4);
fl4                65 net/ipv4/netfilter/nft_fib_ipv4.c 	struct flowi4 fl4 = {
fl4               107 net/ipv4/netfilter/nft_fib_ipv4.c 		fl4.flowi4_mark = pkt->skb->mark;
fl4               109 net/ipv4/netfilter/nft_fib_ipv4.c 	fl4.flowi4_tos = iph->tos & DSCP_BITS;
fl4               112 net/ipv4/netfilter/nft_fib_ipv4.c 		fl4.daddr = iph->daddr;
fl4               113 net/ipv4/netfilter/nft_fib_ipv4.c 		fl4.saddr = get_saddr(iph->saddr);
fl4               115 net/ipv4/netfilter/nft_fib_ipv4.c 		fl4.daddr = iph->saddr;
fl4               116 net/ipv4/netfilter/nft_fib_ipv4.c 		fl4.saddr = get_saddr(iph->daddr);
fl4               121 net/ipv4/netfilter/nft_fib_ipv4.c 	if (fib_lookup(nft_net(pkt), &fl4, &res, FIB_LOOKUP_IGNORE_LINKSTATE))
fl4               635 net/ipv4/ping.c 				       struct flowi4 *fl4)
fl4               646 net/ipv4/ping.c 	return ip_push_pending_frames(sk, fl4);
fl4               697 net/ipv4/ping.c 	struct flowi4 fl4;
fl4               784 net/ipv4/ping.c 	flowi4_init_output(&fl4, ipc.oif, ipc.sockc.mark, tos,
fl4               789 net/ipv4/ping.c 	security_sk_classify_flow(sk, flowi4_to_flowi(&fl4));
fl4               790 net/ipv4/ping.c 	rt = ip_route_output_flow(net, &fl4, sk);
fl4               809 net/ipv4/ping.c 		ipc.addr = fl4.daddr;
fl4               822 net/ipv4/ping.c 	err = ip_append_data(sk, &fl4, ping_getfrag, &pfh, len,
fl4               827 net/ipv4/ping.c 		err = ping_v4_push_pending_frames(sk, &pfh, &fl4);
fl4               843 net/ipv4/ping.c 		dst_confirm_neigh(&rt->dst, &fl4.daddr);
fl4               343 net/ipv4/raw.c static int raw_send_hdrinc(struct sock *sk, struct flowi4 *fl4,
fl4               358 net/ipv4/raw.c 		ip_local_error(sk, EMSGSIZE, fl4->daddr, inet->inet_dport,
fl4               414 net/ipv4/raw.c 			iph->saddr = fl4->saddr;
fl4               447 net/ipv4/raw.c static int raw_probe_proto_opt(struct raw_frag_vec *rfv, struct flowi4 *fl4)
fl4               451 net/ipv4/raw.c 	if (fl4->flowi4_proto != IPPROTO_ICMP)
fl4               461 net/ipv4/raw.c 	fl4->fl4_icmp_type = rfv->hdr.icmph.type;
fl4               462 net/ipv4/raw.c 	fl4->fl4_icmp_code = rfv->hdr.icmph.code;
fl4               504 net/ipv4/raw.c 	struct flowi4 fl4;
fl4               626 net/ipv4/raw.c 	flowi4_init_output(&fl4, ipc.oif, ipc.sockc.mark, tos,
fl4               637 net/ipv4/raw.c 		err = raw_probe_proto_opt(&rfv, &fl4);
fl4               642 net/ipv4/raw.c 	security_sk_classify_flow(sk, flowi4_to_flowi(&fl4));
fl4               643 net/ipv4/raw.c 	rt = ip_route_output_flow(net, &fl4, sk);
fl4               659 net/ipv4/raw.c 		err = raw_send_hdrinc(sk, &fl4, msg, len,
fl4               664 net/ipv4/raw.c 			ipc.addr = fl4.daddr;
fl4               666 net/ipv4/raw.c 		err = ip_append_data(sk, &fl4, raw_getfrag,
fl4               672 net/ipv4/raw.c 			err = ip_push_pending_frames(sk, &fl4);
fl4               690 net/ipv4/raw.c 		dst_confirm_neigh(&rt->dst, &fl4.daddr);
fl4               524 net/ipv4/route.c static void __build_flow_key(const struct net *net, struct flowi4 *fl4,
fl4               538 net/ipv4/route.c 	flowi4_init_output(fl4, oif, mark, tos,
fl4               545 net/ipv4/route.c static void build_skb_flow_key(struct flowi4 *fl4, const struct sk_buff *skb,
fl4               555 net/ipv4/route.c 	__build_flow_key(net, fl4, sk, iph, oif, tos, prot, mark, 0);
fl4               558 net/ipv4/route.c static void build_sk_flow_key(struct flowi4 *fl4, const struct sock *sk)
fl4               568 net/ipv4/route.c 	flowi4_init_output(fl4, sk->sk_bound_dev_if, sk->sk_mark,
fl4               576 net/ipv4/route.c static void ip_rt_build_flow_key(struct flowi4 *fl4, const struct sock *sk,
fl4               580 net/ipv4/route.c 		build_skb_flow_key(fl4, skb, sk);
fl4               582 net/ipv4/route.c 		build_sk_flow_key(fl4, sk);
fl4               735 net/ipv4/route.c static void __ip_do_redirect(struct rtable *rt, struct sk_buff *skb, struct flowi4 *fl4,
fl4               787 net/ipv4/route.c 			if (fib_lookup(net, fl4, &res, 0) == 0) {
fl4               790 net/ipv4/route.c 				update_or_create_fnhe(nhc, fl4->daddr, new_gw,
fl4               821 net/ipv4/route.c 	struct flowi4 fl4;
fl4               831 net/ipv4/route.c 	__build_flow_key(net, &fl4, sk, iph, oif, tos, prot, mark, 0);
fl4               832 net/ipv4/route.c 	__ip_do_redirect(rt, skb, &fl4, true);
fl4              1012 net/ipv4/route.c static void __ip_rt_update_pmtu(struct rtable *rt, struct flowi4 *fl4, u32 mtu)
fl4              1035 net/ipv4/route.c 	if (fib_lookup(dev_net(dst->dev), fl4, &res, 0) == 0) {
fl4              1038 net/ipv4/route.c 		update_or_create_fnhe(nhc, fl4->daddr, 0, mtu, lock,
fl4              1049 net/ipv4/route.c 	struct flowi4 fl4;
fl4              1051 net/ipv4/route.c 	ip_rt_build_flow_key(&fl4, sk, skb);
fl4              1052 net/ipv4/route.c 	__ip_rt_update_pmtu(rt, &fl4, mtu);
fl4              1059 net/ipv4/route.c 	struct flowi4 fl4;
fl4              1063 net/ipv4/route.c 	__build_flow_key(net, &fl4, NULL, iph, oif,
fl4              1065 net/ipv4/route.c 	rt = __ip_route_output_key(net, &fl4);
fl4              1067 net/ipv4/route.c 		__ip_rt_update_pmtu(rt, &fl4, mtu);
fl4              1076 net/ipv4/route.c 	struct flowi4 fl4;
fl4              1079 net/ipv4/route.c 	__build_flow_key(sock_net(sk), &fl4, sk, iph, 0, 0, 0, 0, 0);
fl4              1081 net/ipv4/route.c 	if (!fl4.flowi4_mark)
fl4              1082 net/ipv4/route.c 		fl4.flowi4_mark = IP4_REPLY_MARK(sock_net(sk), skb->mark);
fl4              1084 net/ipv4/route.c 	rt = __ip_route_output_key(sock_net(sk), &fl4);
fl4              1086 net/ipv4/route.c 		__ip_rt_update_pmtu(rt, &fl4, mtu);
fl4              1094 net/ipv4/route.c 	struct flowi4 fl4;
fl4              1112 net/ipv4/route.c 	__build_flow_key(net, &fl4, sk, iph, 0, 0, 0, 0, 0);
fl4              1116 net/ipv4/route.c 		rt = ip_route_output_flow(sock_net(sk), &fl4, sk);
fl4              1123 net/ipv4/route.c 	__ip_rt_update_pmtu((struct rtable *) xfrm_dst_path(&rt->dst), &fl4, mtu);
fl4              1129 net/ipv4/route.c 		rt = ip_route_output_flow(sock_net(sk), &fl4, sk);
fl4              1149 net/ipv4/route.c 	struct flowi4 fl4;
fl4              1152 net/ipv4/route.c 	__build_flow_key(net, &fl4, NULL, iph, oif,
fl4              1154 net/ipv4/route.c 	rt = __ip_route_output_key(net, &fl4);
fl4              1156 net/ipv4/route.c 		__ip_do_redirect(rt, skb, &fl4, false);
fl4              1165 net/ipv4/route.c 	struct flowi4 fl4;
fl4              1169 net/ipv4/route.c 	__build_flow_key(net, &fl4, sk, iph, 0, 0, 0, 0, 0);
fl4              1170 net/ipv4/route.c 	rt = __ip_route_output_key(net, &fl4);
fl4              1172 net/ipv4/route.c 		__ip_do_redirect(rt, skb, &fl4, false);
fl4              1262 net/ipv4/route.c 		struct flowi4 fl4 = {
fl4              1272 net/ipv4/route.c 		if (fib_lookup(dev_net(rt->dst.dev), &fl4, &res, 0) == 0)
fl4              1916 net/ipv4/route.c int fib_multipath_hash(const struct net *net, const struct flowi4 *fl4,
fl4              1919 net/ipv4/route.c 	u32 multipath_hash = fl4 ? fl4->flowi4_multipath_hash : 0;
fl4              1930 net/ipv4/route.c 			hash_keys.addrs.v4addrs.src = fl4->saddr;
fl4              1931 net/ipv4/route.c 			hash_keys.addrs.v4addrs.dst = fl4->daddr;
fl4              1960 net/ipv4/route.c 			hash_keys.addrs.v4addrs.src = fl4->saddr;
fl4              1961 net/ipv4/route.c 			hash_keys.addrs.v4addrs.dst = fl4->daddr;
fl4              1962 net/ipv4/route.c 			hash_keys.ports.src = fl4->fl4_sport;
fl4              1963 net/ipv4/route.c 			hash_keys.ports.dst = fl4->fl4_dport;
fl4              1964 net/ipv4/route.c 			hash_keys.basic.ip_proto = fl4->flowi4_proto;
fl4              1993 net/ipv4/route.c 			hash_keys.addrs.v4addrs.src = fl4->saddr;
fl4              1994 net/ipv4/route.c 			hash_keys.addrs.v4addrs.dst = fl4->daddr;
fl4              2048 net/ipv4/route.c 	struct flowi4	fl4;
fl4              2062 net/ipv4/route.c 		fl4.flowi4_tun_key.tun_id = tun_info->key.tun_id;
fl4              2064 net/ipv4/route.c 		fl4.flowi4_tun_key.tun_id = 0;
fl4              2098 net/ipv4/route.c 	fl4.flowi4_oif = 0;
fl4              2099 net/ipv4/route.c 	fl4.flowi4_iif = dev->ifindex;
fl4              2100 net/ipv4/route.c 	fl4.flowi4_mark = skb->mark;
fl4              2101 net/ipv4/route.c 	fl4.flowi4_tos = tos;
fl4              2102 net/ipv4/route.c 	fl4.flowi4_scope = RT_SCOPE_UNIVERSE;
fl4              2103 net/ipv4/route.c 	fl4.flowi4_flags = 0;
fl4              2104 net/ipv4/route.c 	fl4.daddr = daddr;
fl4              2105 net/ipv4/route.c 	fl4.saddr = saddr;
fl4              2106 net/ipv4/route.c 	fl4.flowi4_uid = sock_net_uid(net, NULL);
fl4              2108 net/ipv4/route.c 	if (fib4_rules_early_flow_dissect(net, skb, &fl4, &_flkeys)) {
fl4              2111 net/ipv4/route.c 		fl4.flowi4_proto = 0;
fl4              2112 net/ipv4/route.c 		fl4.fl4_sport = 0;
fl4              2113 net/ipv4/route.c 		fl4.fl4_dport = 0;
fl4              2116 net/ipv4/route.c 	err = fib_lookup(net, &fl4, res, 0);
fl4              2313 net/ipv4/route.c 				       const struct flowi4 *fl4, int orig_oif,
fl4              2329 net/ipv4/route.c 		if (ipv4_is_loopback(fl4->saddr) &&
fl4              2334 net/ipv4/route.c 	if (ipv4_is_lbcast(fl4->daddr))
fl4              2336 net/ipv4/route.c 	else if (ipv4_is_multicast(fl4->daddr))
fl4              2338 net/ipv4/route.c 	else if (ipv4_is_zeronet(fl4->daddr))
fl4              2350 net/ipv4/route.c 		if (!ip_check_mc_rcu(in_dev, fl4->daddr, fl4->saddr,
fl4              2351 net/ipv4/route.c 				     fl4->flowi4_proto))
fl4              2381 net/ipv4/route.c 		fnhe = find_exception(nhc, fl4->daddr);
fl4              2387 net/ipv4/route.c 			if (unlikely(fl4->flowi4_flags &
fl4              2422 net/ipv4/route.c 			    !ipv4_is_local_multicast(fl4->daddr)) {
fl4              2430 net/ipv4/route.c 	rt_set_nexthop(rth, fl4->daddr, res, fnhe, fi, type, 0, do_cache);
fl4              2440 net/ipv4/route.c struct rtable *ip_route_output_key_hash(struct net *net, struct flowi4 *fl4,
fl4              2443 net/ipv4/route.c 	__u8 tos = RT_FL_TOS(fl4);
fl4              2452 net/ipv4/route.c 	fl4->flowi4_iif = LOOPBACK_IFINDEX;
fl4              2453 net/ipv4/route.c 	fl4->flowi4_tos = tos & IPTOS_RT_MASK;
fl4              2454 net/ipv4/route.c 	fl4->flowi4_scope = ((tos & RTO_ONLINK) ?
fl4              2458 net/ipv4/route.c 	rth = ip_route_output_key_hash_rcu(net, fl4, &res, skb);
fl4              2465 net/ipv4/route.c struct rtable *ip_route_output_key_hash_rcu(struct net *net, struct flowi4 *fl4,
fl4              2470 net/ipv4/route.c 	int orig_oif = fl4->flowi4_oif;
fl4              2475 net/ipv4/route.c 	if (fl4->saddr) {
fl4              2476 net/ipv4/route.c 		if (ipv4_is_multicast(fl4->saddr) ||
fl4              2477 net/ipv4/route.c 		    ipv4_is_lbcast(fl4->saddr) ||
fl4              2478 net/ipv4/route.c 		    ipv4_is_zeronet(fl4->saddr)) {
fl4              2493 net/ipv4/route.c 		if (fl4->flowi4_oif == 0 &&
fl4              2494 net/ipv4/route.c 		    (ipv4_is_multicast(fl4->daddr) ||
fl4              2495 net/ipv4/route.c 		     ipv4_is_lbcast(fl4->daddr))) {
fl4              2497 net/ipv4/route.c 			dev_out = __ip_dev_find(net, fl4->saddr, false);
fl4              2516 net/ipv4/route.c 			fl4->flowi4_oif = dev_out->ifindex;
fl4              2520 net/ipv4/route.c 		if (!(fl4->flowi4_flags & FLOWI_FLAG_ANYSRC)) {
fl4              2522 net/ipv4/route.c 			if (!__ip_dev_find(net, fl4->saddr, false))
fl4              2528 net/ipv4/route.c 	if (fl4->flowi4_oif) {
fl4              2529 net/ipv4/route.c 		dev_out = dev_get_by_index_rcu(net, fl4->flowi4_oif);
fl4              2539 net/ipv4/route.c 		if (ipv4_is_local_multicast(fl4->daddr) ||
fl4              2540 net/ipv4/route.c 		    ipv4_is_lbcast(fl4->daddr) ||
fl4              2541 net/ipv4/route.c 		    fl4->flowi4_proto == IPPROTO_IGMP) {
fl4              2542 net/ipv4/route.c 			if (!fl4->saddr)
fl4              2543 net/ipv4/route.c 				fl4->saddr = inet_select_addr(dev_out, 0,
fl4              2547 net/ipv4/route.c 		if (!fl4->saddr) {
fl4              2548 net/ipv4/route.c 			if (ipv4_is_multicast(fl4->daddr))
fl4              2549 net/ipv4/route.c 				fl4->saddr = inet_select_addr(dev_out, 0,
fl4              2550 net/ipv4/route.c 							      fl4->flowi4_scope);
fl4              2551 net/ipv4/route.c 			else if (!fl4->daddr)
fl4              2552 net/ipv4/route.c 				fl4->saddr = inet_select_addr(dev_out, 0,
fl4              2557 net/ipv4/route.c 	if (!fl4->daddr) {
fl4              2558 net/ipv4/route.c 		fl4->daddr = fl4->saddr;
fl4              2559 net/ipv4/route.c 		if (!fl4->daddr)
fl4              2560 net/ipv4/route.c 			fl4->daddr = fl4->saddr = htonl(INADDR_LOOPBACK);
fl4              2562 net/ipv4/route.c 		fl4->flowi4_oif = LOOPBACK_IFINDEX;
fl4              2568 net/ipv4/route.c 	err = fib_lookup(net, fl4, res, 0);
fl4              2572 net/ipv4/route.c 		if (fl4->flowi4_oif &&
fl4              2573 net/ipv4/route.c 		    (ipv4_is_multicast(fl4->daddr) ||
fl4              2574 net/ipv4/route.c 		    !netif_index_is_l3_master(net, fl4->flowi4_oif))) {
fl4              2593 net/ipv4/route.c 			if (fl4->saddr == 0)
fl4              2594 net/ipv4/route.c 				fl4->saddr = inet_select_addr(dev_out, 0,
fl4              2604 net/ipv4/route.c 		if (!fl4->saddr) {
fl4              2606 net/ipv4/route.c 				fl4->saddr = res->fi->fib_prefsrc;
fl4              2608 net/ipv4/route.c 				fl4->saddr = fl4->daddr;
fl4              2620 net/ipv4/route.c 		fl4->flowi4_oif = dev_out->ifindex;
fl4              2625 net/ipv4/route.c 	fib_select_path(net, res, fl4, skb);
fl4              2628 net/ipv4/route.c 	fl4->flowi4_oif = dev_out->ifindex;
fl4              2632 net/ipv4/route.c 	rth = __mkroute_output(res, fl4, orig_oif, dev_out, flags);
fl4              2737 net/ipv4/route.c 			struct rtable *rt, u32 table_id, struct flowi4 *fl4,
fl4              2755 net/ipv4/route.c 	r->rtm_tos	= fl4 ? fl4->flowi4_tos : 0;
fl4              2783 net/ipv4/route.c 	if (fl4 && !rt_is_input_route(rt) &&
fl4              2784 net/ipv4/route.c 	    fl4->saddr != src) {
fl4              2785 net/ipv4/route.c 		if (nla_put_in_addr(skb, RTA_PREFSRC, fl4->saddr))
fl4              2825 net/ipv4/route.c 	if (fl4) {
fl4              2826 net/ipv4/route.c 		if (fl4->flowi4_mark &&
fl4              2827 net/ipv4/route.c 		    nla_put_u32(skb, RTA_MARK, fl4->flowi4_mark))
fl4              2830 net/ipv4/route.c 		if (!uid_eq(fl4->flowi4_uid, INVALID_UID) &&
fl4              2833 net/ipv4/route.c 						 fl4->flowi4_uid)))
fl4              2842 net/ipv4/route.c 							 fl4->saddr, fl4->daddr,
fl4              2852 net/ipv4/route.c 				if (nla_put_u32(skb, RTA_IIF, fl4->flowi4_iif))
fl4              3087 net/ipv4/route.c 	struct flowi4 fl4 = {};
fl4              3126 net/ipv4/route.c 	fl4.daddr = dst;
fl4              3127 net/ipv4/route.c 	fl4.saddr = src;
fl4              3128 net/ipv4/route.c 	fl4.flowi4_tos = rtm->rtm_tos;
fl4              3129 net/ipv4/route.c 	fl4.flowi4_oif = tb[RTA_OIF] ? nla_get_u32(tb[RTA_OIF]) : 0;
fl4              3130 net/ipv4/route.c 	fl4.flowi4_mark = mark;
fl4              3131 net/ipv4/route.c 	fl4.flowi4_uid = uid;
fl4              3133 net/ipv4/route.c 		fl4.fl4_sport = sport;
fl4              3135 net/ipv4/route.c 		fl4.fl4_dport = dport;
fl4              3136 net/ipv4/route.c 	fl4.flowi4_proto = ip_proto;
fl4              3149 net/ipv4/route.c 		fl4.flowi4_iif = iif; /* for rt_fill_info */
fl4              3159 net/ipv4/route.c 		fl4.flowi4_iif = LOOPBACK_IFINDEX;
fl4              3161 net/ipv4/route.c 		rt = ip_route_output_key_hash_rcu(net, &fl4, &res, skb);
fl4              3194 net/ipv4/route.c 				    fl4.flowi4_tos, res.fi, 0);
fl4              3196 net/ipv4/route.c 		err = rt_fill_info(net, dst, src, rt, table_id, &fl4, skb,
fl4               297 net/ipv4/syncookies.c 	struct flowi4 fl4;
fl4               375 net/ipv4/syncookies.c 	flowi4_init_output(&fl4, ireq->ir_iif, ireq->ir_mark,
fl4               380 net/ipv4/syncookies.c 	security_req_classify_flow(req, flowi4_to_flowi(&fl4));
fl4               381 net/ipv4/syncookies.c 	rt = ip_route_output_key(sock_net(sk), &fl4);
fl4               403 net/ipv4/syncookies.c 		inet_sk(ret)->cork.fl.u.ip4 = fl4;
fl4               206 net/ipv4/tcp_ipv4.c 	struct flowi4 *fl4;
fl4               229 net/ipv4/tcp_ipv4.c 	fl4 = &inet->cork.fl.u.ip4;
fl4               230 net/ipv4/tcp_ipv4.c 	rt = ip_route_connect(fl4, nexthop, inet->inet_saddr,
fl4               247 net/ipv4/tcp_ipv4.c 		daddr = fl4->daddr;
fl4               250 net/ipv4/tcp_ipv4.c 		inet->inet_saddr = fl4->saddr;
fl4               282 net/ipv4/tcp_ipv4.c 	rt = ip_route_newports(fl4, rt, orig_sport, orig_dport,
fl4               945 net/ipv4/tcp_ipv4.c 	struct flowi4 fl4;
fl4               950 net/ipv4/tcp_ipv4.c 	if (!dst && (dst = inet_csk_route_req(sk, &fl4, req)) == NULL)
fl4               814 net/ipv4/udp.c static int udp_send_skb(struct sk_buff *skb, struct flowi4 *fl4,
fl4               832 net/ipv4/udp.c 	uh->dest = fl4->fl4_dport;
fl4               878 net/ipv4/udp.c 		udp4_hwcsum(skb, fl4->saddr, fl4->daddr);
fl4               885 net/ipv4/udp.c 	uh->check = csum_tcpudp_magic(fl4->saddr, fl4->daddr, len,
fl4               911 net/ipv4/udp.c 	struct flowi4 *fl4 = &inet->cork.fl.u.ip4;
fl4               915 net/ipv4/udp.c 	skb = ip_finish_skb(sk, fl4);
fl4               919 net/ipv4/udp.c 	err = udp_send_skb(skb, fl4, &inet->cork.base);
fl4               971 net/ipv4/udp.c 	struct flowi4 *fl4;
fl4               998 net/ipv4/udp.c 	fl4 = &inet->cork.fl.u.ip4;
fl4              1135 net/ipv4/udp.c 		fl4 = &fl4_stack;
fl4              1137 net/ipv4/udp.c 		flowi4_init_output(fl4, ipc.oif, ipc.sockc.mark, tos,
fl4              1143 net/ipv4/udp.c 		security_sk_classify_flow(sk, flowi4_to_flowi(fl4));
fl4              1144 net/ipv4/udp.c 		rt = ip_route_output_flow(net, fl4, sk);
fl4              1165 net/ipv4/udp.c 	saddr = fl4->saddr;
fl4              1167 net/ipv4/udp.c 		daddr = ipc.addr = fl4->daddr;
fl4              1173 net/ipv4/udp.c 		skb = ip_make_skb(sk, fl4, getfrag, msg, ulen,
fl4              1178 net/ipv4/udp.c 			err = udp_send_skb(skb, fl4, &cork);
fl4              1195 net/ipv4/udp.c 	fl4 = &inet->cork.fl.u.ip4;
fl4              1196 net/ipv4/udp.c 	fl4->daddr = daddr;
fl4              1197 net/ipv4/udp.c 	fl4->saddr = saddr;
fl4              1198 net/ipv4/udp.c 	fl4->fl4_dport = dport;
fl4              1199 net/ipv4/udp.c 	fl4->fl4_sport = inet->inet_sport;
fl4              1204 net/ipv4/udp.c 	err = ip_append_data(sk, fl4, getfrag, msg, ulen,
fl4              1237 net/ipv4/udp.c 		dst_confirm_neigh(&rt->dst, &fl4->daddr);
fl4                20 net/ipv4/xfrm4_policy.c static struct dst_entry *__xfrm4_dst_lookup(struct net *net, struct flowi4 *fl4,
fl4                28 net/ipv4/xfrm4_policy.c 	memset(fl4, 0, sizeof(*fl4));
fl4                29 net/ipv4/xfrm4_policy.c 	fl4->daddr = daddr->a4;
fl4                30 net/ipv4/xfrm4_policy.c 	fl4->flowi4_tos = tos;
fl4                31 net/ipv4/xfrm4_policy.c 	fl4->flowi4_oif = l3mdev_master_ifindex_by_index(net, oif);
fl4                32 net/ipv4/xfrm4_policy.c 	fl4->flowi4_mark = mark;
fl4                34 net/ipv4/xfrm4_policy.c 		fl4->saddr = saddr->a4;
fl4                36 net/ipv4/xfrm4_policy.c 	fl4->flowi4_flags = FLOWI_FLAG_SKIP_NH_OIF;
fl4                38 net/ipv4/xfrm4_policy.c 	rt = __ip_route_output_key(net, fl4);
fl4                50 net/ipv4/xfrm4_policy.c 	struct flowi4 fl4;
fl4                52 net/ipv4/xfrm4_policy.c 	return __xfrm4_dst_lookup(net, &fl4, tos, oif, saddr, daddr, mark);
fl4                60 net/ipv4/xfrm4_policy.c 	struct flowi4 fl4;
fl4                62 net/ipv4/xfrm4_policy.c 	dst = __xfrm4_dst_lookup(net, &fl4, 0, oif, NULL, daddr, mark);
fl4                66 net/ipv4/xfrm4_policy.c 	saddr->a4 = fl4.saddr;
fl4                75 net/ipv4/xfrm4_policy.c 	const struct flowi4 *fl4 = &fl->u.ip4;
fl4                77 net/ipv4/xfrm4_policy.c 	xdst->u.rt.rt_iif = fl4->flowi4_iif;
fl4               571 net/ipv6/ip6_tunnel.c 	struct flowi4 fl4;
fl4               612 net/ipv6/ip6_tunnel.c 	rt = ip_route_output_ports(dev_net(skb->dev), &fl4, NULL, eiph->saddr,
fl4               622 net/ipv6/ip6_tunnel.c 		rt = ip_route_output_ports(dev_net(skb->dev), &fl4, NULL,
fl4               828 net/ipv6/sit.c 	struct flowi4 fl4;
fl4               899 net/ipv6/sit.c 	flowi4_init_output(&fl4, tunnel->parms.link, tunnel->fwmark,
fl4               904 net/ipv6/sit.c 	rt = dst_cache_get_ip4(&tunnel->dst_cache, &fl4.saddr);
fl4               906 net/ipv6/sit.c 		rt = ip_route_output_flow(tunnel->net, &fl4, NULL);
fl4               911 net/ipv6/sit.c 		dst_cache_set_ip4(&tunnel->dst_cache, &rt->dst, fl4.saddr);
fl4               990 net/ipv6/sit.c 	if (ip_tunnel_encap(skb, tunnel, &protocol, &fl4) < 0) {
fl4               997 net/ipv6/sit.c 	iptunnel_xmit(NULL, rt, skb, fl4.saddr, fl4.daddr, protocol, tos, ttl,
fl4              1064 net/ipv6/sit.c 	struct flowi4 fl4;
fl4              1070 net/ipv6/sit.c 		struct rtable *rt = ip_route_output_ports(tunnel->net, &fl4,
fl4               412 net/l2tp/l2tp_ip.c 	struct flowi4 *fl4;
fl4               468 net/l2tp/l2tp_ip.c 	fl4 = &inet->cork.fl.u.ip4;
fl4               486 net/l2tp/l2tp_ip.c 		rt = ip_route_output_ports(sock_net(sk), fl4, sk,
fl4               126 net/netfilter/ipvs/ip_vs_xmit.c 	struct flowi4 fl4;
fl4               130 net/netfilter/ipvs/ip_vs_xmit.c 	memset(&fl4, 0, sizeof(fl4));
fl4               131 net/netfilter/ipvs/ip_vs_xmit.c 	fl4.daddr = daddr;
fl4               132 net/netfilter/ipvs/ip_vs_xmit.c 	fl4.flowi4_flags = (rt_mode & IP_VS_RT_MODE_KNOWN_NH) ?
fl4               136 net/netfilter/ipvs/ip_vs_xmit.c 	rt = ip_route_output_key(net, &fl4);
fl4               142 net/netfilter/ipvs/ip_vs_xmit.c 			flowi4_update_output(&fl4, 0, 0, daddr, 0);
fl4               147 net/netfilter/ipvs/ip_vs_xmit.c 	} else if (!*saddr && rt_mode & IP_VS_RT_MODE_CONNECT && fl4.saddr) {
fl4               149 net/netfilter/ipvs/ip_vs_xmit.c 		*saddr = fl4.saddr;
fl4               150 net/netfilter/ipvs/ip_vs_xmit.c 		flowi4_update_output(&fl4, 0, 0, daddr, fl4.saddr);
fl4               154 net/netfilter/ipvs/ip_vs_xmit.c 	*saddr = fl4.saddr;
fl4                62 net/netfilter/nf_nat_core.c 	struct flowi4 *fl4 = &fl->u.ip4;
fl4                65 net/netfilter/nf_nat_core.c 		fl4->daddr = t->dst.u3.ip;
fl4                71 net/netfilter/nf_nat_core.c 			fl4->fl4_dport = t->dst.u.all;
fl4                77 net/netfilter/nf_nat_core.c 		fl4->saddr = t->src.u3.ip;
fl4                83 net/netfilter/nf_nat_core.c 			fl4->fl4_sport = t->src.u.all;
fl4                52 net/netfilter/xt_TCPMSS.c 		struct flowi4 *fl4 = &fl.u.ip4;
fl4                53 net/netfilter/xt_TCPMSS.c 		memset(fl4, 0, sizeof(*fl4));
fl4                54 net/netfilter/xt_TCPMSS.c 		fl4->daddr = ip_hdr(skb)->saddr;
fl4               159 net/rxrpc/peer_object.c 	struct flowi4 *fl4 = &fl.u.ip4;
fl4               170 net/rxrpc/peer_object.c 			net, fl4, NULL,
fl4               281 net/sctp/protocol.c static void sctp_v4_dst_saddr(union sctp_addr *saddr, struct flowi4 *fl4,
fl4               286 net/sctp/protocol.c 	saddr->v4.sin_addr.s_addr = fl4->saddr;
fl4               413 net/sctp/protocol.c 	struct flowi4 *fl4 = &_fl.u.ip4;
fl4               424 net/sctp/protocol.c 	fl4->daddr  = daddr->v4.sin_addr.s_addr;
fl4               425 net/sctp/protocol.c 	fl4->fl4_dport = daddr->v4.sin_port;
fl4               426 net/sctp/protocol.c 	fl4->flowi4_proto = IPPROTO_SCTP;
fl4               428 net/sctp/protocol.c 		fl4->flowi4_tos = RT_CONN_FLAGS_TOS(asoc->base.sk, tos);
fl4               429 net/sctp/protocol.c 		fl4->flowi4_oif = asoc->base.sk->sk_bound_dev_if;
fl4               430 net/sctp/protocol.c 		fl4->fl4_sport = htons(asoc->base.bind_addr.port);
fl4               433 net/sctp/protocol.c 		fl4->saddr = saddr->v4.sin_addr.s_addr;
fl4               434 net/sctp/protocol.c 		if (!fl4->fl4_sport)
fl4               435 net/sctp/protocol.c 			fl4->fl4_sport = saddr->v4.sin_port;
fl4               438 net/sctp/protocol.c 	pr_debug("%s: dst:%pI4, src:%pI4 - ", __func__, &fl4->daddr,
fl4               439 net/sctp/protocol.c 		 &fl4->saddr);
fl4               441 net/sctp/protocol.c 	rt = ip_route_output_key(sock_net(sk), fl4);
fl4               460 net/sctp/protocol.c 		sctp_v4_dst_saddr(&dst_saddr, fl4, htons(bp->port));
fl4               492 net/sctp/protocol.c 		fl4->fl4_sport = laddr->a.v4.sin_port;
fl4               493 net/sctp/protocol.c 		flowi4_update_output(fl4,
fl4               499 net/sctp/protocol.c 		rt = ip_route_output_key(sock_net(sk), fl4);
fl4               508 net/sctp/protocol.c 		if (!odev || odev->ifindex != fl4->flowi4_oif) {
fl4               196 net/xfrm/xfrm_policy.c 	const struct flowi4 *fl4 = &fl->u.ip4;
fl4               198 net/xfrm/xfrm_policy.c 	return  addr4_match(fl4->daddr, sel->daddr.a4, sel->prefixlen_d) &&
fl4               199 net/xfrm/xfrm_policy.c 		addr4_match(fl4->saddr, sel->saddr.a4, sel->prefixlen_s) &&
fl4               200 net/xfrm/xfrm_policy.c 		!((xfrm_flowi_dport(fl, &fl4->uli) ^ sel->dport) & sel->dport_mask) &&
fl4               201 net/xfrm/xfrm_policy.c 		!((xfrm_flowi_sport(fl, &fl4->uli) ^ sel->sport) & sel->sport_mask) &&
fl4               202 net/xfrm/xfrm_policy.c 		(fl4->flowi4_proto == sel->proto || !sel->proto) &&
fl4               203 net/xfrm/xfrm_policy.c 		(fl4->flowi4_oif == sel->ifindex || !sel->ifindex);
fl4              3268 net/xfrm/xfrm_policy.c 	struct flowi4 *fl4 = &fl->u.ip4;
fl4              3274 net/xfrm/xfrm_policy.c 	memset(fl4, 0, sizeof(struct flowi4));
fl4              3275 net/xfrm/xfrm_policy.c 	fl4->flowi4_mark = skb->mark;
fl4              3276 net/xfrm/xfrm_policy.c 	fl4->flowi4_oif = reverse ? skb->skb_iif : oif;
fl4              3278 net/xfrm/xfrm_policy.c 	fl4->flowi4_proto = iph->protocol;
fl4              3279 net/xfrm/xfrm_policy.c 	fl4->daddr = reverse ? iph->saddr : iph->daddr;
fl4              3280 net/xfrm/xfrm_policy.c 	fl4->saddr = reverse ? iph->daddr : iph->saddr;
fl4              3281 net/xfrm/xfrm_policy.c 	fl4->flowi4_tos = iph->tos;
fl4              3297 net/xfrm/xfrm_policy.c 				fl4->fl4_sport = ports[!!reverse];
fl4              3298 net/xfrm/xfrm_policy.c 				fl4->fl4_dport = ports[!reverse];
fl4              3309 net/xfrm/xfrm_policy.c 				fl4->fl4_icmp_type = icmp[0];
fl4              3310 net/xfrm/xfrm_policy.c 				fl4->fl4_icmp_code = icmp[1];
fl4              3321 net/xfrm/xfrm_policy.c 				fl4->fl4_ipsec_spi = ehdr[0];
fl4              3332 net/xfrm/xfrm_policy.c 				fl4->fl4_ipsec_spi = ah_hdr[1];
fl4              3343 net/xfrm/xfrm_policy.c 				fl4->fl4_ipsec_spi = htonl(ntohs(ipcomp_hdr[1]));
fl4              3359 net/xfrm/xfrm_policy.c 					fl4->fl4_gre_key = gre_hdr[1];
fl4              3364 net/xfrm/xfrm_policy.c 			fl4->fl4_ipsec_spi = 0;
fl4               854 net/xfrm/xfrm_state.c 	const struct flowi4 *fl4 = &fl->u.ip4;
fl4               856 net/xfrm/xfrm_state.c 	sel->daddr.a4 = fl4->daddr;
fl4               857 net/xfrm/xfrm_state.c 	sel->saddr.a4 = fl4->saddr;
fl4               858 net/xfrm/xfrm_state.c 	sel->dport = xfrm_flowi_dport(fl, &fl4->uli);
fl4               860 net/xfrm/xfrm_state.c 	sel->sport = xfrm_flowi_sport(fl, &fl4->uli);
fl4               865 net/xfrm/xfrm_state.c 	sel->proto = fl4->flowi4_proto;
fl4               866 net/xfrm/xfrm_state.c 	sel->ifindex = fl4->flowi4_oif;