Lines Matching refs:ipc
701 struct ipcm_cookie ipc; in ping_v4_sendmsg() local
737 ipcm_init_sk(&ipc, inet); in ping_v4_sendmsg()
740 err = ip_cmsg_send(sk, msg, &ipc, false); in ping_v4_sendmsg()
742 kfree(ipc.opt); in ping_v4_sendmsg()
745 if (ipc.opt) in ping_v4_sendmsg()
748 if (!ipc.opt) { in ping_v4_sendmsg()
756 ipc.opt = &opt_copy.opt; in ping_v4_sendmsg()
761 saddr = ipc.addr; in ping_v4_sendmsg()
762 ipc.addr = faddr = daddr; in ping_v4_sendmsg()
764 if (ipc.opt && ipc.opt->opt.srr) { in ping_v4_sendmsg()
769 faddr = ipc.opt->opt.faddr; in ping_v4_sendmsg()
771 scope = ip_sendmsg_scope(inet, &ipc, msg); in ping_v4_sendmsg()
774 if (!ipc.oif || netif_index_is_l3_master(sock_net(sk), ipc.oif)) in ping_v4_sendmsg()
775 ipc.oif = READ_ONCE(inet->mc_index); in ping_v4_sendmsg()
778 } else if (!ipc.oif) in ping_v4_sendmsg()
779 ipc.oif = READ_ONCE(inet->uc_index); in ping_v4_sendmsg()
781 flowi4_init_output(&fl4, ipc.oif, ipc.sockc.mark, in ping_v4_sendmsg()
782 ipc.tos & INET_DSCP_MASK, scope, in ping_v4_sendmsg()
808 if (!ipc.addr) in ping_v4_sendmsg()
809 ipc.addr = fl4.daddr; in ping_v4_sendmsg()
823 sizeof(struct icmphdr), &ipc, &rt, in ping_v4_sendmsg()
835 kfree(ipc.opt); in ping_v4_sendmsg()