Use separate port numbers for RDMA-CM
This commit is contained in:
+2
-1
@@ -376,7 +376,8 @@ void osd_t::bind_socket()
|
||||
{
|
||||
for (auto & bind_address: bind_addresses)
|
||||
{
|
||||
auto listener = msgr.rdmacm_listen(bind_address, listening_port, &listening_port, log_level);
|
||||
// iWARP shares port numbers with TCP traffic and can't listen on the same port with TCP and RDMACM
|
||||
auto listener = msgr.rdmacm_listen(bind_address, rdmacm_port, &rdmacm_port, log_level);
|
||||
if (listener)
|
||||
rdmacm_listeners.push_back(listener);
|
||||
}
|
||||
|
||||
@@ -206,6 +206,7 @@ class osd_t
|
||||
std::vector<int> listen_fds;
|
||||
#ifdef WITH_RDMACM
|
||||
std::vector<rdma_cm_id *> rdmacm_listeners;
|
||||
int rdmacm_port = 0;
|
||||
#endif
|
||||
ring_consumer_t consumer;
|
||||
|
||||
|
||||
@@ -174,7 +174,7 @@ json11::Json osd_t::get_osd_state()
|
||||
st["port"] = listening_port;
|
||||
#ifdef WITH_RDMACM
|
||||
if (rdmacm_listeners.size())
|
||||
st["rdmacm"] = true;
|
||||
st["rdmacm_port"] = rdmacm_port;
|
||||
#endif
|
||||
st["primary_enabled"] = run_primary;
|
||||
st["blockstore_enabled"] = bs ? true : false;
|
||||
|
||||
Reference in New Issue
Block a user