feat(fs5.5): add e1000 tcp transport proof#71
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (11)
📝 WalkthroughWalkthroughThis PR extends E1000 baremetal networking support to include bounded TCP protocol reuse. Changes include new CI workflow steps for TCP probe validation, updated documentation reflecting expanded scope, a new PowerShell script for QEMU-based TCP testing, a build flag for TCP probe inclusion, and implementation of TCP probe logic with corresponding tests in the baremetal and PAL layers. Changes
Sequence DiagramsequenceDiagram
actor CI as CI Workflow
participant Build as Build System
participant PSScript as baremetal-qemu-e1000-tcp-probe-check.ps1
participant QEMU as QEMU + E1000
participant TcpProbe as TCP Probe Handler
participant Verify as Verification Logic
CI->>Build: Run build step with<br/>e1000_tcp_probe flag
Build->>PSScript: Invoke TCP probe script
PSScript->>PSScript: Resolve toolchain<br/>(Zig, Clang, LLD, QEMU)
PSScript->>PSScript: Compile PVH shim<br/>with Clang
PSScript->>PSScript: Link final ELF<br/>with LLD
PSScript->>QEMU: Launch QEMU with<br/>E1000 user-net config
QEMU->>TcpProbe: Initialize E1000 device
TcpProbe->>TcpProbe: Send SYN segment
QEMU-->>TcpProbe: Receive SYN-ACK
TcpProbe->>TcpProbe: Send ACK segment
TcpProbe->>TcpProbe: Send payload
QEMU-->>TcpProbe: Receive payload ACK
TcpProbe->>TcpProbe: Send FIN segment
QEMU-->>TcpProbe: Receive FIN-ACK
TcpProbe->>TcpProbe: Send ACK to close
TcpProbe->>Verify: Validate frames,<br/>flags, seq/ack numbers
Verify->>Verify: Check connection state<br/>and counters
Verify->>QEMU: Exit with probe code
QEMU-->>PSScript: Return exit code
PSScript->>PSScript: Validate exit code<br/>against expected value
PSScript-->>CI: Report results and<br/>log paths
Possibly related issues
Possibly related PRs
Poem
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Summary by CodeRabbit
New Features
Tests
Chores