Lines Matching refs:fl4

307 			       struct flowi4 *fl4, int type, int code)  in icmpv4_xrlim_allow()  argument
322 peer = inet_getpeer_v4(net->ipv4.peers, fl4->daddr, vif, 1); in icmpv4_xrlim_allow()
362 struct flowi4 *fl4, in icmp_push_reply() argument
367 if (ip_append_data(sk, fl4, icmp_glue_bits, icmp_param, in icmp_push_reply()
386 ip_push_pending_frames(sk, fl4); in icmp_push_reply()
399 struct flowi4 fl4; in icmp_reply() local
435 memset(&fl4, 0, sizeof(fl4)); in icmp_reply()
436 fl4.daddr = daddr; in icmp_reply()
437 fl4.saddr = saddr; in icmp_reply()
438 fl4.flowi4_mark = mark; in icmp_reply()
439 fl4.flowi4_uid = sock_net_uid(net, NULL); in icmp_reply()
440 fl4.flowi4_tos = RT_TOS(ip_hdr(skb)->tos); in icmp_reply()
441 fl4.flowi4_proto = IPPROTO_ICMP; in icmp_reply()
442 fl4.flowi4_oif = l3mdev_master_ifindex(skb->dev); in icmp_reply()
443 security_skb_classify_flow(skb, flowi4_to_flowi_common(&fl4)); in icmp_reply()
444 rt = ip_route_output_key(net, &fl4); in icmp_reply()
447 if (icmpv4_xrlim_allow(net, rt, &fl4, type, code)) in icmp_reply()
448 icmp_push_reply(sk, icmp_param, &fl4, &ipc, &rt); in icmp_reply()
474 struct flowi4 *fl4, in icmp_route_lookup() argument
486 memset(fl4, 0, sizeof(*fl4)); in icmp_route_lookup()
487 fl4->daddr = (param->replyopts.opt.opt.srr ? in icmp_route_lookup()
489 fl4->saddr = saddr; in icmp_route_lookup()
490 fl4->flowi4_mark = mark; in icmp_route_lookup()
491 fl4->flowi4_uid = sock_net_uid(net, NULL); in icmp_route_lookup()
492 fl4->flowi4_tos = RT_TOS(tos); in icmp_route_lookup()
493 fl4->flowi4_proto = IPPROTO_ICMP; in icmp_route_lookup()
494 fl4->fl4_icmp_type = type; in icmp_route_lookup()
495 fl4->fl4_icmp_code = code; in icmp_route_lookup()
497 fl4->flowi4_oif = l3mdev_master_ifindex(route_lookup_dev); in icmp_route_lookup()
499 security_skb_classify_flow(skb_in, flowi4_to_flowi_common(fl4)); in icmp_route_lookup()
500 rt = ip_route_output_key_hash(net, fl4, skb_in); in icmp_route_lookup()
508 flowi4_to_flowi(fl4), NULL, 0); in icmp_route_lookup()
555 memcpy(fl4, &fl4_dec, sizeof(*fl4)); in icmp_route_lookup()
592 struct flowi4 fl4; in __icmp_send() local
733 rt = icmp_route_lookup(net, &fl4, skb_in, iph, saddr, tos, mark, in __icmp_send()
739 if (!icmpv4_xrlim_allow(net, rt, &fl4, type, code)) in __icmp_send()
759 if (!fl4.saddr) in __icmp_send()
760 fl4.saddr = htonl(INADDR_DUMMY); in __icmp_send()
762 icmp_push_reply(sk, &icmp_param, &fl4, &ipc, &rt); in __icmp_send()