Lines Matching refs:fl4
315 struct flowi4 *fl4, int type, int code) in icmpv4_xrlim_allow() argument
330 peer = inet_getpeer_v4(net->ipv4.peers, fl4->daddr, vif, 1); in icmpv4_xrlim_allow()
369 struct flowi4 *fl4, in icmp_push_reply() argument
376 if (ip_append_data(sk, fl4, icmp_glue_bits, icmp_param, in icmp_push_reply()
395 ip_push_pending_frames(sk, fl4); in icmp_push_reply()
408 struct flowi4 fl4; in icmp_reply() local
444 memset(&fl4, 0, sizeof(fl4)); in icmp_reply()
445 fl4.daddr = daddr; in icmp_reply()
446 fl4.saddr = saddr; in icmp_reply()
447 fl4.flowi4_mark = mark; in icmp_reply()
448 fl4.flowi4_uid = sock_net_uid(net, NULL); in icmp_reply()
449 fl4.flowi4_tos = RT_TOS(ip_hdr(skb)->tos); in icmp_reply()
450 fl4.flowi4_proto = IPPROTO_ICMP; in icmp_reply()
451 fl4.flowi4_oif = l3mdev_master_ifindex(skb->dev); in icmp_reply()
452 security_skb_classify_flow(skb, flowi4_to_flowi_common(&fl4)); in icmp_reply()
453 rt = ip_route_output_key(net, &fl4); in icmp_reply()
456 if (icmpv4_xrlim_allow(net, rt, &fl4, type, code)) in icmp_reply()
457 icmp_push_reply(icmp_param, &fl4, &ipc, &rt); in icmp_reply()
483 struct flowi4 *fl4, in icmp_route_lookup() argument
495 memset(fl4, 0, sizeof(*fl4)); in icmp_route_lookup()
496 fl4->daddr = (param->replyopts.opt.opt.srr ? in icmp_route_lookup()
498 fl4->saddr = saddr; in icmp_route_lookup()
499 fl4->flowi4_mark = mark; in icmp_route_lookup()
500 fl4->flowi4_uid = sock_net_uid(net, NULL); in icmp_route_lookup()
501 fl4->flowi4_tos = RT_TOS(tos); in icmp_route_lookup()
502 fl4->flowi4_proto = IPPROTO_ICMP; in icmp_route_lookup()
503 fl4->fl4_icmp_type = type; in icmp_route_lookup()
504 fl4->fl4_icmp_code = code; in icmp_route_lookup()
506 fl4->flowi4_oif = l3mdev_master_ifindex(route_lookup_dev); in icmp_route_lookup()
508 security_skb_classify_flow(skb_in, flowi4_to_flowi_common(fl4)); in icmp_route_lookup()
509 rt = ip_route_output_key_hash(net, fl4, skb_in); in icmp_route_lookup()
517 flowi4_to_flowi(fl4), NULL, 0); in icmp_route_lookup()
564 memcpy(fl4, &fl4_dec, sizeof(*fl4)); in icmp_route_lookup()
601 struct flowi4 fl4; in __icmp_send() local
742 rt = icmp_route_lookup(net, &fl4, skb_in, iph, saddr, tos, mark, in __icmp_send()
748 if (!icmpv4_xrlim_allow(net, rt, &fl4, type, code)) in __icmp_send()
768 if (!fl4.saddr) in __icmp_send()
769 fl4.saddr = htonl(INADDR_DUMMY); in __icmp_send()
771 icmp_push_reply(&icmp_param, &fl4, &ipc, &rt); in __icmp_send()