Lines Matching refs:ipc
503 struct ipcm_cookie ipc; in raw_sendmsg() local
561 ipcm_init_sk(&ipc, inet); in raw_sendmsg()
564 err = ip_cmsg_send(sk, msg, &ipc, false); in raw_sendmsg()
566 kfree(ipc.opt); in raw_sendmsg()
569 if (ipc.opt) in raw_sendmsg()
573 saddr = ipc.addr; in raw_sendmsg()
574 ipc.addr = daddr; in raw_sendmsg()
576 if (!ipc.opt) { in raw_sendmsg()
584 ipc.opt = &opt_copy.opt; in raw_sendmsg()
589 if (ipc.opt) { in raw_sendmsg()
596 if (ipc.opt->opt.srr) { in raw_sendmsg()
599 daddr = ipc.opt->opt.faddr; in raw_sendmsg()
602 tos = get_rtconn_flags(&ipc, sk); in raw_sendmsg()
607 if (!ipc.oif || netif_index_is_l3_master(sock_net(sk), ipc.oif)) in raw_sendmsg()
608 ipc.oif = inet->mc_index; in raw_sendmsg()
611 } else if (!ipc.oif) { in raw_sendmsg()
612 ipc.oif = inet->uc_index; in raw_sendmsg()
620 if (ipc.oif != inet->uc_index && in raw_sendmsg()
621 ipc.oif == l3mdev_master_ifindex_by_index(sock_net(sk), in raw_sendmsg()
623 ipc.oif = inet->uc_index; in raw_sendmsg()
627 flowi4_init_output(&fl4, ipc.oif, ipc.sockc.mark, tos, in raw_sendmsg()
661 &rt, msg->msg_flags, &ipc.sockc); in raw_sendmsg()
664 if (!ipc.addr) in raw_sendmsg()
665 ipc.addr = fl4.daddr; in raw_sendmsg()
669 &ipc, &rt, msg->msg_flags); in raw_sendmsg()
681 kfree(ipc.opt); in raw_sendmsg()