Lines Matching refs:fl4
344 static int raw_send_hdrinc(struct sock *sk, struct flowi4 *fl4, in raw_send_hdrinc() argument
359 ip_local_error(sk, EMSGSIZE, fl4->daddr, inet->inet_dport, in raw_send_hdrinc()
415 iph->saddr = fl4->saddr; in raw_send_hdrinc()
448 static int raw_probe_proto_opt(struct raw_frag_vec *rfv, struct flowi4 *fl4) in raw_probe_proto_opt() argument
452 if (fl4->flowi4_proto != IPPROTO_ICMP) in raw_probe_proto_opt()
462 fl4->fl4_icmp_type = rfv->hdr.icmph.type; in raw_probe_proto_opt()
463 fl4->fl4_icmp_code = rfv->hdr.icmph.code; in raw_probe_proto_opt()
505 struct flowi4 fl4; in raw_sendmsg() local
627 flowi4_init_output(&fl4, ipc.oif, ipc.sockc.mark, tos, in raw_sendmsg()
638 err = raw_probe_proto_opt(&rfv, &fl4); in raw_sendmsg()
643 security_sk_classify_flow(sk, flowi4_to_flowi_common(&fl4)); in raw_sendmsg()
644 rt = ip_route_output_flow(net, &fl4, sk); in raw_sendmsg()
660 err = raw_send_hdrinc(sk, &fl4, msg, len, in raw_sendmsg()
665 ipc.addr = fl4.daddr; in raw_sendmsg()
667 err = ip_append_data(sk, &fl4, raw_getfrag, in raw_sendmsg()
673 err = ip_push_pending_frames(sk, &fl4); in raw_sendmsg()
691 dst_confirm_neigh(&rt->dst, &fl4.daddr); in raw_sendmsg()