Lines Matching refs:ipc
706 struct ipcm_cookie ipc; in ping_v4_sendmsg() local
742 ipcm_init_sk(&ipc, inet); in ping_v4_sendmsg()
745 err = ip_cmsg_send(sk, msg, &ipc, false); in ping_v4_sendmsg()
747 kfree(ipc.opt); in ping_v4_sendmsg()
750 if (ipc.opt) in ping_v4_sendmsg()
753 if (!ipc.opt) { in ping_v4_sendmsg()
761 ipc.opt = &opt_copy.opt; in ping_v4_sendmsg()
766 saddr = ipc.addr; in ping_v4_sendmsg()
767 ipc.addr = faddr = daddr; in ping_v4_sendmsg()
769 if (ipc.opt && ipc.opt->opt.srr) { in ping_v4_sendmsg()
774 faddr = ipc.opt->opt.faddr; in ping_v4_sendmsg()
776 tos = get_rttos(&ipc, inet); in ping_v4_sendmsg()
779 (ipc.opt && ipc.opt->opt.is_strictroute)) { in ping_v4_sendmsg()
784 if (!ipc.oif || netif_index_is_l3_master(sock_net(sk), ipc.oif)) in ping_v4_sendmsg()
785 ipc.oif = inet->mc_index; in ping_v4_sendmsg()
788 } else if (!ipc.oif) in ping_v4_sendmsg()
789 ipc.oif = inet->uc_index; in ping_v4_sendmsg()
791 flowi4_init_output(&fl4, ipc.oif, ipc.sockc.mark, tos, in ping_v4_sendmsg()
818 if (!ipc.addr) in ping_v4_sendmsg()
819 ipc.addr = fl4.daddr; in ping_v4_sendmsg()
833 0, &ipc, &rt, msg->msg_flags); in ping_v4_sendmsg()
844 kfree(ipc.opt); in ping_v4_sendmsg()