Home
last modified time | relevance | path

Searched refs:fl4 (Results 1 – 25 of 36) sorted by relevance

12

/linux/net/ipv4/
H A Droute.c510 static void __build_flow_key(const struct net *net, struct flowi4 *fl4, in __build_flow_key() argument
526 flowi4_init_output(fl4, oif, mark, tos & INET_DSCP_MASK, scope, in __build_flow_key()
531 static void build_skb_flow_key(struct flowi4 *fl4, const struct sk_buff *skb, in build_skb_flow_key() argument
541 __build_flow_key(net, fl4, sk, iph, oif, tos, prot, mark, 0); in build_skb_flow_key()
544 static void build_sk_flow_key(struct flowi4 *fl4, const struct sock *sk) in build_sk_flow_key() argument
554 flowi4_init_output(fl4, sk->sk_bound_dev_if, READ_ONCE(sk->sk_mark), in build_sk_flow_key()
565 static void ip_rt_build_flow_key(struct flowi4 *fl4, const struct sock *sk, in ip_rt_build_flow_key() argument
569 build_skb_flow_key(fl4, skb, sk); in ip_rt_build_flow_key()
571 build_sk_flow_key(fl4, sk); in ip_rt_build_flow_key()
744 static void __ip_do_redirect(struct rtable *rt, struct sk_buff *skb, struct flowi4 *fl4, in __ip_do_redirect() argument
[all …]
H A Ddatagram.c23 struct flowi4 *fl4; in __ip4_datagram_connect() local
48 fl4 = &inet->cork.fl.u.ip4; in __ip4_datagram_connect()
49 rt = ip_route_connect(fl4, usin->sin_addr.s_addr, saddr, oif, in __ip4_datagram_connect()
66 inet->inet_daddr = fl4->daddr; in __ip4_datagram_connect()
69 inet->inet_saddr = fl4->saddr; in __ip4_datagram_connect()
71 inet->inet_rcv_saddr = fl4->saddr; in __ip4_datagram_connect()
106 struct flowi4 fl4; in ip4_datagram_release_cb() local
117 inet_sk_init_flowi4(inet, &fl4); in ip4_datagram_release_cb()
118 rt = ip_route_output_flow(sock_net(sk), &fl4, sk); in ip4_datagram_release_cb()
H A Dicmp.c312 struct flowi4 *fl4, int type, int code, in icmpv4_xrlim_allow() argument
334 peer = inet_getpeer_v4(net->ipv4.peers, fl4->daddr, in icmpv4_xrlim_allow()
384 struct flowi4 *fl4, in icmp_push_reply() argument
389 if (ip_append_data(sk, fl4, icmp_glue_bits, icmp_param, in icmp_push_reply()
408 ip_push_pending_frames(sk, fl4); in icmp_push_reply()
422 struct flowi4 fl4; in icmp_reply() local
456 memset(&fl4, 0, sizeof(fl4)); in icmp_reply()
457 fl4.daddr = daddr; in icmp_reply()
458 fl4.saddr = saddr; in icmp_reply()
459 fl4.flowi4_mark = mark; in icmp_reply()
[all …]
H A Dip_output.c453 static void ip_copy_addrs(struct iphdr *iph, const struct flowi4 *fl4) in ip_copy_addrs() argument
455 BUILD_BUG_ON(offsetof(typeof(*fl4), daddr) != in ip_copy_addrs()
456 offsetof(typeof(*fl4), saddr) + sizeof(fl4->saddr)); in ip_copy_addrs()
458 iph->saddr = fl4->saddr; in ip_copy_addrs()
459 iph->daddr = fl4->daddr; in ip_copy_addrs()
469 struct flowi4 *fl4; in __ip_queue_xmit() local
479 fl4 = &fl->u.ip4; in __ip_queue_xmit()
487 inet_sk_init_flowi4(inet, fl4); in __ip_queue_xmit()
490 fl4->flowi4_dscp = inet_dsfield_to_dscp(tos); in __ip_queue_xmit()
496 rt = ip_route_output_flow(net, fl4, sk); in __ip_queue_xmit()
[all …]
H A Draw.c327 static int raw_send_hdrinc(struct sock *sk, struct flowi4 *fl4, in raw_send_hdrinc() argument
342 ip_local_error(sk, EMSGSIZE, fl4->daddr, inet->inet_dport, in raw_send_hdrinc()
399 iph->saddr = fl4->saddr; in raw_send_hdrinc()
432 static int raw_probe_proto_opt(struct raw_frag_vec *rfv, struct flowi4 *fl4) in raw_probe_proto_opt() argument
436 if (fl4->flowi4_proto != IPPROTO_ICMP) in raw_probe_proto_opt()
446 fl4->fl4_icmp_type = rfv->hdr.icmph.type; in raw_probe_proto_opt()
447 fl4->fl4_icmp_code = rfv->hdr.icmph.code; in raw_probe_proto_opt()
491 struct flowi4 fl4; in raw_sendmsg() local
610 flowi4_init_output(&fl4, ipc.oif, ipc.sockc.mark, in raw_sendmsg()
617 fl4.fl4_icmp_type = 0; in raw_sendmsg()
[all …]
H A Dip_tunnel.c293 struct flowi4 fl4; in ip_tunnel_bind_dev() local
296 ip_tunnel_init_flow(&fl4, iph->protocol, iph->daddr, in ip_tunnel_bind_dev()
300 rt = ip_route_output_key(tunnel->net, &fl4); in ip_tunnel_bind_dev()
580 struct flowi4 fl4; in ip_md_tunnel_xmit() local
599 ip_tunnel_init_flow(&fl4, proto, key->u.ipv4.dst, key->u.ipv4.src, in ip_md_tunnel_xmit()
607 if (ip_tunnel_encap(skb, &tun_info->encap, &proto, &fl4) < 0) in ip_md_tunnel_xmit()
612 rt = dst_cache_get_ip4(&tun_info->dst_cache, &fl4.saddr); in ip_md_tunnel_xmit()
614 rt = ip_route_output_key(tunnel->net, &fl4); in ip_md_tunnel_xmit()
621 fl4.saddr); in ip_md_tunnel_xmit()
656 iptunnel_xmit(NULL, rt, skb, fl4.saddr, fl4.daddr, proto, tos, ttl, in ip_md_tunnel_xmit()
[all …]
H A Dinet_connection_sock.c759 struct flowi4 *fl4, in inet_csk_route_req() argument
770 flowi4_init_output(fl4, ireq->ir_iif, ireq->ir_mark, in inet_csk_route_req()
776 security_req_classify_flow(req, flowi4_to_flowi_common(fl4)); in inet_csk_route_req()
777 rt = ip_route_output_flow(net, fl4, sk); in inet_csk_route_req()
801 struct flowi4 *fl4; in inet_csk_route_child_sock() local
805 fl4 = &newinet->cork.fl.u.ip4; in inet_csk_route_child_sock()
807 flowi4_init_output(fl4, ireq->ir_iif, ireq->ir_mark, in inet_csk_route_child_sock()
813 security_req_classify_flow(req, flowi4_to_flowi_common(fl4)); in inet_csk_route_child_sock()
814 rt = ip_route_output_flow(net, fl4, sk); in inet_csk_route_child_sock()
1530 struct flowi4 *fl4; in inet_csk_rebuild_route() local
[all …]
H A Dsyncookies.c411 struct flowi4 fl4; in cookie_v4_check() local
457 flowi4_init_output(&fl4, ireq->ir_iif, ireq->ir_mark, in cookie_v4_check()
463 security_req_classify_flow(req, flowi4_to_flowi_common(&fl4)); in cookie_v4_check()
464 rt = ip_route_output_key(net, &fl4); in cookie_v4_check()
500 inet_sk(ret)->cork.fl.u.ip4 = fl4; in cookie_v4_check()
H A Dudp.c1092 static int udp_send_skb(struct sk_buff *skb, struct flowi4 *fl4, in udp_send_skb() argument
1109 uh->dest = fl4->fl4_dport; in udp_send_skb()
1150 udp4_hwcsum(skb, fl4->saddr, fl4->daddr); in udp_send_skb()
1155 uh->check = csum_tcpudp_magic(fl4->saddr, fl4->daddr, len, in udp_send_skb()
1181 struct flowi4 *fl4 = &inet->cork.fl.u.ip4; in udp_push_pending_frames() local
1185 skb = ip_finish_skb(sk, fl4); in udp_push_pending_frames()
1189 err = udp_send_skb(skb, fl4, &inet->cork.base); in udp_push_pending_frames()
1247 struct flowi4 *fl4; in udp_sendmsg() local
1263 fl4 = &inet->cork.fl.u.ip4; in udp_sendmsg()
1400 fl4 = &fl4_stack; in udp_sendmsg()
[all …]
H A Daf_inet.c1269 struct flowi4 *fl4; in inet_sk_reselect_saddr() local
1281 fl4 = &inet->cork.fl.u.ip4; in inet_sk_reselect_saddr()
1282 rt = ip_route_connect(fl4, daddr, 0, sk->sk_bound_dev_if, in inet_sk_reselect_saddr()
1288 new_saddr = fl4->saddr; in inet_sk_reselect_saddr()
1323 struct flowi4 *fl4; in inet_sk_rebuild_header() local
1331 fl4 = &inet->cork.fl.u.ip4; in inet_sk_rebuild_header()
1332 inet_sk_init_flowi4(inet, fl4); in inet_sk_rebuild_header()
1333 rt = ip_route_output_flow(sock_net(sk), fl4, sk); in inet_sk_rebuild_header()
H A Digmp.c348 const struct flowi4 *fl4) in igmpv3_get_srcaddr() argument
357 if (fl4->saddr == ifa->ifa_local) in igmpv3_get_srcaddr()
358 return fl4->saddr; in igmpv3_get_srcaddr()
371 struct flowi4 fl4; in igmpv3_newpack() local
388 rt = ip_route_output_ports(net, &fl4, NULL, IGMPV3_ALL_MCR, 0, in igmpv3_newpack()
411 pip->daddr = fl4.daddr; in igmpv3_newpack()
414 pip->saddr = igmpv3_get_srcaddr(dev, &fl4); in igmpv3_newpack()
752 struct flowi4 fl4; in igmp_send_report() local
768 rt = ip_route_output_ports(net, &fl4, NULL, dst, 0, in igmp_send_report()
797 iph->saddr = fl4.saddr; in igmp_send_report()
/linux/include/net/
H A Dip_tunnels.h357 static inline void ip_tunnel_init_flow(struct flowi4 *fl4, in ip_tunnel_init_flow() argument
365 memset(fl4, 0, sizeof(*fl4)); in ip_tunnel_init_flow()
368 fl4->flowi4_l3mdev = l3mdev_master_upper_ifindex_by_index(net, oif); in ip_tunnel_init_flow()
370 fl4->flowi4_oif = fl4->flowi4_l3mdev ? 0 : oif; in ip_tunnel_init_flow()
373 fl4->daddr = daddr; in ip_tunnel_init_flow()
374 fl4->saddr = saddr; in ip_tunnel_init_flow()
375 fl4->flowi4_dscp = inet_dsfield_to_dscp(tos); in ip_tunnel_init_flow()
376 fl4->flowi4_proto = proto; in ip_tunnel_init_flow()
377 fl4->fl4_gre_key = key; in ip_tunnel_init_flow()
378 fl4->flowi4_mark = mark; in ip_tunnel_init_flow()
[all …]
H A Dip_fib.h359 struct flowi4 *fl4, in fib4_rules_early_flow_dissect() argument
420 struct flowi4 *fl4, in fib4_rules_early_flow_dissect() argument
432 fl4->fl4_sport = flkeys->ports.src; in fib4_rules_early_flow_dissect()
433 fl4->fl4_dport = flkeys->ports.dst; in fib4_rules_early_flow_dissect()
434 fl4->flowi4_proto = flkeys->basic.ip_proto; in fib4_rules_early_flow_dissect()
441 static inline bool fib_dscp_masked_match(dscp_t dscp, const struct flowi4 *fl4) in fib_dscp_masked_match() argument
443 return dscp == (fl4->flowi4_dscp & INET_DSCP_LEGACY_TOS_MASK); in fib_dscp_masked_match()
544 int fib_multipath_hash(const struct net *net, const struct flowi4 *fl4,
578 const struct flowi4 *fl4);
580 struct flowi4 *fl4, const struct sk_buff *skb);
H A Dip.h221 int ip_append_data(struct sock *sk, struct flowi4 *fl4,
230 struct sk_buff *__ip_make_skb(struct sock *sk, struct flowi4 *fl4,
234 int ip_push_pending_frames(struct sock *sk, struct flowi4 *fl4);
236 struct sk_buff *ip_make_skb(struct sock *sk, struct flowi4 *fl4,
245 static inline struct sk_buff *ip_finish_skb(struct sock *sk, struct flowi4 *fl4) in ip_finish_skb() argument
247 return __ip_make_skb(sk, fl4, &sk->sk_write_queue, &inet_sk(sk)->cork.base); in ip_finish_skb()
/linux/net/sctp/
H A Dprotocol.c287 static void sctp_v4_dst_saddr(union sctp_addr *saddr, struct flowi4 *fl4, in sctp_v4_dst_saddr() argument
292 saddr->v4.sin_addr.s_addr = fl4->saddr; in sctp_v4_dst_saddr()
423 struct flowi4 *fl4 = &_fl.u.ip4; in sctp_v4_get_dst() local
437 fl4->daddr = daddr->v4.sin_addr.s_addr; in sctp_v4_get_dst()
438 fl4->fl4_dport = daddr->v4.sin_port; in sctp_v4_get_dst()
439 fl4->flowi4_proto = IPPROTO_SCTP; in sctp_v4_get_dst()
441 fl4->flowi4_dscp = dscp; in sctp_v4_get_dst()
442 fl4->flowi4_scope = ip_sock_rt_scope(asoc->base.sk); in sctp_v4_get_dst()
443 fl4->flowi4_oif = asoc->base.sk->sk_bound_dev_if; in sctp_v4_get_dst()
444 fl4 in sctp_v4_get_dst()
1042 struct flowi4 *fl4 = &t->fl.u.ip4; sctp_v4_xmit() local
[all...]
/linux/net/xfrm/
H A Dxfrm_nat_keepalive.c46 struct flowi4 fl4; in nat_keepalive_send_ipv4() local
52 flowi4_init_output(&fl4, 0 /* oif */, skb->mark, tos, in nat_keepalive_send_ipv4()
57 rt = ip_route_output_key(net, &fl4); in nat_keepalive_send_ipv4()
66 err = ip_build_and_send_pkt(skb, sk, fl4.saddr, fl4.daddr, NULL, tos); in nat_keepalive_send_ipv4()
H A Dxfrm_policy.c219 const struct flowi4 *fl4 = &fl->u.ip4; in __xfrm4_selector_match() local
221 return addr4_match(fl4->daddr, sel->daddr.a4, sel->prefixlen_d) && in __xfrm4_selector_match()
222 addr4_match(fl4->saddr, sel->saddr.a4, sel->prefixlen_s) && in __xfrm4_selector_match()
223 !((xfrm_flowi_dport(fl, &fl4->uli) ^ sel->dport) & sel->dport_mask) && in __xfrm4_selector_match()
224 !((xfrm_flowi_sport(fl, &fl4->uli) ^ sel->sport) & sel->sport_mask) && in __xfrm4_selector_match()
225 (fl4->flowi4_proto == sel->proto || !sel->proto) && in __xfrm4_selector_match()
226 (fl4->flowi4_oif == sel->ifindex || !sel->ifindex); in __xfrm4_selector_match()
3438 struct flowi4 *fl4 = &fl->u.ip4; in decode_session4() local
3440 memset(fl4, 0, sizeof(struct flowi4)); in decode_session4()
3443 fl4->saddr = flkeys->addrs.ipv4.dst; in decode_session4()
[all …]
/linux/net/dccp/
H A Dipv4.c
/linux/drivers/net/
H A Damt.c622 struct flowi4 fl4; in amt_send_discovery() local
634 rt = ip_route_output_ports(amt->net, &fl4, sock->sk, in amt_send_discovery()
711 struct flowi4 fl4; in amt_send_request() local
723 rt = ip_route_output_ports(amt->net, &fl4, sock->sk, in amt_send_request()
1005 struct flowi4 fl4; in amt_send_membership_update() local
1019 memset(&fl4, 0, sizeof(struct flowi4)); in amt_send_membership_update()
1020 fl4.flowi4_oif = amt->stream_dev->ifindex; in amt_send_membership_update()
1021 fl4.daddr = amt->remote_ip; in amt_send_membership_update()
1022 fl4.saddr = amt->local_ip; in amt_send_membership_update()
1023 fl4.flowi4_dscp = inet_dsfield_to_dscp(AMT_TOS); in amt_send_membership_update()
[all …]
H A Dvrf.c495 struct flowi4 fl4; in vrf_process_v4_outbound() local
504 memset(&fl4, 0, sizeof(fl4)); in vrf_process_v4_outbound()
506 fl4.flowi4_l3mdev = vrf_dev->ifindex; in vrf_process_v4_outbound()
507 fl4.flowi4_iif = LOOPBACK_IFINDEX; in vrf_process_v4_outbound()
508 fl4.flowi4_dscp = ip4h_dscp(ip4h); in vrf_process_v4_outbound()
509 fl4.flowi4_flags = FLOWI_FLAG_ANYSRC; in vrf_process_v4_outbound()
510 fl4.flowi4_proto = ip4h->protocol; in vrf_process_v4_outbound()
511 fl4.daddr = ip4h->daddr; in vrf_process_v4_outbound()
512 fl4.saddr = ip4h->saddr; in vrf_process_v4_outbound()
514 rt = ip_route_output_flow(net, &fl4, NULL); in vrf_process_v4_outbound()
/linux/net/netfilter/
H A Dxt_TCPMSS.c52 struct flowi4 *fl4 = &fl.u.ip4; in tcpmss_reverse_mtu() local
53 memset(fl4, 0, sizeof(*fl4)); in tcpmss_reverse_mtu()
54 fl4->daddr = ip_hdr(skb)->saddr; in tcpmss_reverse_mtu()
/linux/drivers/net/ethernet/chelsio/libcxgb/
H A Dlibcxgb_cm.c98 struct flowi4 fl4; in cxgb_find_route() local
101 rt = ip_route_output_ports(&init_net, &fl4, NULL, peer_ip, local_ip, in cxgb_find_route()
/linux/drivers/net/ethernet/mellanox/mlx5/core/en_accel/
H A Dipsec.c265 struct flowi4 fl4 = {}; in mlx5e_ipsec_init_macs() local
285 fl4.flowi4_proto = x->sel.proto; in mlx5e_ipsec_init_macs()
286 fl4.daddr = addrs->saddr.a4; in mlx5e_ipsec_init_macs()
287 fl4.saddr = addrs->daddr.a4; in mlx5e_ipsec_init_macs()
305 fl4.flowi4_proto = x->sel.proto; in mlx5e_ipsec_init_macs()
306 fl4.daddr = addrs->daddr.a4; in mlx5e_ipsec_init_macs()
307 fl4.saddr = addrs->saddr.a4; in mlx5e_ipsec_init_macs()
332 rt = ip_route_output_key(dev_net(netdev), &fl4); in mlx5e_ipsec_init_macs()
/linux/drivers/net/ethernet/marvell/prestera/
H A Dprestera_router.c250 struct flowi4 fl4; in prestera_util_kern_get_route() local
255 memset(&fl4, 0, sizeof(fl4)); in prestera_util_kern_get_route()
256 fl4.daddr = *addr; in prestera_util_kern_get_route()
257 return fib_lookup(&init_net, &fl4, res, 0 /* FIB_LOOKUP_NOREF */); in prestera_util_kern_get_route()
/linux/net/rxrpc/
H A Dpeer_object.c158 struct flowi4 *fl4 = &fl.u.ip4; in rxrpc_assess_MTU_size() local
174 net, fl4, NULL, in rxrpc_assess_MTU_size()

12