summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2021-03-23 02:46:43 +0000
committerGitHub <noreply@github.com>2021-03-23 02:46:43 +0000
commit5e491c81dcced811ed6ddce7872e255a62a61606 (patch)
tree7e3555f202568f60257794601941d4d5dddaded3
parentfde9ebc6060ba7d5f0f49bafe82f332003ea9605 (diff)
parent5d17a60aa0cf74eda0716628c37201a89f24d025 (diff)
downloadnix-5e491c81dcced811ed6ddce7872e255a62a61606.zip
Merge #1407
1407: Fix test_vsock failure on VMADDR_CID_LOCAL testing and re-enable it r=asomers a=stefano-garzarella Starting from Linux 5.6, `VMADDR_CID_LOCAL` is supported to do local communication (loopback device). Before Linux 5.6 it was called `VMADDR_CID_RESERVED` and was not supported, so we could expect an `EADDRNOTAVAIL`, but now this address is supported and handled by the 'vsock_loopback' kernel module loaded automatically if no other vsock transports are loaded. Issue #1310 Issue #1403 Signed-off-by: Stefano Garzarella <sgarzare@redhat.com> Co-authored-by: Stefano Garzarella <sgarzare@redhat.com>
-rw-r--r--test/sys/test_socket.rs9
1 files changed, 1 insertions, 8 deletions
diff --git a/test/sys/test_socket.rs b/test/sys/test_socket.rs
index 873fac67..2b89a453 100644
--- a/test/sys/test_socket.rs
+++ b/test/sys/test_socket.rs
@@ -1491,7 +1491,6 @@ pub fn test_recv_ipv6pktinfo() {
}
#[cfg(any(target_os = "android", target_os = "linux"))]
-#[cfg_attr(not(target_arch = "x86_64"), ignore)]
#[test]
pub fn test_vsock() {
use libc;
@@ -1508,17 +1507,11 @@ pub fn test_vsock() {
SockFlag::empty(), None)
.expect("socket failed");
- // VMADDR_CID_HYPERVISOR and VMADDR_CID_LOCAL are reserved, so we expect
- // an EADDRNOTAVAIL error.
+ // VMADDR_CID_HYPERVISOR is reserved, so we expect an EADDRNOTAVAIL error.
let sockaddr = SockAddr::new_vsock(libc::VMADDR_CID_HYPERVISOR, port);
assert_eq!(bind(s1, &sockaddr).err(),
Some(Error::Sys(Errno::EADDRNOTAVAIL)));
- let sockaddr = SockAddr::new_vsock(libc::VMADDR_CID_LOCAL, port);
- assert_eq!(bind(s1, &sockaddr).err(),
- Some(Error::Sys(Errno::EADDRNOTAVAIL)));
-
-
let sockaddr = SockAddr::new_vsock(libc::VMADDR_CID_ANY, port);
assert_eq!(bind(s1, &sockaddr), Ok(()));
listen(s1, 10).expect("listen failed");