Skip to content

Stacked runners: Forward host vsock connections to guest Unix sockets - #1754

Closed
Sangho Lee (sangho2) wants to merge 1 commit into
sanghle/ulitebox/vsock_1_driverfrom
sanghle/ulitebox/vsock_2_unix_forward
Closed

Sangho Lee (sangho2) wants to merge 1 commit into
sanghle/ulitebox/vsock_1_driverfrom
sanghle/ulitebox/vsock_2_unix_forward

Conversation

@sangho2

@sangho2 Sangho Lee (sangho2) commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

This PR lets the kernel broker forward host AF_VSOCK connections to guest Unix sockets. Guests listen on abstract Unix socket names (unix://@litebox-vsock:*) corresponding to vsock ports. This avoids adding end-to-end vsock support to both the shim and broker.

@sangho2
Sangho Lee (sangho2) force-pushed the sanghle/ulitebox/vsock_2_unix_forward branch from 8da7f8c to 4a2f903 Compare October 29, 2026 20:03
@sangho2
Sangho Lee (sangho2) force-pushed the sanghle/ulitebox/vsock_1_driver branch from 91b09f5 to 2ccc24c Compare October 29, 2026 22:57
@sangho2
Sangho Lee (sangho2) marked this pull request as ready for review October 30, 2026 00:24
@sangho2
Sangho Lee (sangho2) marked this pull request as draft October 30, 2026 00:24
@sangho2
Sangho Lee (sangho2) force-pushed the sanghle/ulitebox/vsock_1_driver branch from 2ccc24c to 62b0732 Compare October 30, 2026 01:24
@sangho2
Sangho Lee (sangho2) force-pushed the sanghle/ulitebox/vsock_2_unix_forward branch from 4a2f903 to 3006ca2 Compare October 30, 2026 01:24
@sangho2
Sangho Lee (sangho2) force-pushed the sanghle/ulitebox/vsock_1_driver branch from 62b0732 to 68a40e9 Compare October 30, 2026 15:03
@sangho2
Sangho Lee (sangho2) force-pushed the sanghle/ulitebox/vsock_2_unix_forward branch from 3006ca2 to 7e5bea7 Compare October 30, 2026 15:07
@github-actions

Copy link
Copy Markdown

ℹ️ Note: This semver check was run against the sanghle/ulitebox/vsock_1_driver branch, not main or ulitebox.

🤖 SemverChecks 🤖 ⚠️ Potential breaking API changes detected ⚠️

Click for details
--- failure trait_method_added: pub trait method added ---

Description:
A non-sealed public trait added a new method without a default implementation, which breaks downstream implementations of the trait
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#trait-new-item-no-default
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.51.0/src/lints/trait_method_added.ron

Failed in:
  trait method litebox_broker_core::fs::backend::Backend::rename_at in file /home/runner/work/litebox/litebox/litebox_broker_core/src/fs/backend.rs:226

--- failure enum_variant_added: enum variant added on exhaustive enum ---

Description:
A publicly-visible enum without #[non_exhaustive] has a new variant.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.51.0/src/lints/enum_variant_added.ron

Failed in:
  variant FileRequest:Rename in /home/runner/work/litebox/litebox/litebox_broker_protocol/src/message.rs:834
  variant FileResponse:Rename in /home/runner/work/litebox/litebox/litebox_broker_protocol/src/message.rs:879

--- failure constructible_struct_adds_field: struct exhaustively constructible through public API adds field ---

Description:
A pub struct that could be exhaustively constructed with a literal using only public API has a new pub field, breaking existing exhaustive literals.
        ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.51.0/src/lints/constructible_struct_adds_field.ron

Failed in:
  field Config.vsock in /home/runner/work/litebox/litebox/litebox_broker_vm_kernel/src/lib.rs:140

--- failure enum_no_repr_variant_discriminant_changed: enum variant had its discriminant change value ---

Description:
The enum's variant had its discriminant value change. This breaks downstream code that used its value via a numeric cast like `as isize`.
        ref: https://doc.rust-lang.org/reference/items/enumerations.html#assigning-discriminant-values
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.51.0/src/lints/enum_no_repr_variant_discriminant_changed.ron

Failed in:
  variant SyscallRequest::Newfstatat 75 -> 76 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3039
  variant SyscallRequest::Eventfd2 76 -> 77 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3045
  variant SyscallRequest::Pipe2 77 -> 78 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3049
  variant SyscallRequest::Clone 78 -> 79 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3053
  variant SyscallRequest::Clone3 79 -> 80 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3056
  variant SyscallRequest::SetThreadArea 80 -> 81 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3061
  variant SyscallRequest::ClockGettime 81 -> 82 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3064
  variant SyscallRequest::ClockGetres 82 -> 83 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3068
  variant SyscallRequest::ClockNanosleep 83 -> 84 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3072
  variant SyscallRequest::Gettimeofday 84 -> 85 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3078
  variant SyscallRequest::Time 85 -> 86 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3082
  variant SyscallRequest::Getrlimit 86 -> 87 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3085
  variant SyscallRequest::Setrlimit 87 -> 88 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3089
  variant SyscallRequest::Prlimit 88 -> 89 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3093
  variant SyscallRequest::SetTidAddress 89 -> 90 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3104
  variant SyscallRequest::Gettid 90 -> 91 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3107
  variant SyscallRequest::SetRobustList 91 -> 92 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3108
  variant SyscallRequest::GetRobustList 92 -> 93 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3111
  variant SyscallRequest::GetRandom 93 -> 94 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3116
  variant SyscallRequest::Getpid 94 -> 95 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3121
  variant SyscallRequest::Getppid 95 -> 96 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3122
  variant SyscallRequest::Setpgid 96 -> 97 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3123
  variant SyscallRequest::Getpgid 97 -> 98 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3127
  variant SyscallRequest::Getpgrp 98 -> 99 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3130
  variant SyscallRequest::Setsid 99 -> 100 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3131
  variant SyscallRequest::Getsid 100 -> 101 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3132
  variant SyscallRequest::Getuid 101 -> 102 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3135
  variant SyscallRequest::Geteuid 102 -> 103 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3136
  variant SyscallRequest::Getgid 103 -> 104 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3137
  variant SyscallRequest::Getegid 104 -> 105 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3138
  variant SyscallRequest::Sysinfo 105 -> 106 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3139
  variant SyscallRequest::CapGet 106 -> 107 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3142
  variant SyscallRequest::GetDirent64 107 -> 108 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3146
  variant SyscallRequest::SchedGetAffinity 108 -> 109 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3151
  variant SyscallRequest::SchedGetParam 109 -> 110 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3156
  variant SyscallRequest::SchedGetScheduler 110 -> 111 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3160
  variant SyscallRequest::SchedYield 111 -> 112 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3163
  variant SyscallRequest::Futex 112 -> 113 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3164
  variant SyscallRequest::Execve 113 -> 114 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3167
  variant SyscallRequest::Umask 114 -> 115 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3172
  variant SyscallRequest::Prctl 115 -> 116 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3175
  variant SyscallRequest::Alarm 116 -> 117 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3178
  variant SyscallRequest::Pause 117 -> 118 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3181
  variant SyscallRequest::RestartSyscall 118 -> 119 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3182
  variant SyscallRequest::SetITimer 119 -> 120 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3183
  variant SyscallRequest::GetITimer 120 -> 121 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3188
  variant SyscallRequest::Statx 121 -> 122 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3192
  variant SyscallRequest::TimerfdCreate 122 -> 123 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3199
  variant SyscallRequest::TimerfdSettime 123 -> 124 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3203
  variant SyscallRequest::TimerfdGettime 124 -> 125 in /home/runner/work/litebox/litebox/litebox_common_linux/src/lib.rs:3209

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant