Skip to content

Commit 983908b

Browse files
authored
Merge pull request #1345 from eclipse-zenoh/dev/scouting_ipv6
Scouting accepts IPv6 addresses
2 parents 3ccb1bb + 3e00456 commit 983908b

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

zenoh/src/net/runtime/orchestrator.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -614,7 +614,7 @@ impl Runtime {
614614
ifaces: &[IpAddr],
615615
multicast_ttl: u32,
616616
) -> ZResult<UdpSocket> {
617-
let socket = match Socket::new(Domain::IPV4, Type::DGRAM, None) {
617+
let socket = match Socket::new(Domain::for_address(*sockaddr), Type::DGRAM, None) {
618618
Ok(socket) => socket,
619619
Err(err) => {
620620
tracing::error!("Unable to create datagram socket: {}", err);
@@ -704,21 +704,22 @@ impl Runtime {
704704
}
705705

706706
pub fn bind_ucast_port(addr: IpAddr, multicast_ttl: u32) -> ZResult<UdpSocket> {
707-
let socket = match Socket::new(Domain::IPV4, Type::DGRAM, None) {
707+
let sockaddr = || SocketAddr::new(addr, 0);
708+
let socket = match Socket::new(Domain::for_address(sockaddr()), Type::DGRAM, None) {
708709
Ok(socket) => socket,
709710
Err(err) => {
710711
tracing::warn!("Unable to create datagram socket: {}", err);
711712
bail!(err=> "Unable to create datagram socket");
712713
}
713714
};
714-
match socket.bind(&SocketAddr::new(addr, 0).into()) {
715+
match socket.bind(&sockaddr().into()) {
715716
Ok(()) => {
716717
#[allow(clippy::or_fun_call)]
717718
let local_addr = socket
718719
.local_addr()
719-
.unwrap_or(SocketAddr::new(addr, 0).into())
720+
.unwrap_or(sockaddr().into())
720721
.as_socket()
721-
.unwrap_or(SocketAddr::new(addr, 0));
722+
.unwrap_or(sockaddr());
722723
tracing::debug!("UDP port bound to {}", local_addr);
723724
}
724725
Err(err) => {

0 commit comments

Comments
 (0)