Skip to content

Remove smoltcp networking - #1139

Open
Weidong Cui (wdcui) wants to merge 1 commit into
uliteboxfrom
wdcui/ulitebox/remove-smoltcp
Open

Remove smoltcp networking#1139
Weidong Cui (wdcui) wants to merge 1 commit into
uliteboxfrom
wdcui/ulitebox/remove-smoltcp

Conversation

@wdcui

Copy link
Copy Markdown
Member

This PR removes the retained smoltcp and TUN networking backend after brokered IPv4 TCP and UDP become mandatory, simplifying LiteBox networking to broker-owned sockets, deleting the local socket set, packet device, port allocator, and local ring-buffer channels, removing IP packet provider contracts and TUN setup and runner plumbing across platforms, and dropping obsolete local-stack tests while retaining the portable broker-backed tests for the planned test fixture.

Base automatically changed from wdcui/ulitebox/require-broker-ip-sockets to ulitebox August 7, 2026 13:41
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: b5a1a347-37a8-4246-8bbc-306590921475
@wdcui
Weidong Cui (wdcui) force-pushed the wdcui/ulitebox/remove-smoltcp branch from 789a094 to 8264a31 Compare August 7, 2026 16:58
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

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

Click for details
--- failure enum_missing: pub enum removed or renamed ---

Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/enum_missing.ron

Failed in:
  enum litebox::platform::ReceiveError, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox/src/platform/mod.rs:260
  enum litebox::net::PlatformInteractionReinvocationAdvice, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox/src/net/mod.rs:457
  enum litebox::net::local_ports::LocalPortAllocationError, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox/src/net/local_ports.rs:141
  enum litebox::platform::SendError, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox/src/platform/mod.rs:255
  enum litebox::net::PlatformInteraction, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox/src/net/mod.rs:432

--- failure enum_variant_missing: pub enum variant removed or renamed ---

Description:
A publicly-visible enum has at least one variant that is no longer available under its prior name. It may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/enum_variant_missing.ron

Failed in:
  variant SendError::PortAllocationFailure, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox/src/net/errors.rs:165
  variant NetworkProxy::Stream, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox/src/net/socket_channel.rs:190
  variant NetworkProxy::Datagram, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox/src/net/socket_channel.rs:192
  variant NetworkProxy::Raw, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox/src/net/socket_channel.rs:194
  variant ConnectError::PortAllocationFailure, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox/src/net/errors.rs:67
  variant ListenError::NoAvailableFreeEphemeralPorts, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox/src/net/errors.rs:127

--- failure inherent_method_missing: pub method removed or renamed ---

Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/inherent_method_missing.ron

Failed in:
  Network::set_platform_interaction, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox/src/net/mod.rs:495
  Network::perform_platform_interaction, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox/src/net/mod.rs:505

--- failure module_missing: pub module removed or renamed ---

Description:
A publicly-visible module cannot be imported by its prior path. A `pub use` may have been removed, or the module may have been renamed, removed, or made non-public.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/module_missing.ron

Failed in:
  mod litebox::net::local_ports, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox/src/net/local_ports.rs:4

--- failure struct_missing: pub struct removed or renamed ---

Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/struct_missing.ron

Failed in:
  struct litebox::net::socket_channel::DatagramMessage, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox/src/net/socket_channel.rs:765
  struct litebox::net::socket_channel::DatagramSocketChannel, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox/src/net/socket_channel.rs:781
  struct litebox::net::socket_channel::StreamSocketChannel, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox/src/net/socket_channel.rs:339

--- failure trait_missing: pub trait removed or renamed ---

Description:
A publicly-visible trait cannot be imported by its prior path. A `pub use` may have been removed, or the trait itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/trait_missing.ron

Failed in:
  trait litebox::platform::IPInterfaceProvider, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox/src/platform/mod.rs:238

--- failure trait_removed_supertrait: supertrait removed or renamed ---

Description:
A supertrait was removed from a trait. Users of the trait can no longer assume it can also be used like its supertrait.
        ref: https://doc.rust-lang.org/reference/items/traits.html#supertraits
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/trait_removed_supertrait.ron

Failed in:
  supertrait litebox::platform::IPInterfaceProvider of trait Provider in file /home/runner/work/litebox/litebox/litebox/src/platform/mod.rs:29

--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---

Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/struct_pub_field_missing.ron

Failed in:
  field local_address of struct AcceptedPlatformSocket, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox_broker_core/src/socket.rs:31

--- failure trait_method_parameter_count_changed: pub trait method parameter count changed ---

Description:
A trait method now takes a different number of parameters.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#trait-item-signature
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/trait_method_parameter_count_changed.ron

Failed in:
  PlatformSocket::bind now takes 2 instead of 1 parameters, in file /home/runner/work/litebox/litebox/litebox_broker_core/src/socket.rs:277
  SocketProvider::create now takes 4 instead of 3 parameters, in file /home/runner/work/litebox/litebox/litebox_broker_core/src/socket.rs:256

--- failure trait_method_missing: pub trait method removed or renamed ---

Description:
A trait method is no longer callable, and may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#trait-item-signature
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/trait_method_missing.ron

Failed in:
  method send_ip_packet of trait HostInterface, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox_platform_linux_kernel/src/lib.rs:389
  method receive_ip_packet of trait HostInterface, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox_platform_linux_kernel/src/lib.rs:391

--- failure inherent_method_missing: pub method removed or renamed ---

Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/inherent_method_missing.ron

Failed in:
  LinuxUserland::wait_on_tun, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox_platform_linux_userland/src/lib.rs:401

--- failure method_parameter_count_changed: pub method parameter count changed ---

Description:
A publicly-visible method now takes a different number of parameters, not counting the receiver (self) parameter.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/method_parameter_count_changed.ron

Failed in:
  litebox_platform_linux_userland::LinuxUserland::new takes 1 parameters in /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox_platform_linux_userland/src/lib.rs:179, but now takes 0 parameters in /home/runner/work/litebox/litebox/litebox_platform_linux_userland/src/lib.rs:125

--- failure union_missing: pub union removed or renamed ---

Description:
A publicly-visible union cannot be imported by its prior path. A `pub use` may have been removed, or the union itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/union_missing.ron

Failed in:
  union litebox_platform_linux_userland::Ifru, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox_platform_linux_userland/src/lib.rs:154

--- failure trait_method_missing: pub trait method removed or renamed ---

Description:
A trait method is no longer callable, and may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#trait-item-signature
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/trait_method_missing.ron

Failed in:
  method send_ip_packet of trait HostInterface, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox_platform_lvbs/src/lib.rs:958
  method receive_ip_packet of trait HostInterface, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox_platform_lvbs/src/lib.rs:960

--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---

Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/struct_pub_field_missing.ron

Failed in:
  field tun_device_name of struct CliArgs, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox_runner_linux_userland/src/lib.rs:69

--- failure inherent_method_missing: pub method removed or renamed ---

Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/inherent_method_missing.ron

Failed in:
  LinuxShim::perform_network_interaction, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-ulitebox/4af049ab6456bf95775ef222a7c408fdde51c58a/litebox_shim_linux/src/lib.rs:331

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