From: Ricardo Dias Date: Mon, 7 Jan 2019 13:19:33 +0000 (+0000) Subject: msg/async: msgr2: send client v2 address when only v1 address is defined X-Git-Tag: v14.1.0~271^2~36 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4341c1d6ee2741991065fab00ffef6395aff7870;p=ceph.git msg/async: msgr2: send client v2 address when only v1 address is defined Signed-off-by: Ricardo Dias --- diff --git a/src/msg/async/ProtocolV2.cc b/src/msg/async/ProtocolV2.cc index 5a1e80068ed9..3066aceb63d7 100644 --- a/src/msg/async/ProtocolV2.cc +++ b/src/msg/async/ProtocolV2.cc @@ -2178,8 +2178,17 @@ CtPtr ProtocolV2::send_client_ident() { flags |= CEPH_MSG_CONNECT_LOSSY; } - ClientIdentFrame client_ident(this, messenger->get_myaddrs(), - messenger->get_myname().num(), global_seq, + entity_addrvec_t maddrs = messenger->get_myaddrs(); + if (!messenger->get_myaddrs().front().is_msgr2()) { + entity_addr_t a = messenger->get_myaddrs().front(); + a.set_type(entity_addr_t::TYPE_MSGR2); + ldout(cct, 20) << "encoding addr " << a << " instead of non-v2 myaddrs " + << messenger->get_myaddrs() << dendl; + maddrs.v.push_back(a); + } + + ClientIdentFrame client_ident(this, maddrs, messenger->get_myname().num(), + global_seq, connection->policy.features_supported, connection->policy.features_required, flags);