openanolis / dragonball-sandbox

Dragonball-sandbox is a collection of Rust crates to help build custom Virtual Machine Monitors and hypervisors.
Apache License 2.0
88 stars 41 forks source link

vsock: passthrough fd support for hybrid mode #278

Closed lifupan closed 1 year ago

lifupan commented 1 year ago

After applying this commit, the hybrid vsock would support two types of connections:

1) pass "CONNECT \n" to the hybrid unix socket; 2) pass "PASSFD\n" to the hybrid unix socket first, then, using sendmsg and msg_control to pass the number and fd to the unix socket.

In both of the cases, you should read on the socket to get a response of "OK \n".

codecov[bot] commented 1 year ago

Codecov Report

Merging #278 (048b3a9) into main (7cb8457) will decrease coverage by 0.40%. The diff coverage is 34.02%.

:exclamation: Current head 048b3a9 differs from pull request most recent head 0c84793. Consider uploading reports for the commit 0c84793 to get more accurate results

@@            Coverage Diff             @@
##             main     #278      +/-   ##
==========================================
- Coverage   90.42%   90.02%   -0.40%     
==========================================
  Files          82       80       -2     
  Lines       24596    23822     -774     
==========================================
- Hits        22240    21445     -795     
- Misses       2356     2377      +21     
Flag Coverage Δ
dbs-address-space 95.30% <ø> (ø)
dbs-allocator ?
dbs-arch 96.37% <ø> (ø)
dbs-boot 94.90% <ø> (ø)
dbs-device 92.95% <ø> (ø)
dbs-interrupt 90.42% <ø> (ø)
dbs-legacy-devices 92.77% <ø> (ø)
dbs-miniball ∅ <ø> (∅)
dbs-upcall 94.31% <ø> (ø)
dbs-utils 91.25% <ø> (ø)
dbs-virtio-devices 86.91% <34.02%> (-0.40%) :arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
crates/dbs-address-space/src/lib.rs 100.00% <ø> (ø)
crates/dbs-arch/src/lib.rs 100.00% <ø> (ø)
crates/dbs-boot/src/lib.rs 100.00% <ø> (ø)
crates/dbs-device/src/lib.rs 92.92% <ø> (ø)
crates/dbs-interrupt/src/lib.rs 54.28% <ø> (ø)
crates/dbs-legacy-devices/src/lib.rs 100.00% <ø> (ø)
crates/dbs-upcall/src/lib.rs 97.92% <ø> (ø)
crates/dbs-utils/src/lib.rs 100.00% <ø> (ø)
crates/dbs-virtio-devices/src/lib.rs 95.30% <ø> (ø)
crates/dbs-virtio-devices/src/vsock/backend/mod.rs 5.88% <0.00%> (-4.12%) :arrow_down:
... and 3 more

... and 2 files with indirect coverage changes

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

wllenyj commented 1 year ago

@lifupan Can you fix the clippy?

lifupan commented 1 year ago

@lifupan Can you fix the clippy?

Done!