Use get_myaddrs() instead and join the glorious future.
Signed-off-by: Sage Weil <sage@redhat.com>
f->dump_int("dentry_count", lru.lru_get_size());
f->dump_int("dentry_pinned_count", lru.lru_get_num_pinned());
f->dump_int("id", get_nodeid().v);
- entity_inst_t inst(messenger->get_myname(), messenger->get_myaddr());
+ entity_inst_t inst(messenger->get_myname(), messenger->get_myaddr_legacy());
f->dump_object("inst", inst);
f->dump_object("addr", inst.addr);
f->dump_stream("inst_str") << inst.name << " " << inst.addr.get_legacy_str();
void Client::dump_mds_sessions(Formatter *f)
{
f->dump_int("id", get_nodeid().v);
- entity_inst_t inst(messenger->get_myname(), messenger->get_myaddr());
+ entity_inst_t inst(messenger->get_myname(), messenger->get_myaddr_legacy());
f->dump_object("inst", inst);
f->dump_stream("inst_str") << inst;
f->dump_stream("addr_str") << inst.addr;
bool MonClient::ms_dispatch(Message *m)
{
+#warning fixme, my_addr should be entity_addrvec_t my_addrs
if (my_addr == entity_addr_t())
- my_addr = messenger->get_myaddr();
+ my_addr = messenger->get_myaddr_legacy();
// we only care about these message types
switch (m->get_type()) {
void Monitor::collect_metadata(Metadata *m)
{
collect_sys_info(m, g_ceph_context);
- (*m)["addr"] = stringify(messenger->get_myaddr());
+ (*m)["addrs"] = stringify(messenger->get_myaddrs());
(*m)["compression_algorithms"] = collect_compression_algorithms();
// infer storage device
register_cluster_logger();
// am i named properly?
- string cur_name = monmap->get_name(messenger->get_myaddr());
+ string cur_name = monmap->get_name(messenger->get_myaddrs());
if (cur_name != name) {
dout(10) << " renaming myself from " << cur_name << " -> " << name << dendl;
send_mon_message(
MonSession *session = op->get_session();
PaxosServiceMessage *req = op->get_req<PaxosServiceMessage>();
- if (req->get_source().is_mon() && req->get_source_addr() != messenger->get_myaddr()) {
+ if (req->get_source().is_mon() && req->get_source_addrs() != messenger->get_myaddrs()) {
dout(10) << "forward_request won't forward (non-local) mon request " << *req << dendl;
} else if (session->proxy_con) {
dout(10) << "forward_request won't double fwd request " << *req << dendl;
* @return A const reference to the address this Messenger
* currently believes to be its own.
*/
- entity_addr_t get_myaddr() {
- return my_addrs->front();
- }
const entity_addrvec_t& get_myaddrs() {
return *my_addrs;
}
SocketOptions opts;
opts.priority = async_msgr->get_socket_priority();
- opts.connect_bind_addr = msgr->get_myaddr();
- ssize_t r = worker->connect(get_peer_addr(), opts, &cs);
+ opts.connect_bind_addr = msgr->get_myaddrs().front();
+ ssize_t r = worker->connect(target_addr, opts, &cs);
if (r < 0) {
protocol->fault();
return;
else
ceph_assert(msgr->get_need_addr()); // should still be true.
- if (msgr->get_myaddr().get_port() == 0) {
+ if (msgr->get_myaddr_legacy().get_port() == 0) {
msgr->set_myaddrs(entity_addrvec_t(listen_addr));
}
- entity_addr_t addr = msgr->get_myaddr();
+ entity_addr_t addr = msgr->get_myaddr_legacy();
addr.nonce = nonce;
msgr->set_myaddrs(entity_addrvec_t(addr));
{
ldout(msgr->cct,1) << __func__ << " avoid " << avoid_ports << dendl;
- entity_addr_t addr = msgr->get_myaddr();
+ entity_addr_t addr = msgr->get_myaddr_legacy();
set<int> new_avoid = avoid_ports;
new_avoid.insert(addr.get_port());
addr.set_port(0);
#undef dout_prefix
#define dout_prefix *_dout << *this
ostream& Pipe::_pipe_prefix(std::ostream &out) const {
- return out << "-- " << msgr->get_myaddr() << " >> " << peer_addr << " pipe(" << this
+ return out << "-- " << msgr->get_myaddr_legacy() << " >> " << peer_addr
+ << " pipe(" << this
<< " sd=" << sd << " :" << port
<< " s=" << state
<< " pgs=" << peer_global_seq
if (!peer_addr.is_blank_ip()) {
addr_family = peer_addr.get_family();
} else {
- addr_family = msgr->get_myaddr().get_family();
+ addr_family = msgr->get_myaddr_legacy().get_family();
}
switch (addr_family) {
case AF_INET:
set_socket_options();
{
- entity_addr_t addr2bind = msgr->get_myaddr();
+ entity_addr_t addr2bind = msgr->get_myaddr_legacy();
if (msgr->cct->_conf->ms_bind_before_connect && (!addr2bind.is_blank_ip())) {
addr2bind.set_port(0);
int r = ::bind(sd , addr2bind.get_sockaddr(), addr2bind.get_sockaddr_len());
#undef dout_prefix
#define dout_prefix _prefix(_dout, this)
static ostream& _prefix(std::ostream *_dout, SimpleMessenger *msgr) {
- return *_dout << "-- " << msgr->get_myaddr() << " ";
+ return *_dout << "-- " << msgr->get_myaddr_legacy() << " ";
}
void SimpleMessenger::ready()
{
- ldout(cct,10) << "ready " << get_myaddr() << dendl;
+ ldout(cct,10) << "ready " << get_myaddr_legacy() << dendl;
dispatch_queue.start();
lock.Lock();
int SimpleMessenger::shutdown()
{
- ldout(cct,10) << "shutdown " << get_myaddr() << dendl;
+ ldout(cct,10) << "shutdown " << get_myaddr_legacy() << dendl;
mark_down_all();
// break ref cycles on the loopback connection
#undef dout_prefix
#define dout_prefix _prefix(_dout, this)
static ostream& _prefix(std::ostream *_dout, XioMessenger *msgr) {
- return *_dout << "-- " << msgr->get_myaddr() << " ";
+ return *_dout << "-- " << msgr->get_myaddr_legacy() << " ";
}
XioMessenger::XioMessenger(CephContext *cct, entity_name_t name,
{
const entity_inst_t &inst = xcon->get_messenger()->get_myinst();
hdr.peer_type = inst.name.type();
- hdr.addr = xcon->get_messenger()->get_myaddr();
+ hdr.addr = xcon->get_messenger()->get_myaddr_legacy();
hdr.hdr->src.type = inst.name.type();
hdr.hdr->src.num = inst.name.num();
hdr.msg_cnt = _ex_cnt+1;
else
cmd.push_back("\"blacklistop\":\"rm\",");
stringstream ss;
- ss << messenger->get_myaddr();
+ // this is somewhat imprecise in that we are blacklisting our first addr only
+ ss << messenger->get_myaddrs().front().get_legacy_str();
cmd.push_back("\"addr\":\"" + ss.str() + "\"");
MMonCommand *m = new MMonCommand(monc->get_fsid());
ConnectionRef conn;
if (addr == peer_inst.addr) {
conn = peer_connection;
- } else if (addr == get_myaddr()) {
+ } else if (addr == get_myaddr_legacy()) {
conn = loopback_connection;
}
if (conn) {
ceph_assert(msg != NULL);
msg->set_default_policy(Messenger::Policy::lossy_client(0));
dout(0) << __func__ << " starting messenger at "
- << msg->get_myaddr() << dendl;
+ << msg->get_myaddrs() << dendl;
msg->start();
return 0;
}
messenger->set_default_policy(
Messenger::Policy::lossy_client(CEPH_FEATURE_OSDREPLYMUX));
dout(10) << "ClientStub::" << __func__ << " starting messenger at "
- << messenger->get_myaddr() << dendl;
+ << messenger->get_myaddrs() << dendl;
objecter.reset(new Objecter(cct, messenger.get(), &monc, NULL, 0, 0));
ceph_assert(objecter.get() != NULL);
for (; num_entries > 0; --num_entries) {
LogEntry e;
e.rank = messenger->get_myname();
- e.addrs.v.push_back(messenger->get_myaddr());
+ e.addrs = messenger->get_myaddrs();
e.stamp = now;
e.seq = seq++;
e.prio = CLOG_DEBUG;