Skip to content

Commit 63d0587

Browse files
committed
vsock: default disable qemu vsock device
Signed-off-by: Weikang Guo <guoweikang@kylinos.cn>
1 parent 9a76961 commit 63d0587

File tree

4 files changed

+14
-8
lines changed

4 files changed

+14
-8
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,6 @@
1111
/.cargo
1212
/.crates*
1313
/mnt
14+
*.swp
15+
*.swo
16+

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export MEMTRACK := n
77
# QEMU Options
88
export BLK := y
99
export NET := y
10-
export VSOCK := y
10+
export VSOCK := n
1111
export MEM := 1G
1212
export ICOUNT := n
1313

api/src/socket.rs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -223,12 +223,15 @@ impl SocketAddrExt for VsocketAddr {
223223
}
224224

225225
fn write_to_user(&self, addr: UserPtr<sockaddr>, addrlen: &mut socklen_t) -> AxResult<()> {
226-
let mut buf: Vec<u8> = Vec::with_capacity(16); // size of sockaddr_vm
227-
buf.extend_from_slice(&(AF_VSOCK as u16).to_le_bytes()); // family
228-
buf.extend_from_slice(&0u16.to_le_bytes()); // reserved1
229-
buf.extend_from_slice(&self.port.to_le_bytes());
230-
buf.extend_from_slice(&self.cid.to_le_bytes());
231-
buf.extend_from_slice(&[0u8; 4]); // padding = 16 - 2 - 2 - 4 - 4 = 4
226+
let mut buf = [0u8; 16];
227+
// 0-1: family (AF_VSOCK = 40)
228+
buf[0..2].copy_from_slice(&(AF_VSOCK as u16).to_le_bytes());
229+
// 2-3: reserved1 as 0
230+
// 4-7: port
231+
buf[4..8].copy_from_slice(&self.port.to_le_bytes());
232+
// 8-11: cid
233+
buf[8..12].copy_from_slice(&self.cid.to_le_bytes());
234+
// 12-15: padding 0
232235
fill_addr(addr, addrlen, &buf)
233236
}
234237

0 commit comments

Comments
 (0)