Skip to content

net: implement TCP accept and stabilize socket operations - #464

Open
xuchang-vivo wants to merge 9 commits into
vivoblueos:mainfrom
xuchang-vivo:xc/add_more_caps_to_agent
Open

net: implement TCP accept and stabilize socket operations#464
xuchang-vivo wants to merge 9 commits into
vivoblueos:mainfrom
xuchang-vivo:xc/add_more_caps_to_agent

Conversation

@xuchang-vivo

Copy link
Copy Markdown
Contributor

Summary

  • Implement the TCP accept() path and accepted-socket setup.
  • Preserve accepted socket ownership and peer endpoint information.
  • Retain UDP ephemeral-port leases and use the correct socket type for connect port allocation.
  • Add SO_REUSEADDR compatibility for the single-listener smoltcp configuration.
  • Validate socket option identifiers, timeval layouts, lengths, and values.
  • Use per-operation socket reply state and enforce configured blocking I/O timeouts.
  • Preserve socket errors, including timeout and would-block conditions, across syscall and VFS boundaries.
  • Keep socket shutdown and closed-socket state transitions consistent.

Relation to issue #456

This partially addresses #456 by removing the shared per-connection reply object and allowing independent socket operations to be queued. Shutdown-driven cancellation of an already blocked operation remains follow-up work.

Scope

This PR contains the kernel network changes currently on xc/add_more_caps_to_agent. It does not include the uncommitted ESP32-C3 board changes, BME280 changes, or application changes.

Testing

  • Ran rustfmt --edition 2021 --check on the files changed by the final socket-state/options commit.
  • Ran git diff --check on the same files.
  • No board build was run.

@xuchang-vivo

Copy link
Copy Markdown
Contributor Author

build_prs

@github-actions

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

❌ Job failed. Failed jobs: build_and_check_boards (failure), see https://github.com/vivoblueos/kernel/actions/runs/32970859064.

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