Lines Matching refs:fl4
338 static int raw_send_hdrinc(struct sock *sk, struct flowi4 *fl4, in raw_send_hdrinc() argument
353 ip_local_error(sk, EMSGSIZE, fl4->daddr, inet->inet_dport, in raw_send_hdrinc()
402 iph->saddr = fl4->saddr; in raw_send_hdrinc()
435 static int raw_probe_proto_opt(struct raw_frag_vec *rfv, struct flowi4 *fl4) in raw_probe_proto_opt() argument
439 if (fl4->flowi4_proto != IPPROTO_ICMP) in raw_probe_proto_opt()
449 fl4->fl4_icmp_type = rfv->hdr.icmph.type; in raw_probe_proto_opt()
450 fl4->fl4_icmp_code = rfv->hdr.icmph.code; in raw_probe_proto_opt()
492 struct flowi4 fl4; in raw_sendmsg() local
599 flowi4_init_output(&fl4, ipc.oif, sk->sk_mark, tos, in raw_sendmsg()
607 err = l3mdev_get_saddr(net, ipc.oif, &fl4); in raw_sendmsg()
616 err = raw_probe_proto_opt(&rfv, &fl4); in raw_sendmsg()
621 security_sk_classify_flow(sk, flowi4_to_flowi(&fl4)); in raw_sendmsg()
622 rt = ip_route_output_flow(net, &fl4, sk); in raw_sendmsg()
638 err = raw_send_hdrinc(sk, &fl4, msg, len, in raw_sendmsg()
645 ipc.addr = fl4.daddr; in raw_sendmsg()
647 err = ip_append_data(sk, &fl4, raw_getfrag, in raw_sendmsg()
653 err = ip_push_pending_frames(sk, &fl4); in raw_sendmsg()