]>
git.apps.os.sepia.ceph.com Git - ceph.git/commit
crimson/net: FixedCPUServerSocket::accept() respects the listening addr's type.
For the sake of compliance with the classical OSD where the type
of the listening address is being reflected in the address type
of an accepted connection:
```
int PosixServerSocketImpl::accept(ConnectedSocket *sock, const SocketOptions &opt, entity_addr_t *out, Worker *w) {
// ...
sockaddr_storage ss;
// ...
int sd = accept_cloexec(_fd, (sockaddr*)&ss, &slen);
if (sd < 0) {
return -ceph_sock_errno();
}
// ...
out->set_type(addr_type);
out->set_sockaddr((sockaddr*)&ss);
handler.set_priority(sd, opt.priority, out->get_family());
}
```
In Rook crimson binds explicitly to v2 address:
```
INFO 2021-10-26 17:55:08,116 [shard 0] osd - picked address v2:0.0.0.0:0/0
ERROR 2021-10-26 17:55:08,116 [shard 0] none - Falling back to public interface
INFO 2021-10-26 17:55:08,116 [shard 0] osd - picked address v2:0.0.0.0:0/0
```
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>