From 334bbad469dfafb45db9089f53bbc49a323c4ef8 Mon Sep 17 00:00:00 2001 From: Radoslaw Zarzynski Date: Thu, 9 Sep 2021 14:42:04 +0000 Subject: [PATCH] crimson/net: assert the address is v2 on attempt to bind. Signed-off-by: Radoslaw Zarzynski --- src/crimson/net/SocketMessenger.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/crimson/net/SocketMessenger.cc b/src/crimson/net/SocketMessenger.cc index 12010b8625f3b..6b5dd19f1e798 100644 --- a/src/crimson/net/SocketMessenger.cc +++ b/src/crimson/net/SocketMessenger.cc @@ -88,7 +88,11 @@ SocketMessenger::bind_ertr::future<> SocketMessenger::try_bind(const entity_addrvec_t& addrs, uint32_t min_port, uint32_t max_port) { - auto addr = addrs.front(); + // the classical OSD iterates over the addrvec and tries to listen on each + // addr. crimson doesn't need to follow as there is a consensus we need to + // worry only about proto v2. + assert(addrs.size() == 1); + auto addr = addrs.msgr2_addr(); if (addr.get_port() != 0) { return do_bind(addrs).safe_then([this] { logger().info("{} try_bind: done", *this); -- 2.39.5