msg/async/ProtocolV2: take care of features when replacing the socket
reuse_connection() can be called on exproto in BANNER_CONNECTING
(i.e. without peer_supported_features and with tx/rx_frame_asm set to
msgr2.0), but this state isn't carried over. If the donor connection
is msgr2.1, this leads to repeated connection faults on crc or auth tag
mismatches because we end up assembling 2.0 frames while the peer is
expecting 2.1 frames.
Fixes: https://tracker.ceph.com/issues/46180
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit
baff20a14bb322fc11bf13495bb8f5d5f4626116)
Conflicts:
src/test/msgr/test_msgr.cc [ commits
5e3aa5d15d2d
("ceph_test_msgr: remove simple") and
bfb8c741cd1e
("test/msgr: s/Mutex/ceph::mutex/") not in nautilus ]