Skip to content

Extract dpdk-stdlib-net shared crate#65

Merged
gspivey merged 3 commits into
developmentfrom
agent/extract-dpdk-stdlib-net
Jun 5, 2026
Merged

Extract dpdk-stdlib-net shared crate#65
gspivey merged 3 commits into
developmentfrom
agent/extract-dpdk-stdlib-net

Conversation

@gspivey
Copy link
Copy Markdown
Owner

@gspivey gspivey commented Jun 5, 2026

Roadmap Item

Implements Roadmap Item #1: Extract dpdk-stdlib-net shared crate.

Changes

Commit 1.1a — Crate extraction + re-exports (no behavior change)

  • Created dpdk-stdlib-net crate with:
    • PacketBackend trait, BackendConfig, BackendType, create_backend()
    • DpdkBackend implementation
    • RawSocketBackend implementation
    • ring_buffer (PACKET_MMAP structures)
    • ipv4_checksum() and udp_pseudo_header_checksum() helpers
    • NeighborResolver trait + ArpResolver (with gateway-MAC support)
  • dpdk-udp modules replaced with re-exports from dpdk-stdlib-net
  • dpdk-stdlib-tcp skeleton crate added (depends on dpdk-stdlib-net, NOT dpdk-udp)
  • Workspace Cargo.toml updated with both new members

Commit 1.1b — Add rx_readiness() to trait

  • Added RxReadiness enum (Fd/PollOnly/Condvar) to PacketBackend trait
  • DpdkBackendPollOnly (dedicated-core busy-poll)
  • RawSocketBackendFd(socket_fd) (epoll-compatible)
  • SyntheticBackend (bench) → PollOnly

Tests

  • All 704 existing tests pass — no regressions
  • 22 new tests in dpdk-stdlib-net (backend, checksum, neighbor, ring_buffer)
  • CI enforcement: dpdk-stdlib-tcp depends on dpdk-stdlib-net, not dpdk-udp

Tradeoffs

  • Checksum functions exist in both crates (dpdk-udp retains its local copy used by internal callers). External consumers see them via the re-export path which resolves to dpdk-stdlib-net.
  • ArpResolver is a simplified initial implementation; the full ArpHandler + RoutingTable integration remains in dpdk-udp for UDP-specific use.

Agent Router added 2 commits June 5, 2026 12:49
Move PacketBackend trait, BackendConfig, BackendType, DpdkBackend,
RawSocketBackend, ring_buffer, ipv4_checksum, and
udp_pseudo_header_checksum from dpdk-udp into the new dpdk-stdlib-net
crate. Add NeighborResolver trait and ArpResolver implementation.

dpdk-udp re-exports all moved items for backward compatibility.
dpdk-stdlib-tcp skeleton crate added to workspace (depends on
dpdk-stdlib-net, NOT dpdk-udp).

No behavior change — all 704 existing tests pass.
Add RxReadiness enum (Fd/PollOnly/Condvar) and rx_readiness() method
to the PacketBackend trait. This enables the TCP engine loop to adapt
its wait strategy per backend: epoll for AF_PACKET, busy-poll for DPDK,
condvar wait for stubs/tests.

- DpdkBackend returns PollOnly
- RawSocketBackend returns Fd(socket_fd)
- SyntheticBackend (bench) returns PollOnly

All 704 tests pass.
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

Synthetic Performance Results (run)

Commit: 249d25c8

✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)

Synthetic UDP Performance Results

Measures framework overhead: sync dpdk_udp::UdpSocket vs async (std::sync::Mutex + try_recv_from).

IPv4 Baseline

Test Payload Sync PPS Async PPS Ratio (sync/async) Async ns/op
TX send_to 64B 11.4M 10.8M 1.1x 92
RX recv_from 64B 3.2M 4.4M 0.7x 226
TX send_to 1400B 1.6M 1.6M 1.0x 625
RX recv_from 1400B 1.0M 1.1M 0.9x 931

IPv6

Test Payload Sync PPS Async PPS Ratio (sync/async) Async ns/op
TX send_to (IPv6) 64B 7.7M 8.3M 0.9x 119
RX recv_from (IPv6) 64B 3.9M 5.5M 0.7x 183
TX send_to (IPv6) 1400B 2.6M 2.6M 1.0x 378
RX recv_from (IPv6) 1400B 1.0M 1.1M 0.9x 917

IPv6 vs IPv4 Comparison (sync path)

Test Payload IPv4 PPS IPv6 PPS IPv4/IPv6 Ratio
TX send_to (sync) 64B 11.4M 7.7M 1.48x
RX recv_from (sync) 64B 3.2M 3.9M 0.81x
TX send_to (sync) 1400B 1.6M 2.6M 0.63x
RX recv_from (sync) 1400B 1.0M 1.0M 0.97x

IPv4 avg sync/async ratio: 0.9x, worst: 1.1x | IPv6 vs IPv4 worst ratio: 1.48x (OK)

OK: IPv6 is 48.0% slower than IPv4 — within acceptable threshold (<50%). Expected due to larger headers (40B vs 20B) and mandatory UDP checksum.

Good: Async wrapper is within 1.1x of sync — minimal framework overhead.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

Synthetic Performance Results — Graviton (run)

Commit: 249d25c8

✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)

Synthetic UDP Performance Results

Measures framework overhead: sync dpdk_udp::UdpSocket vs async (std::sync::Mutex + try_recv_from).

IPv4 Baseline

Test Payload Sync PPS Async PPS Ratio (sync/async) Async ns/op
TX send_to 64B 11.8M 11.2M 1.1x 89
RX recv_from 64B 3.7M 4.7M 0.8x 211
TX send_to 1400B 1.8M 1.8M 1.0x 553
RX recv_from 1400B 1.1M 1.2M 0.9x 844

IPv6

Test Payload Sync PPS Async PPS Ratio (sync/async) Async ns/op
TX send_to (IPv6) 64B 9.0M 8.8M 1.0x 113
RX recv_from (IPv6) 64B 4.1M 5.6M 0.7x 178
TX send_to (IPv6) 1400B 2.9M 2.9M 1.0x 346
RX recv_from (IPv6) 1400B 1.1M 1.2M 0.9x 833

IPv6 vs IPv4 Comparison (sync path)

Test Payload IPv4 PPS IPv6 PPS IPv4/IPv6 Ratio
TX send_to (sync) 64B 11.8M 9.0M 1.31x
RX recv_from (sync) 64B 3.7M 4.1M 0.89x
TX send_to (sync) 1400B 1.8M 2.9M 0.63x
RX recv_from (sync) 1400B 1.1M 1.1M 0.97x

IPv4 avg sync/async ratio: 0.9x, worst: 1.1x | IPv6 vs IPv4 worst ratio: 1.31x (OK)

OK: IPv6 is 31.4% slower than IPv4 — within acceptable threshold (<50%). Expected due to larger headers (40B vs 20B) and mandatory UDP checksum.

Good: Async wrapper is within 1.1x of sync — minimal framework overhead.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[CI] Stage: Deploy

Infrastructure ready.

  • Sender: i-0dbc38fabad4283d9 (DPDK ENI: 10.0.1.23)
  • Receiver: i-0162770c0ceace5ea (DPDK ENI: 10.0.1.156)
  • Both instances SSM-ready.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[CI] Stage: Deploy

Infrastructure ready.

  • Sender: i-023f20665b8e2e9b0 (DPDK ENI: 10.0.1.95)
  • Receiver: i-07bc3908f5df04421 (DPDK ENI: 10.0.1.113)
  • Both instances SSM-ready.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[CI] Stage: Summary

All tests PASSED.

ARP seeding: kernel /proc/net/arp (automatic)

  • tier1-dpdk-echo: 6 tests, 0 failures
  • tier2-kernel-interop: 4 tests, 0 failures
  • tier3-iperf-interop: 1 tests, 0 failures
  • tier3-iperf-interop: 1 tests, 0 failures

1 similar comment
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[CI] Stage: Summary

All tests PASSED.

ARP seeding: kernel /proc/net/arp (automatic)

  • tier1-dpdk-echo: 6 tests, 0 failures
  • tier2-kernel-interop: 4 tests, 0 failures
  • tier3-iperf-interop: 1 tests, 0 failures
  • tier3-iperf-interop: 1 tests, 0 failures

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

✅ Integration Tests Passed — Graviton (run)

Branch: 65/merge | Commit: 249d25c8

Test Results

  • tier1-dpdk-echo.xml: 6 tests, 0 failures
  • tier2-kernel-interop.xml: 4 tests, 0 failures
  • tier3-iperf-sends.xml: 1 tests, 0 failures
  • tier3-our-app-sends.xml: 1 tests, 0 failures

Application Logs (last 20 lines)

receiver-echo-server.log

EAL: Detected CPU lcores: 2
EAL: Detected NUMA nodes: 1
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
EAL: Using IOMMU type 8 (No-IOMMU)
EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:06.0 (socket -1)
TELEMETRY: No legacy callbacks, legacy socket not created
Warning: Some RX offloads not supported by device (flags: 0x1)
Warning: Some TX offloads not supported by device (flags: 0x1)
✅ DPDK UDP socket bound to 10.0.1.156:9000 (MAC: 02:0e:75:ea:75:d3)
echo listening on 10.0.1.156:9000 (MTU=9001, max_udp_payload=8973)
Shutting down gracefully...

sender-echo-server.log

EAL: Detected CPU lcores: 2
EAL: Detected NUMA nodes: 1
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
EAL: Using IOMMU type 8 (No-IOMMU)
EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:06.0 (socket -1)
TELEMETRY: No legacy callbacks, legacy socket not created
Warning: Some RX offloads not supported by device (flags: 0x1)
Warning: Some TX offloads not supported by device (flags: 0x1)
✅ DPDK UDP socket bound to 10.0.1.23:9000 (MAC: 02:a5:f5:53:1a:23)
echo listening on 10.0.1.23:9000 (MTU=9001, max_udp_payload=8973)
Shutting down gracefully...

sender-test-client.log

EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
TELEMETRY: No legacy callbacks, legacy socket not created
DPDK bind failed (Port init failed: Invalid port ID: 0), falling back to tokio
Backend: tokio
Sending packets...
Sent 12 bytes: 'arp-probe #1'
Received 12 bytes from 10.0.1.156:9000: 'arp-probe #1'
Test complete
[2026-06-05T17:08:08Z] INFO: ARP resolution succeeded (got response from peer)
[2026-06-05T17:08:08Z] INFO: Test: udp_send_receive
[2026-06-05T17:08:09Z] INFO: UDP send/receive succeeded
[2026-06-05T17:08:09Z] INFO: Test: echo_roundtrip
[2026-06-05T17:08:10Z] INFO: Echo roundtrip succeeded: 5/5 responses received
[2026-06-05T17:08:10Z] INFO: Test: payload_integrity
[2026-06-05T17:08:10Z] INFO: Response received, checking payload match...
[2026-06-05T17:08:10Z] INFO: Payload integrity verified (found in response)
[2026-06-05T17:08:10Z] INFO: JUnit XML written to: /tmp/test-results/tier2-kernel-interop.xml
[2026-06-05T17:08:10Z] INFO: Tier 2 sender tests complete. Results: /tmp/test-results/tier2-kernel-interop.xml

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

✅ Integration Tests Passed (Run 27028139038)

Branch: 65/merge | Commit: 249d25c8

Test Results

  • tier1-dpdk-echo.xml: 6 tests, 0 failures, skipped
  • tier2-kernel-interop.xml: 4 tests, 0 failures, skipped
  • tier3-iperf-sends.xml: 1 tests, 0 failures, skipped
  • tier3-our-app-sends.xml: 1 tests, 0 failures, skipped

Application Logs (last 20 lines)

receiver-echo-server.log

EAL: Detected CPU lcores: 2
EAL: Detected NUMA nodes: 1
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
EAL: Using IOMMU type 8 (No-IOMMU)
EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:06.0 (socket -1)
TELEMETRY: No legacy callbacks, legacy socket not created
Warning: Some RX offloads not supported by device (flags: 0x1)
Warning: Some TX offloads not supported by device (flags: 0x1)
✅ DPDK UDP socket bound to 10.0.1.113:9000 (MAC: 02:73:4f:93:73:17)
echo listening on 10.0.1.113:9000 (MTU=9001, max_udp_payload=8973)
Shutting down gracefully...

sender-echo-server.log

EAL: Detected CPU lcores: 2
EAL: Detected NUMA nodes: 1
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
EAL: Using IOMMU type 8 (No-IOMMU)
EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:06.0 (socket -1)
TELEMETRY: No legacy callbacks, legacy socket not created
Warning: Some RX offloads not supported by device (flags: 0x1)
Warning: Some TX offloads not supported by device (flags: 0x1)
✅ DPDK UDP socket bound to 10.0.1.95:9000 (MAC: 02:6d:17:78:2d:35)
echo listening on 10.0.1.95:9000 (MTU=9001, max_udp_payload=8973)
Shutting down gracefully...

sender-test-client.log

EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
TELEMETRY: No legacy callbacks, legacy socket not created
DPDK bind failed (Port init failed: Invalid port ID: 0), falling back to tokio
Backend: tokio
Sending packets...
Sent 12 bytes: 'arp-probe #1'
Received 12 bytes from 10.0.1.113:9000: 'arp-probe #1'
Test complete
[2026-06-05T17:05:23Z] INFO: ARP resolution succeeded (got response from peer)
[2026-06-05T17:05:23Z] INFO: Test: udp_send_receive
[2026-06-05T17:05:24Z] INFO: UDP send/receive succeeded
[2026-06-05T17:05:24Z] INFO: Test: echo_roundtrip
[2026-06-05T17:05:25Z] INFO: Echo roundtrip succeeded: 5/5 responses received
[2026-06-05T17:05:25Z] INFO: Test: payload_integrity
[2026-06-05T17:05:25Z] INFO: Response received, checking payload match...
[2026-06-05T17:05:25Z] INFO: Payload integrity verified (found in response)
[2026-06-05T17:05:25Z] INFO: JUnit XML written to: /tmp/test-results/tier2-kernel-interop.xml
[2026-06-05T17:05:25Z] INFO: Tier 2 sender tests complete. Results: /tmp/test-results/tier2-kernel-interop.xml

receiver-test-client-iperf.log

[2026-06-05T17:12:06Z] INFO: iperf-sends: sent 10 packets, received 10 responses
[2026-06-05T17:12:06Z] INFO: iperf-sends: PASS (sent >= 5 packets)
[2026-06-05T17:12:06Z] INFO: JUnit XML written to: /tmp/test-results/tier3-iperf-sends.xml
[2026-06-05T17:12:06Z] INFO: iperf-sends test complete

sender-test-client-iperf.log

Received 30 bytes from 10.0.1.113:9000: 'dpdk-to-kernel-test-payload #3'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #4'
Received 30 bytes from 10.0.1.113:9000: 'dpdk-to-kernel-test-payload #4'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #5'
Received 30 bytes from 10.0.1.113:9000: 'dpdk-to-kernel-test-payload #5'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #6'
Received 30 bytes from 10.0.1.113:9000: 'dpdk-to-kernel-test-payload #6'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #7'
Received 30 bytes from 10.0.1.113:9000: 'dpdk-to-kernel-test-payload #7'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #8'
Received 30 bytes from 10.0.1.113:9000: 'dpdk-to-kernel-test-payload #8'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #9'
Received 30 bytes from 10.0.1.113:9000: 'dpdk-to-kernel-test-payload #9'
Sent 31 bytes: 'dpdk-to-kernel-test-payload #10'
Received 31 bytes from 10.0.1.113:9000: 'dpdk-to-kernel-test-payload #10'
Test complete
[2026-06-05T17:11:04Z] INFO: our-app-sends: sent 10 packets, received 10 responses
[2026-06-05T17:11:04Z] INFO: our-app-sends: PASS (sent >= 5 packets)
[2026-06-05T17:11:04Z] INFO: JUnit XML written to: /tmp/test-results/tier3-our-app-sends.xml
[2026-06-05T17:11:04Z] INFO: our-app-sends test complete
Full Application Logs (last 200 lines each)

receiver-echo-server.log

EAL: Detected CPU lcores: 2
EAL: Detected NUMA nodes: 1
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
EAL: Using IOMMU type 8 (No-IOMMU)
EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:06.0 (socket -1)
TELEMETRY: No legacy callbacks, legacy socket not created
Warning: Some RX offloads not supported by device (flags: 0x1)
Warning: Some TX offloads not supported by device (flags: 0x1)
✅ DPDK UDP socket bound to 10.0.1.113:9000 (MAC: 02:73:4f:93:73:17)
echo listening on 10.0.1.113:9000 (MTU=9001, max_udp_payload=8973)
Shutting down gracefully...

sender-echo-server.log

EAL: Detected CPU lcores: 2
EAL: Detected NUMA nodes: 1
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
EAL: Using IOMMU type 8 (No-IOMMU)
EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:06.0 (socket -1)
TELEMETRY: No legacy callbacks, legacy socket not created
Warning: Some RX offloads not supported by device (flags: 0x1)
Warning: Some TX offloads not supported by device (flags: 0x1)
✅ DPDK UDP socket bound to 10.0.1.95:9000 (MAC: 02:6d:17:78:2d:35)
echo listening on 10.0.1.95:9000 (MTU=9001, max_udp_payload=8973)
Shutting down gracefully...

sender-test-client.log

[2026-06-05T17:02:19Z] INFO: Test: arp_resolution
UDP Test Client
Target: 10.0.1.113:9000
Bind address: 10.0.1.95:0
Message: 'arp-probe'
Count: 1
EAL: Detected CPU lcores: 2
EAL: Detected NUMA nodes: 1
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
EAL: Using IOMMU type 8 (No-IOMMU)
EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:06.0 (socket -1)
TELEMETRY: No legacy callbacks, legacy socket not created
Warning: Some RX offloads not supported by device (flags: 0x1)
Warning: Some TX offloads not supported by device (flags: 0x1)
✅ DPDK UDP socket bound to 10.0.1.95:32768 (MAC: 02:6d:17:78:2d:35)
Backend: dpdk
Sending packets...
Sent 12 bytes: 'arp-probe #1'
Received 12 bytes from 10.0.1.113:9000: 'arp-probe #1'
Test complete
[2026-06-05T17:02:20Z] INFO: ARP resolution succeeded (got response from peer)
[2026-06-05T17:02:20Z] INFO: Test: udp_send_receive
[2026-06-05T17:02:22Z] INFO: UDP send/receive succeeded
[2026-06-05T17:02:22Z] INFO: Test: echo_roundtrip
[2026-06-05T17:02:24Z] INFO: Echo roundtrip succeeded: 5/5 responses received
[2026-06-05T17:02:24Z] INFO: Test: payload_integrity
[2026-06-05T17:02:24Z] INFO: Response received, checking payload match...
[2026-06-05T17:02:24Z] INFO: Payload integrity verified (found in response)
[2026-06-05T17:02:24Z] INFO: Test: jumbo_diagnostics
[2026-06-05T17:02:24Z] INFO: === JUMBO FRAME DIAGNOSTICS ===
[2026-06-05T17:02:24Z] INFO: Interface MTU:
  1500
  9001
  65536
[2026-06-05T17:02:24Z] INFO:   docker0: MTU=1500
[2026-06-05T17:02:24Z] INFO:   ens5: MTU=9001
[2026-06-05T17:02:24Z] INFO:   lo: MTU=65536
[2026-06-05T17:02:24Z] INFO: Routing table MTU column:
Iface	Destination	Gateway 	Flags	RefCnt	Use	Metric	Mask		MTU	Window	IRTT                                                       
ens5	00000000	0101000A	0003	0	0	512	00000000	0	0	0                                                                             
ens5	0200000A	0101000A	0007	0	0	512	FFFFFFFF	0	0	0                                                                             
ens5	0001000A	00000000	0001	0	0	512	00FFFFFF	0	0	0                                                                             
ens5	0101000A	00000000	0005	0	0	512	FFFFFFFF	0	0	0                                                                             
[2026-06-05T17:02:24Z] INFO: DPDK port config (from echo server log):
[2026-06-05T17:02:24Z] INFO:   (no MTU info in echo log)
[2026-06-05T17:02:24Z] INFO: === END JUMBO DIAGNOSTICS ===
[2026-06-05T17:02:24Z] INFO: Test: jumbo_echo_8000
[2026-06-05T17:02:26Z] INFO: Jumbo output: UDP Test Client
Target: 10.0.1.113:9000
Bind address: 10.0.1.95:0
Payload size: 8000 bytes
Count: 3
EAL: Detected CPU lcores: 2
EAL: Detected NUMA nodes: 1
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
EAL: Using IOMMU type 8 (No-IOMMU)
EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:06.0 (socket -1)
TELEMETRY: No legacy callbacks, legacy socket not created
Warning: Some RX offloads not supported by device (flags: 0x1)
Warning: Some TX offloads not supported by device (flags: 0x1)
✅ DPDK UDP socket bound to 10.0.1.95:32768 (MAC: 02:6d:17:78:2d:35)
Backend: dpdk
Sending packets...
Sent 8000 bytes (binary payload)
Received 8000 bytes from 10.0.1.113:9000 (expected 8000, OK)
Sent 8000 bytes (binary payload)
Received 8000 bytes from 10.0.1.113:9000 (expected 8000, OK)
Sent 8000 bytes (binary payload)
Received 8000 bytes from 10.0.1.113:9000 (expected 8000, OK)
Test complete
[2026-06-05T17:02:26Z] INFO: Jumbo frame echo succeeded: 3/3 responses with correct size
[2026-06-05T17:02:26Z] INFO: JUnit XML written to: /tmp/test-results/tier1-dpdk-echo.xml
[2026-06-05T17:02:26Z] INFO: Tier 1 sender tests complete. Results: /tmp/test-results/tier1-dpdk-echo.xml
[2026-06-05T17:05:22Z] INFO: Test: arp_resolution
UDP Test Client
Target: 10.0.1.113:9000
Bind address: 0.0.0.0:0
Message: 'arp-probe'
Count: 1
EAL: Detected CPU lcores: 2
EAL: Detected NUMA nodes: 1
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
TELEMETRY: No legacy callbacks, legacy socket not created
DPDK bind failed (Port init failed: Invalid port ID: 0), falling back to tokio
Backend: tokio
Sending packets...
Sent 12 bytes: 'arp-probe #1'
Received 12 bytes from 10.0.1.113:9000: 'arp-probe #1'
Test complete
[2026-06-05T17:05:23Z] INFO: ARP resolution succeeded (got response from peer)
[2026-06-05T17:05:23Z] INFO: Test: udp_send_receive
[2026-06-05T17:05:24Z] INFO: UDP send/receive succeeded
[2026-06-05T17:05:24Z] INFO: Test: echo_roundtrip
[2026-06-05T17:05:25Z] INFO: Echo roundtrip succeeded: 5/5 responses received
[2026-06-05T17:05:25Z] INFO: Test: payload_integrity
[2026-06-05T17:05:25Z] INFO: Response received, checking payload match...
[2026-06-05T17:05:25Z] INFO: Payload integrity verified (found in response)
[2026-06-05T17:05:25Z] INFO: JUnit XML written to: /tmp/test-results/tier2-kernel-interop.xml
[2026-06-05T17:05:25Z] INFO: Tier 2 sender tests complete. Results: /tmp/test-results/tier2-kernel-interop.xml

receiver-test-client-iperf.log

[2026-06-05T17:12:06Z] INFO: iperf-sends: sent 10 packets, received 10 responses
[2026-06-05T17:12:06Z] INFO: iperf-sends: PASS (sent >= 5 packets)
[2026-06-05T17:12:06Z] INFO: JUnit XML written to: /tmp/test-results/tier3-iperf-sends.xml
[2026-06-05T17:12:06Z] INFO: iperf-sends test complete

sender-test-client-iperf.log

[2026-06-05T17:11:02Z] INFO: Pre-flight: checking DPDK state and ARP cache...
[2026-06-05T17:11:02Z] INFO: Local IP: 10.0.1.95, Peer IP: 10.0.1.113, Port: 9000
[2026-06-05T17:11:02Z] INFO: /proc/net/arp contents:
IP address       HW type     Flags       HW address            Mask     Device
10.0.1.95        0x1         0x2         02:6d:17:78:2d:35     *        ens5
10.0.1.1         0x1         0x2         02:f9:26:95:13:a7     *        ens5
10.0.1.113       0x1         0x2         02:73:4f:93:73:17     *        ens5
10.0.1.187       0x1         0x2         02:67:39:22:aa:53     *        ens5
[2026-06-05T17:11:02Z] INFO: DPDK runtime state:
No /var/run/dpdk/ directory
[2026-06-05T17:11:02Z] INFO: vfio-pci bindings:
0000:00:06.0
bind
module
new_id
remove_id
uevent
unbind
[2026-06-05T17:11:02Z] INFO: Test binary: /opt/dpdk-stdlib/target/release/test-client
-rwxr-xr-x. 2 root root 1916408 Jun  5 17:00 /opt/dpdk-stdlib/target/release/test-client
[2026-06-05T17:11:02Z] INFO: Launching test-client: /opt/dpdk-stdlib/target/release/test-client --target 10.0.1.113 --port 9000 --bind-ip 10.0.1.95 --count 10 --delay 200
[2026-06-05T17:11:04Z] INFO: Test client output: UDP Test Client
Target: 10.0.1.113:9000
Bind address: 10.0.1.95:0
Message: 'dpdk-to-kernel-test-payload'
Count: 10
EAL: Detected CPU lcores: 2
EAL: Detected NUMA nodes: 1
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
EAL: Using IOMMU type 8 (No-IOMMU)
EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:06.0 (socket -1)
TELEMETRY: No legacy callbacks, legacy socket not created
Warning: Some RX offloads not supported by device (flags: 0x1)
Warning: Some TX offloads not supported by device (flags: 0x1)
✅ DPDK UDP socket bound to 10.0.1.95:32768 (MAC: 02:6d:17:78:2d:35)
Backend: dpdk
Sending packets...
Sent 30 bytes: 'dpdk-to-kernel-test-payload #1'
Received 30 bytes from 10.0.1.113:9000: 'dpdk-to-kernel-test-payload #1'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #2'
Received 30 bytes from 10.0.1.113:9000: 'dpdk-to-kernel-test-payload #2'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #3'
Received 30 bytes from 10.0.1.113:9000: 'dpdk-to-kernel-test-payload #3'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #4'
Received 30 bytes from 10.0.1.113:9000: 'dpdk-to-kernel-test-payload #4'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #5'
Received 30 bytes from 10.0.1.113:9000: 'dpdk-to-kernel-test-payload #5'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #6'
Received 30 bytes from 10.0.1.113:9000: 'dpdk-to-kernel-test-payload #6'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #7'
Received 30 bytes from 10.0.1.113:9000: 'dpdk-to-kernel-test-payload #7'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #8'
Received 30 bytes from 10.0.1.113:9000: 'dpdk-to-kernel-test-payload #8'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #9'
Received 30 bytes from 10.0.1.113:9000: 'dpdk-to-kernel-test-payload #9'
Sent 31 bytes: 'dpdk-to-kernel-test-payload #10'
Received 31 bytes from 10.0.1.113:9000: 'dpdk-to-kernel-test-payload #10'
Test complete
[2026-06-05T17:11:04Z] INFO: our-app-sends: sent 10 packets, received 10 responses
[2026-06-05T17:11:04Z] INFO: our-app-sends: PASS (sent >= 5 packets)
[2026-06-05T17:11:04Z] INFO: JUnit XML written to: /tmp/test-results/tier3-our-app-sends.xml
[2026-06-05T17:11:04Z] INFO: our-app-sends test complete
⚠️ SSM Command Failures (receiver-ssm-failure.log)
=== Polling timeout after 30s ===
Status: InProgress
Instance: i-07bc3908f5df04421 (receiver)
Command ID: 8c435539-acff-4bea-b750-19c028909eb9

=== STDOUT ===


=== STDERR ===


=== Polling timeout after 30s ===
Status: InProgress
Instance: i-07bc3908f5df04421 (receiver)
Command ID: d697bfc3-7629-49a9-b1da-ad2ce8632ded

=== STDOUT ===


=== STDERR ===


=== Polling timeout after 30s ===
Status: InProgress
Instance: i-07bc3908f5df04421 (receiver)
Command ID: efd4776e-8df7-4208-b981-0b0ceddb9663

=== STDOUT ===


=== STDERR ===


=== Polling timeout after 30s ===
Status: InProgress
Instance: i-07bc3908f5df04421 (receiver)
Command ID: 4954414e-d13b-4a3f-857f-06a5e484956d

=== STDOUT ===


=== STDERR ===


⚠️ SSM Command Failures (sender-ssm-failure.log)
=== Polling timeout after 30s ===
Status: InProgress
Instance: i-023f20665b8e2e9b0 (sender)
Command ID: 47b56011-b31e-41b1-b351-ba1e554b1d4c

=== STDOUT ===


=== STDERR ===


Network & PCI State

receiver-network-interfaces.log

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: ens5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000
    link/ether 02:9c:af:56:3c:cf brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname eni-08ba425c991ffb2a6
    altname device-number-0.0
    inet 10.0.1.153/24 metric 512 brd 10.0.1.255 scope global dynamic ens5
       valid_lft 2135sec preferred_lft 2135sec
    inet6 fe80::9c:afff:fe56:3ccf/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:67:b4:81:55 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever

sender-network-interfaces.log

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: ens5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000
    link/ether 02:c0:c8:2d:d2:0f brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname eni-05a15d76f58e70067
    altname device-number-0.0
    inet 10.0.1.176/24 metric 512 brd 10.0.1.255 scope global dynamic ens5
       valid_lft 2159sec preferred_lft 2159sec
    inet6 fe80::c0:c8ff:fe2d:d20f/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:d2:a6:91:47 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever

receiver-networking-diag-baseline.txt

=== NETWORKING DIAGNOSTICS ===
timestamp: 2026-06-05T17:01:38Z
hostname: ip-10-0-1-153.ec2.internal
kernel: 6.1.172-216.329.amzn2023.x86_64

=== DPDK PORT STATUS ===

Network devices using DPDK-compatible driver
============================================
0000:00:06.0 'Elastic Network Adapter (ENA) ec20' drv=vfio-pci unused=ena

Network devices using kernel driver
===================================
0000:00:05.0 'Elastic Network Adapter (ENA) ec20' if=ens5 drv=ena unused=vfio-pci *Active*

No 'Baseband' devices detected
==============================

No 'Crypto' devices detected
============================

No 'DMA' devices detected
=========================

No 'Eventdev' devices detected
==============================

No 'Mempool' devices detected
=============================

No 'Compress' devices detected
==============================

No 'Misc (rawdev)' devices detected
===================================

No 'Regex' devices detected
===========================

=== IP ADDRESSES ===
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: ens5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000
    link/ether 02:9c:af:56:3c:cf brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname eni-08ba425c991ffb2a6
    altname device-number-0.0
    inet 10.0.1.153/24 metric 512 brd 10.0.1.255 scope global dynamic ens5
       valid_lft 3282sec preferred_lft 3282sec
    inet6 fe80::9c:afff:fe56:3ccf/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:67:b4:81:55 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever

=== ARP TABLE ===
10.0.1.1 dev ens5 lladdr 02:f9:26:95:13:a7 REACHABLE 
10.0.1.187 dev ens5 lladdr 02:67:39:22:aa:53 REACHABLE 
10.0.1.154 dev ens5 lladdr 02:9a:eb:89:29:05 STALE 

=== ROUTE TABLE ===
default via 10.0.1.1 dev ens5 proto dhcp src 10.0.1.153 metric 512 
10.0.0.2 via 10.0.1.1 dev ens5 proto dhcp src 10.0.1.153 metric 512 
10.0.1.0/24 dev ens5 proto kernel scope link src 10.0.1.153 metric 512 
10.0.1.1 dev ens5 proto dhcp scope link src 10.0.1.153 metric 512 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 

=== IMDS: ENI INFORMATION ===
ENI MACs found: 02:73:4f:93:73:17/ 02:9c:af:56:3c:cf/ 

--- ENI: 02:73:4f:93:73:17/ ---
  device-number: 1
  local-ipv4s: 10.0.1.113
  subnet-id: subnet-0c4d50414021babba
  subnet-cidr: 10.0.1.0/24

--- ENI: 02:9c:af:56:3c:cf/ ---
  device-number: 0
  local-ipv4s: 10.0.1.153
  subnet-id: subnet-0c4d50414021babba
  subnet-cidr: 10.0.1.0/24


=== GATEWAY ARP TEST ===
Gateway IP: 10.0.1.1
Gateway ARP entry:
10.0.1.1 dev ens5 lladdr 02:f9:26:95:13:a7 REACHABLE 

arping result:
ARPING 10.0.1.1 from 10.0.1.153 ens5
Unicast reply from 10.0.1.1 [02:F9:26:95:13:A7]  0.536ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)

=== HUGEPAGE STATUS ===
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
FileHugePages:         0 kB
HugePages_Total:    1024
HugePages_Free:     1024
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:         2097152 kB

=== VFIO STATUS ===
total 0
drwxr-xr-x.  2 root root       80 Jun  5 17:01 .
drwxr-xr-x. 14 root root     3100 Jun  5 17:00 ..
crw-------.  1 root root 243,   0 Jun  5 17:01 noiommu-0
crw-rw-rw-.  1 root root  10, 196 Jun  5 16:56 vfio

noiommu mode:
Y

=== DPDK SHARED MEMORY ===
no /var/run/dpdk/ directory (clean state)

=== DPDK-RELATED DMESG (last 30 lines) ===
[    0.068681] x86/fpu: Enabled xstate features 0x2ff, context size is 2568 bytes, using 'compacted' format.
[    0.075169] audit: type=2000 audit(1780678574.209:1): state=initialized audit_enabled=0 res=1
[    0.077516] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.
[    0.101634] ACPI: Interpreter enabled
[    0.101634] ACPI: Enabled 2 GPEs in block 00 to 0F
[    0.127171] pci 0000:00:05.0: enabling Extended Tags
[    0.158679] SGI XFS with ACLs, security attributes, quota, no debug enabled
[    0.188236] ACPI: \_SB_.LNKD: Enabled at IRQ 11
[    0.270679] IPI shorthand broadcast: enabled
[    0.270742] AES CTR mode by8 optimization enabled
[    3.104824] systemd[1]: Mounting dev-hugepages.mount - Huge Pages File System...
[    3.140579] systemd[1]: Mounted dev-hugepages.mount - Huge Pages File System.
[    3.207191] VFIO - User Level meta-driver version: 0.3
[    4.373819] ena 0000:00:05.0: Elastic Network Adapter (ENA) v2.16.1g
[    4.389073] ena 0000:00:05.0: ENA device version: 0.10
[    4.389812] ena 0000:00:05.0: ENA controller version: 0.0.1 implementation version 1
[    4.494679] ena 0000:00:05.0: ENA Large LLQ is disabled
[    4.506740] ena 0000:00:05.0: Elastic Network Adapter (ENA) found at mem c0500000, mac addr 02:9c:af:56:3c:cf
[    4.564833] ena 0000:00:05.0 ens5: renamed from eth0
[    5.540480] ena 0000:00:05.0 ens5: Local page cache is disabled for less than 16 channels
[  251.268828] pci 0000:00:06.0: enabling Extended Tags
[  251.272450] ena 0000:00:06.0: enabling device (0000 -> 0002)
[  251.285144] ena 0000:00:06.0: ENA device version: 0.10
[  251.285904] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  251.387039] ena 0000:00:06.0: ENA Large LLQ is disabled
[  251.399902] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:73:4f:93:73:17
[  251.448454] ena 0000:00:06.0 ens6: renamed from eth0
[  251.760902] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[  310.843802] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  310.845085] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device

=== DPDK-RELATED PROCESSES ===
no DPDK processes running

=== END DIAGNOSTICS ===

sender-networking-diag-baseline.txt

=== NETWORKING DIAGNOSTICS ===
timestamp: 2026-06-05T17:01:30Z
hostname: ip-10-0-1-176.ec2.internal
kernel: 6.1.172-216.329.amzn2023.x86_64

=== DPDK PORT STATUS ===

Network devices using DPDK-compatible driver
============================================
0000:00:06.0 'Elastic Network Adapter (ENA) ec20' drv=vfio-pci unused=ena

Network devices using kernel driver
===================================
0000:00:05.0 'Elastic Network Adapter (ENA) ec20' if=ens5 drv=ena unused=vfio-pci *Active*

No 'Baseband' devices detected
==============================

No 'Crypto' devices detected
============================

No 'DMA' devices detected
=========================

No 'Eventdev' devices detected
==============================

No 'Mempool' devices detected
=============================

No 'Compress' devices detected
==============================

No 'Misc (rawdev)' devices detected
===================================

No 'Regex' devices detected
===========================

=== IP ADDRESSES ===
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: ens5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000
    link/ether 02:c0:c8:2d:d2:0f brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname eni-05a15d76f58e70067
    altname device-number-0.0
    inet 10.0.1.176/24 metric 512 brd 10.0.1.255 scope global dynamic ens5
       valid_lft 3290sec preferred_lft 3290sec
    inet6 fe80::c0:c8ff:fe2d:d20f/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:d2:a6:91:47 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever

=== ARP TABLE ===
10.0.1.1 dev ens5 lladdr 02:f9:26:95:13:a7 REACHABLE 
10.0.1.187 dev ens5 lladdr 02:67:39:22:aa:53 REACHABLE 

=== ROUTE TABLE ===
default via 10.0.1.1 dev ens5 proto dhcp src 10.0.1.176 metric 512 
10.0.0.2 via 10.0.1.1 dev ens5 proto dhcp src 10.0.1.176 metric 512 
10.0.1.0/24 dev ens5 proto kernel scope link src 10.0.1.176 metric 512 
10.0.1.1 dev ens5 proto dhcp scope link src 10.0.1.176 metric 512 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 

=== IMDS: ENI INFORMATION ===
ENI MACs found: 02:6d:17:78:2d:35/ 02:c0:c8:2d:d2:0f/ 

--- ENI: 02:6d:17:78:2d:35/ ---
  device-number: 1
  local-ipv4s: 10.0.1.95
  subnet-id: subnet-0c4d50414021babba
  subnet-cidr: 10.0.1.0/24

--- ENI: 02:c0:c8:2d:d2:0f/ ---
  device-number: 0
  local-ipv4s: 10.0.1.176
  subnet-id: subnet-0c4d50414021babba
  subnet-cidr: 10.0.1.0/24


=== GATEWAY ARP TEST ===
Gateway IP: 10.0.1.1
Gateway ARP entry:
10.0.1.1 dev ens5 lladdr 02:f9:26:95:13:a7 REACHABLE 

arping result:
ARPING 10.0.1.1 from 10.0.1.176 ens5
Unicast reply from 10.0.1.1 [02:F9:26:95:13:A7]  0.544ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)

=== HUGEPAGE STATUS ===
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
FileHugePages:         0 kB
HugePages_Total:    1024
HugePages_Free:     1024
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:         2097152 kB

=== VFIO STATUS ===
total 0
drwxr-xr-x.  2 root root       80 Jun  5 17:01 .
drwxr-xr-x. 14 root root     3100 Jun  5 17:00 ..
crw-------.  1 root root 243,   0 Jun  5 17:01 noiommu-0
crw-rw-rw-.  1 root root  10, 196 Jun  5 16:56 vfio

noiommu mode:
Y

=== DPDK SHARED MEMORY ===
no /var/run/dpdk/ directory (clean state)

=== DPDK-RELATED DMESG (last 30 lines) ===
[    0.067671] x86/fpu: Enabled xstate features 0x2ff, context size is 2568 bytes, using 'compacted' format.
[    0.074237] audit: type=2000 audit(1780678574.500:1): state=initialized audit_enabled=0 res=1
[    0.076712] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.
[    0.100903] ACPI: Interpreter enabled
[    0.100903] ACPI: Enabled 2 GPEs in block 00 to 0F
[    0.132018] pci 0000:00:05.0: enabling Extended Tags
[    0.152325] SGI XFS with ACLs, security attributes, quota, no debug enabled
[    0.181096] ACPI: \_SB_.LNKD: Enabled at IRQ 11
[    0.271638] IPI shorthand broadcast: enabled
[    0.271701] AES CTR mode by8 optimization enabled
[    3.414933] systemd[1]: Mounting dev-hugepages.mount - Huge Pages File System...
[    3.459124] systemd[1]: Mounted dev-hugepages.mount - Huge Pages File System.
[    3.525099] VFIO - User Level meta-driver version: 0.3
[    4.679228] ena 0000:00:05.0: Elastic Network Adapter (ENA) v2.16.1g
[    4.690456] ena 0000:00:05.0: ENA device version: 0.10
[    4.691197] ena 0000:00:05.0: ENA controller version: 0.0.1 implementation version 1
[    4.793720] ena 0000:00:05.0: ENA Large LLQ is disabled
[    4.806506] ena 0000:00:05.0: Elastic Network Adapter (ENA) found at mem c0500000, mac addr 02:c0:c8:2d:d2:0f
[    4.934758] ena 0000:00:05.0 ens5: renamed from eth0
[    6.037096] ena 0000:00:05.0 ens5: Local page cache is disabled for less than 16 channels
[  271.406972] pci 0000:00:06.0: enabling Extended Tags
[  271.410638] ena 0000:00:06.0: enabling device (0000 -> 0002)
[  271.423602] ena 0000:00:06.0: ENA device version: 0.10
[  271.424377] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  271.523589] ena 0000:00:06.0: ENA Large LLQ is disabled
[  271.535737] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:6d:17:78:2d:35
[  271.573786] ena 0000:00:06.0 ens6: renamed from eth0
[  271.988173] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[  303.627783] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  303.629075] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device

=== DPDK-RELATED PROCESSES ===
no DPDK processes running

=== END DIAGNOSTICS ===
⚠️ Crash Diagnostics

receiver-dmesg-crashes.log

[    0.075169] pid_max: default: 32768 minimum: 301
[    0.129233] iommu: Default domain type: Translated 
[    0.129949] NetLabel:  unlabeled traffic allowed by default
[    0.150128] PCI: CLS 0 bytes, default 64
[    0.204520] nvme nvme0: 2/0/0 default/read/poll queues
[    0.435071] systemd[1]: systemd 252.23-11.amzn2023 running in system mode (+PAM +AUDIT +SELINUX -APPARMOR +IMA +SMACK +SECCOMP -GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN -IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 -BZIP2 -LZ4 +XZ +ZLIB -ZSTD +BPF_FRAMEWORK +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
[    0.435164] systemd[1]: No hostname configured, using default hostname.
[    0.547710] systemd[1]: Queued start job for default target initrd.target.
[    2.273943] systemd[1]: systemd 252.23-11.amzn2023 running in system mode (+PAM +AUDIT +SELINUX -APPARMOR +IMA +SMACK +SECCOMP -GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN -IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 -BZIP2 -LZ4 +XZ +ZLIB -ZSTD +BPF_FRAMEWORK +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
[    9.050783] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[  349.319717] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:7208)
[  533.147717] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:10235)
[ 1327.759033] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:39672)

sender-dmesg-crashes.log

[    0.074196] pid_max: default: 32768 minimum: 301
[    0.133956] iommu: Default domain type: Translated 
[    0.134378] NetLabel:  unlabeled traffic allowed by default
[    0.143685] PCI: CLS 0 bytes, default 64
[    0.189579] nvme nvme0: 2/0/0 default/read/poll queues
[    0.438553] systemd[1]: systemd 252.23-11.amzn2023 running in system mode (+PAM +AUDIT +SELINUX -APPARMOR +IMA +SMACK +SECCOMP -GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN -IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 -BZIP2 -LZ4 +XZ +ZLIB -ZSTD +BPF_FRAMEWORK +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
[    0.438654] systemd[1]: No hostname configured, using default hostname.
[    0.529049] systemd[1]: Queued start job for default target initrd.target.
[    2.244913] systemd[1]: systemd 252.23-11.amzn2023 running in system mode (+PAM +AUDIT +SELINUX -APPARMOR +IMA +SMACK +SECCOMP -GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN -IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 -BZIP2 -LZ4 +XZ +ZLIB -ZSTD +BPF_FRAMEWORK +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
[    9.745758] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[  934.103375] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:30362)
Kernel Console (dmesg)

receiver-console-output.log (PCI/driver events only)

[  251.271492] pci 0000:00:06.0: BAR 0 [mem 0xc0508000-0xc050bfff]: assigned
[  251.272450] ena 0000:00:06.0: enabling device (0000 -> 0002)
[  251.285144] ena 0000:00:06.0: ENA device version: 0.10
[  251.285904] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  251.387039] ena 0000:00:06.0: ENA Large LLQ is disabled
[  251.399902] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:73:4f:93:73:17
[  251.448454] ena 0000:00:06.0 ens6: renamed from eth0
[  251.760902] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[  310.843802] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  310.845085] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[  349.319717] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:7208)
[  479.850786] vfio-pci 0000:00:06.0: Removing from iommu group 0
[  480.863895] ena 0000:00:06.0: ENA device version: 0.10
[  480.864659] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  480.965766] ena 0000:00:06.0: ENA Large LLQ is disabled
[  480.977800] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:73:4f:93:73:17
[  481.045842] ena 0000:00:06.0 ens6: renamed from eth0
[  481.087430] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[  501.029853] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  501.031084] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[  533.147717] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:10235)
[  609.764987] vfio-pci 0000:00:06.0: Removing from iommu group 0
[  610.774369] ena 0000:00:06.0: ENA device version: 0.10
[  610.775128] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  610.874347] ena 0000:00:06.0: ENA Large LLQ is disabled
[  610.886386] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:73:4f:93:73:17
[  610.896607] ena 0000:00:06.0 eth0: Local page cache is disabled for less than 16 channels
[ 1198.001901] vfio-pci 0000:00:06.0: Adding to iommu group 0
[ 1198.003306] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[ 1327.759033] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:39672)

sender-console-output.log (PCI/driver events only)

[  271.988173] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[  303.627783] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  303.629075] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[  365.805707] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:6900)
[  366.565612] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:6920)
[  368.335621] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:6942)
[  369.895609] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:6965)
[  370.695597] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:7025)
[  421.713988] vfio-pci 0000:00:06.0: Removing from iommu group 0
[  422.722985] ena 0000:00:06.0: ENA device version: 0.10
[  422.723755] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  422.822965] ena 0000:00:06.0: ENA Large LLQ is disabled
[  422.835004] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:6d:17:78:2d:35
[  422.844506] ena 0000:00:06.0 eth0: Local page cache is disabled for less than 16 channels
[  726.646575] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  726.647920] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[  888.213665] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:28204)
[  934.103375] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:30362)
[ 1012.744375] vfio-pci 0000:00:06.0: Removing from iommu group 0
[ 1013.757812] ena 0000:00:06.0: ENA device version: 0.10
[ 1013.758599] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[ 1013.859794] ena 0000:00:06.0: ENA Large LLQ is disabled
[ 1013.872593] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:6d:17:78:2d:35
[ 1013.882724] ena 0000:00:06.0 eth0: Local page cache is disabled for less than 16 channels
[ 1101.045744] vfio-pci 0000:00:06.0: Adding to iommu group 0
[ 1101.047000] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[ 1343.501576] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:39734)
[ 1344.251543] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:39754)
[ 1346.001838] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:39777)
[ 1347.751520] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:39800)

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[Perf] Stage: Deploy

Deploying PerfTestStack...
Configs: plain-rust,rust-dpdk,tokio-dpdk,native-dpdk
Packet sizes: 64,512,1400,8500

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[Perf] Stage: Instances Ready

  • TRex: i-097302fa24d5cd059 (10.0.1.231)
  • DUT: i-00434ce9ba4f34335 (10.0.1.40)
  • Instance type: unknown

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[Perf] Stage: TRex Config

Starting TRex configuration (MAC discovery + NIC binding)...

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[Perf] Stage: TRex Config OK

  • TX: 0000:00:06.0 MAC: 02:f6:c5:33:c6:75
  • RX: 0000:00:07.0 MAC: 02:6c:dd:47:22:0d
  • Gateway MAC: 02:f1:1a:6c:fc:93
    Starting TRex server...

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[Perf] Stage: TRex Started

TRex server running. Beginning benchmarks...

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[Perf] DUT Ready

DUT instance i-00434ce9ba4f34335 SSM working, build complete.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[Perf] Stage: Benchmark (1/4)

Running plain-rust benchmark...
Packet sizes: 64,512,1400,8500 | Duration: 30s/step | Target PPS: 70000,140000,350000,700000

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[Perf] Benchmark Diag: plain-rust preflight

TRex API OK: 2 ports
  Port 0: 02:f6:c5:33:c6:75
  Port 1: 02:6c:dd:47:22:0d
PREFLIGHT_OK

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[Perf] Benchmark Diag: plain-rust result

SSM exit: 0

Output (last 30 lines)
Duration per step: 30s
Source MAC: 02:f6:c5:33:c6:75

--- Packet size: 64B ---
  Target: 70,000 pps ... TX: 70,000 pps, RX: 68,999 pps, Drop: 1.4304%, Lat avg: 240.0 us
  Target: 140,000 pps ... TX: 140,000 pps, RX: 138,995 pps, Drop: 0.7176%, Lat avg: 0.0 us
  Target: 350,000 pps ... TX: 350,000 pps, RX: 346,336 pps, Drop: 1.0469%, Lat avg: 0.0 us
  Target: 700,000 pps ... TX: 700,000 pps, RX: 485,680 pps, Drop: 30.6172%, Lat avg: 0.0 us

--- Packet size: 512B ---
  Target: 70,000 pps ... TX: 70,000 pps, RX: 68,985 pps, Drop: 1.4498%, Lat avg: 181.0 us
  Target: 140,000 pps ... TX: 140,000 pps, RX: 138,992 pps, Drop: 0.7201%, Lat avg: 266.0 us
  Target: 350,000 pps ... TX: 350,000 pps, RX: 342,625 pps, Drop: 2.1072%, Lat avg: 493.0 us
  Target: 700,000 pps ... TX: 700,000 pps, RX: 411,087 pps, Drop: 41.2733%, Lat avg: 0.0 us

--- Packet size: 1400B ---
  Target: 70,000 pps ... TX: 70,000 pps, RX: 68,982 pps, Drop: 1.4546%, Lat avg: 207.0 us
  Target: 140,000 pps ... TX: 140,000 pps, RX: 138,950 pps, Drop: 0.7504%, Lat avg: 0.0 us
  Target: 350,000 pps ... TX: 350,000 pps, RX: 340,725 pps, Drop: 2.65%, Lat avg: 0.0 us
  Target: 700,000 pps ... TX: 476,660 pps, RX: 443,222 pps, Drop: 7.0152%, Lat avg: 0.0 us

--- Packet size: 8500B ---
  (jumbo: capping at 418,133 pps for 30.0 Gbps limit)
  Target: 70,000 pps ... TX: 70,000 pps, RX: 36,719 pps, Drop: 47.5438%, Lat avg: 0.0 us
  Target: 140,000 pps ... TX: 78,347 pps, RX: 77,762 pps, Drop: 0.7462%, Lat avg: 0.0 us
  Target: 350,000 pps ... TX: 78,288 pps, RX: 76,434 pps, Drop: 2.3671%, Lat avg: 0.0 us
  Target: 700,000 pps ... SKIPPED (exceeds 30.0 Gbps cap)

Results written to /tmp/perf-results/plain-rust.json
EXIT_CODE=0

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[Perf] Stage: Benchmark (2/4)

Running rust-dpdk benchmark...
Packet sizes: 64,512,1400,8500 | Duration: 30s/step | Target PPS: 70000,140000,350000,700000

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[Perf] Benchmark Diag: rust-dpdk preflight

TRex API OK: 2 ports
  Port 0: 02:f6:c5:33:c6:75
  Port 1: 02:6c:dd:47:22:0d
PREFLIGHT_OK

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[Perf] Benchmark Diag: rust-dpdk result

SSM exit: 0

Output (last 30 lines)
Duration per step: 30s
Source MAC: 02:f6:c5:33:c6:75

--- Packet size: 64B ---
  Target: 70,000 pps ... TX: 70,000 pps, RX: 68,978 pps, Drop: 1.4595%, Lat avg: 0.0 us
  Target: 140,000 pps ... TX: 140,000 pps, RX: 138,904 pps, Drop: 0.7828%, Lat avg: 0.0 us
  Target: 350,000 pps ... TX: 350,000 pps, RX: 348,601 pps, Drop: 0.3998%, Lat avg: 0.0 us
  Target: 700,000 pps ... TX: 700,000 pps, RX: 693,327 pps, Drop: 0.9533%, Lat avg: 0.0 us

--- Packet size: 512B ---
  Target: 70,000 pps ... TX: 70,000 pps, RX: 68,987 pps, Drop: 1.4472%, Lat avg: 150.0 us
  Target: 140,000 pps ... TX: 140,000 pps, RX: 138,942 pps, Drop: 0.756%, Lat avg: 0.0 us
  Target: 350,000 pps ... TX: 350,000 pps, RX: 348,844 pps, Drop: 0.3303%, Lat avg: 0.0 us
  Target: 700,000 pps ... TX: 700,000 pps, RX: 673,282 pps, Drop: 3.8168%, Lat avg: 0.0 us

--- Packet size: 1400B ---
  Target: 70,000 pps ... TX: 70,000 pps, RX: 68,958 pps, Drop: 1.4891%, Lat avg: 0.0 us
  Target: 140,000 pps ... TX: 140,000 pps, RX: 138,983 pps, Drop: 0.7262%, Lat avg: 0.0 us
  Target: 350,000 pps ... TX: 350,000 pps, RX: 348,761 pps, Drop: 0.354%, Lat avg: 0.0 us
  Target: 700,000 pps ... TX: 476,647 pps, RX: 474,955 pps, Drop: 0.3549%, Lat avg: 0.0 us

--- Packet size: 8500B ---
  (jumbo: capping at 418,133 pps for 30.0 Gbps limit)
  Target: 70,000 pps ... TX: 70,000 pps, RX: 69,000 pps, Drop: 1.4286%, Lat avg: 0.0 us
  Target: 140,000 pps ... TX: 78,337 pps, RX: 75,417 pps, Drop: 3.7282%, Lat avg: 0.0 us
  Target: 350,000 pps ... TX: 78,282 pps, RX: 77,215 pps, Drop: 1.3629%, Lat avg: 0.0 us
  Target: 700,000 pps ... SKIPPED (exceeds 30.0 Gbps cap)

Results written to /tmp/perf-results/rust-dpdk.json
EXIT_CODE=0

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[Perf] Stage: Benchmark (3/4)

Running tokio-dpdk benchmark...
Packet sizes: 64,512,1400,8500 | Duration: 30s/step | Target PPS: 70000,140000,350000,700000

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[Perf] Benchmark Diag: tokio-dpdk preflight

TRex API OK: 2 ports
  Port 0: 02:f6:c5:33:c6:75
  Port 1: 02:6c:dd:47:22:0d
PREFLIGHT_OK

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[Perf] Benchmark Diag: tokio-dpdk result

SSM exit: 0

Output (last 30 lines)
Duration per step: 30s
Source MAC: 02:f6:c5:33:c6:75

--- Packet size: 64B ---
  Target: 70,000 pps ... TX: 70,000 pps, RX: 68,992 pps, Drop: 1.4406%, Lat avg: 0.0 us
  Target: 140,000 pps ... TX: 140,000 pps, RX: 139,000 pps, Drop: 0.7142%, Lat avg: 0.0 us
  Target: 350,000 pps ... TX: 350,000 pps, RX: 302,598 pps, Drop: 13.5434%, Lat avg: 0.0 us
  Target: 700,000 pps ... TX: 700,000 pps, RX: 303,180 pps, Drop: 56.6886%, Lat avg: 0.0 us

--- Packet size: 512B ---
  Target: 70,000 pps ... TX: 70,000 pps, RX: 69,000 pps, Drop: 1.4286%, Lat avg: 0.0 us
  Target: 140,000 pps ... TX: 140,000 pps, RX: 138,987 pps, Drop: 0.7237%, Lat avg: 0.0 us
  Target: 350,000 pps ... TX: 350,000 pps, RX: 220,642 pps, Drop: 36.9593%, Lat avg: 0.0 us
  Target: 700,000 pps ... TX: 700,000 pps, RX: 221,023 pps, Drop: 68.4253%, Lat avg: 0.0 us

--- Packet size: 1400B ---
  Target: 70,000 pps ... TX: 70,000 pps, RX: 69,000 pps, Drop: 1.4285%, Lat avg: 0.0 us
  Target: 140,000 pps ... TX: 140,000 pps, RX: 138,144 pps, Drop: 1.3258%, Lat avg: 0.0 us
  Target: 350,000 pps ... TX: 350,000 pps, RX: 138,241 pps, Drop: 60.5027%, Lat avg: 0.0 us
  Target: 700,000 pps ... TX: 476,696 pps, RX: 147,147 pps, Drop: 69.1319%, Lat avg: 0.0 us

--- Packet size: 8500B ---
  (jumbo: capping at 418,133 pps for 30.0 Gbps limit)
  Target: 70,000 pps ... TX: 70,000 pps, RX: 53,174 pps, Drop: 24.0371%, Lat avg: 0.0 us
  Target: 140,000 pps ... TX: 78,347 pps, RX: 56,611 pps, Drop: 27.7436%, Lat avg: 0.0 us
  Target: 350,000 pps ... TX: 78,356 pps, RX: 56,718 pps, Drop: 27.6154%, Lat avg: 0.0 us
  Target: 700,000 pps ... SKIPPED (exceeds 30.0 Gbps cap)

Results written to /tmp/perf-results/tokio-dpdk.json
EXIT_CODE=0

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[Perf] Stage: Benchmark (4/4)

Running native-dpdk benchmark...
Packet sizes: 64,512,1400,8500 | Duration: 30s/step | Target PPS: 70000,140000,350000,700000

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[Perf] Benchmark Diag: native-dpdk preflight

TRex API OK: 2 ports
  Port 0: 02:f6:c5:33:c6:75
  Port 1: 02:6c:dd:47:22:0d
PREFLIGHT_OK

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[Perf] Benchmark Diag: native-dpdk result

SSM exit: 0

Output (last 30 lines)
Duration per step: 30s
Source MAC: 02:f6:c5:33:c6:75

--- Packet size: 64B ---
  Target: 70,000 pps ... TX: 70,000 pps, RX: 70,000 pps, Drop: 0.0%, Lat avg: 128.0 us
  Target: 140,000 pps ... TX: 140,000 pps, RX: 139,997 pps, Drop: 0.002%, Lat avg: 130.0 us
  Target: 350,000 pps ... TX: 350,000 pps, RX: 349,936 pps, Drop: 0.0183%, Lat avg: 163.0 us
  Target: 700,000 pps ... TX: 700,000 pps, RX: 698,763 pps, Drop: 0.1767%, Lat avg: 208.0 us

--- Packet size: 512B ---
  Target: 70,000 pps ... TX: 70,000 pps, RX: 70,000 pps, Drop: 0.0%, Lat avg: 126.0 us
  Target: 140,000 pps ... TX: 140,000 pps, RX: 139,993 pps, Drop: 0.0052%, Lat avg: 134.0 us
  Target: 350,000 pps ... TX: 350,000 pps, RX: 350,000 pps, Drop: 0.0%, Lat avg: 158.0 us
  Target: 700,000 pps ... TX: 700,000 pps, RX: 692,824 pps, Drop: 1.0252%, Lat avg: 269.0 us

--- Packet size: 1400B ---
  Target: 70,000 pps ... TX: 70,000 pps, RX: 70,000 pps, Drop: 0.0%, Lat avg: 126.0 us
  Target: 140,000 pps ... TX: 140,000 pps, RX: 140,000 pps, Drop: 0.0%, Lat avg: 132.0 us
  Target: 350,000 pps ... TX: 350,000 pps, RX: 349,984 pps, Drop: 0.0047%, Lat avg: 172.0 us
  Target: 700,000 pps ... TX: 476,662 pps, RX: 475,803 pps, Drop: 0.1801%, Lat avg: 2915.0 us

--- Packet size: 8500B ---
  (jumbo: capping at 418,133 pps for 30.0 Gbps limit)
  Target: 70,000 pps ... TX: 70,000 pps, RX: 70,000 pps, Drop: 0.0%, Lat avg: 156.0 us
  Target: 140,000 pps ... TX: 78,293 pps, RX: 78,271 pps, Drop: 0.0279%, Lat avg: 14232.0 us
  Target: 350,000 pps ... TX: 78,356 pps, RX: 76,221 pps, Drop: 2.7255%, Lat avg: 15183.0 us
  Target: 700,000 pps ... SKIPPED (exceeds 30.0 Gbps cap)

Results written to /tmp/perf-results/native-dpdk.json
EXIT_CODE=0

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[Perf] Diag: testpmd log

testpmd output (last 30 lines)
=== testpmd stats (last 30 lines) ===
  ############################################################################
Telling cores to stop...
Waiting for lcores to finish...

  ---------------------- Forward statistics for port 0  ----------------------
  RX-packets: 113486539      RX-dropped: 0             RX-total: 113486539
  RX-error: 403622
  RX-nombufs: 0             
  TX-packets: 113486332      TX-dropped: 207           TX-total: 113486539
  ----------------------------------------------------------------------------

  +++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
  RX-packets: 113486539      RX-dropped: 0             RX-total: 113486539
  TX-packets: 113486332      TX-dropped: 207           TX-total: 113486539
  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Done.

Stopping port 0...
Stopping ports...
Done

Shutting down port 0...
ena_rx_queue_release(): Rx queue 0:0 released
ena_tx_queue_release(): Tx queue 0:0 released
Closing ports...
Port 0 is closed
Done

Bye...
=== ENA port stats ===
N/A (vfio-pci)

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[Perf] Stage: Results

[18:38:57] INFO Generating markdown summary...

Performance Test Results — unknown

Commit: 0a1e8c29
Timestamp: 2026-06-05T18:38:57.733064+00:00

64B packets

Config Target PPS TX pps RX pps Drop % NIC imissed NIC ierrors NIC nombuf App Drops Lat Avg (us) Lat Max (us) TX Mbps RX Mbps
native-dpdk 70,000 70,000 70,000 0.00% 128.0 9867.0 35.8 35.8
native-dpdk 140,000 140,000 139,997 0.00% 130.0 508.0 71.7 71.7
native-dpdk 350,000 350,000 349,936 0.02% 163.0 3895.0 179.2 179.2
native-dpdk 700,000 700,000 698,763 0.18% 208.0 3349.0 358.4 357.8
rust-dpdk 70,000 70,000 68,978 1.46% 0 33,208 0 0 0.0 0.0 35.8 35.3
rust-dpdk 140,000 140,000 138,904 0.78% 0 41,868 0 0 0.0 0.0 71.7 71.1
rust-dpdk 350,000 350,000 348,601 0.40% 0 35,064 0 0 0.0 0.0 179.2 178.5
rust-dpdk 700,000 700,000 693,327 0.95% 0 31,866 0 0 0.0 0.0 358.4 355.0
tokio-dpdk 70,000 70,000 68,992 1.44% 0 31,651 0 0 0.0 0.0 35.8 38.6
tokio-dpdk 140,000 140,000 139,000 0.71% 0 38,959 0 0 0.0 0.0 71.7 77.8
tokio-dpdk 350,000 350,000 302,598 13.54% 0 22,023 0 0 0.0 0.0 179.2 169.4
tokio-dpdk 700,000 700,000 303,180 56.69% 0 24,123 0 0 0.0 0.0 358.4 169.8
plain-rust 70,000 70,000 68,999 1.43% 240.0 0.0 35.8 35.3
plain-rust 140,000 140,000 138,995 0.72% 0.0 0.0 71.7 71.2
plain-rust 350,000 350,000 346,336 1.05% 0.0 0.0 179.2 177.3
plain-rust 700,000 700,000 485,680 30.62% 0.0 0.0 358.4 248.7

512B packets

Config Target PPS TX pps RX pps Drop % NIC imissed NIC ierrors NIC nombuf App Drops Lat Avg (us) Lat Max (us) TX Mbps RX Mbps
native-dpdk 70,000 70,000 70,000 0.00% 126.0 286.0 286.7 286.7
native-dpdk 140,000 140,000 139,993 0.01% 134.0 770.0 573.4 573.4
native-dpdk 350,000 350,000 350,000 0.00% 158.0 899.0 1433.6 1433.6
native-dpdk 700,000 700,000 692,824 1.03% 269.0 4924.0 2867.2 2837.8
rust-dpdk 70,000 70,000 68,987 1.45% 0 41,902 0 0 150.0 0.0 286.7 282.6
rust-dpdk 140,000 140,000 138,942 0.76% 0 32,935 0 0 0.0 0.0 573.4 569.1
rust-dpdk 350,000 350,000 348,844 0.33% 0 41,869 0 0 0.0 0.0 1433.6 1428.9
rust-dpdk 700,000 700,000 673,282 3.82% 0 34,755 0 0 0.0 0.0 2867.2 2757.8
tokio-dpdk 70,000 70,000 69,000 1.43% 0 35,445 0 0 0.0 0.0 286.7 285.9
tokio-dpdk 140,000 140,000 138,987 0.72% 0 30,900 0 0 0.0 0.0 573.4 576.0
tokio-dpdk 350,000 350,000 220,642 36.96% 0 20,053 0 0 0.0 0.0 1433.6 914.3
tokio-dpdk 700,000 700,000 221,023 68.43% 0 12,033 0 0 0.0 0.0 2867.2 915.9
plain-rust 70,000 70,000 68,985 1.45% 181.0 0.0 286.7 282.6
plain-rust 140,000 140,000 138,992 0.72% 266.0 0.0 573.4 569.3
plain-rust 350,000 350,000 342,625 2.11% 493.0 0.0 1433.6 1403.4
plain-rust 700,000 700,000 411,087 41.27% 0.0 0.0 2867.2 1683.8

1400B packets

Config Target PPS TX pps RX pps Drop % NIC imissed NIC ierrors NIC nombuf App Drops Lat Avg (us) Lat Max (us) TX Mbps RX Mbps
native-dpdk 70,000 70,000 70,000 0.00% 126.0 1667.0 784.0 784.0
native-dpdk 140,000 140,000 140,000 0.00% 132.0 481.0 1568.0 1568.0
native-dpdk 350,000 350,000 349,984 0.00% 172.0 1018.0 3920.0 3919.8
native-dpdk 700,000 476,662 475,803 0.18% 2915.0 11667.0 5338.6 5329.0
rust-dpdk 70,000 70,000 68,958 1.49% 0 31,914 0 0 0.0 0.0 784.0 772.3
rust-dpdk 140,000 140,000 138,983 0.73% 0 41,893 0 0 0.0 0.0 1568.0 1556.6
rust-dpdk 350,000 350,000 348,761 0.35% 0 31,704 0 0 0.0 0.0 3920.0 3906.1
rust-dpdk 700,000 476,647 474,955 0.35% 0 32,125 0 0 0.0 0.0 5338.4 5319.5
tokio-dpdk 70,000 70,000 69,000 1.43% 0 39,760 0 0 0.0 0.0 784.0 776.1
tokio-dpdk 140,000 140,000 138,144 1.33% 0 29,540 0 0 0.0 0.0 1568.0 1553.8
tokio-dpdk 350,000 350,000 138,241 60.50% 0 6,923 0 0 0.0 0.0 3920.0 1554.9
tokio-dpdk 700,000 476,696 147,147 69.13% 0 11,203 0 0 0.0 0.0 5339.0 1655.1
plain-rust 70,000 70,000 68,982 1.45% 207.0 0.0 784.0 772.6
plain-rust 140,000 140,000 138,950 0.75% 0.0 0.0 1568.0 1556.2
plain-rust 350,000 350,000 340,725 2.65% 0.0 0.0 3920.0 3816.1
plain-rust 700,000 476,660 443,222 7.02% 0.0 0.0 5338.6 4964.1

8500B packets

Config Target PPS TX pps RX pps Drop % NIC imissed NIC ierrors NIC nombuf App Drops Lat Avg (us) Lat Max (us) TX Mbps RX Mbps
native-dpdk 70,000 70,000 70,000 0.00% 156.0 271.0 4760.0 4760.0
native-dpdk 140,000 78,293 78,271 0.03% 14232.0 15073.0 5323.9 5322.4
native-dpdk 350,000 78,356 76,221 2.73% 15183.0 18737.0 5328.2 5183.0
rust-dpdk 70,000 70,000 69,000 1.43% 0 32,332 0 0 0.0 0.0 4760.0 4692.0
rust-dpdk 140,000 78,337 75,417 3.73% 0 18,124 0 0 0.0 0.0 5326.9 5128.3
rust-dpdk 350,000 78,282 77,215 1.36% 0 10,543 0 0 0.0 0.0 5323.2 5250.6
tokio-dpdk 70,000 70,000 53,174 24.04% 0 21,078 0 0 0.0 0.0 4760.0 3618.4
tokio-dpdk 140,000 78,347 56,611 27.74% 0 15,432 0 0 0.0 0.0 5327.6 3852.2
tokio-dpdk 350,000 78,356 56,718 27.62% 0 4,913 0 0 0.0 0.0 5328.2 3859.5
plain-rust 70,000 70,000 36,719 47.54% 0.0 0.0 4760.0 2496.9
plain-rust 140,000 78,347 77,762 0.75% 0.0 0.0 5327.6 5287.8
plain-rust 350,000 78,288 76,434 2.37% 0.0 0.0 5323.6 5197.5

NIC Drops Instrumentation Self-Check

Compares (NIC-FINAL − NIC-BASELINE) one-shot snapshots against the sum of per-tick [PERF] deltas over the reporter's lifetime. These MUST match exactly — a mismatch means per-tick delta bookkeeping is losing data.

Config Status imissed (expected / actual / Δ) ierrors (expected / actual / Δ) rx_nombuf (expected / actual / Δ)
native-dpdk no instrumentation
rust-dpdk no FINAL (abnormal shutdown)
tokio-dpdk OK 0 / 0 / 0 282,825 / 282,825 / 0 0 / 0 / 0
plain-rust no instrumentation

expected = FINAL − BASELINE (raw NIC counter delta across reporter lifetime). actual = sum of per-tick [PERF] delta fields. Any Δ ≠ 0 is a bug in the tick loop's bookkeeping.

plain-rust Kernel NIC Drops (ethtool -S delta)

ethtool snapshots not available — baseline or final file missing in $LOGS_DIR/dut-plain-rust-ethtool-*.txt.

Full results artifact

@gspivey gspivey merged commit 031bf3b into development Jun 5, 2026
5 checks passed
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

Synthetic Performance Results (run)

Commit: 84a154fa

✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)

Synthetic UDP Performance Results

Measures framework overhead: sync dpdk_udp::UdpSocket vs async (std::sync::Mutex + try_recv_from).

IPv4 Baseline

Test Payload Sync PPS Async PPS Ratio (sync/async) Async ns/op
TX send_to 64B 11.4M 10.8M 1.0x 92
RX recv_from 64B 3.3M 4.6M 0.7x 218
TX send_to 1400B 1.6M 1.6M 1.0x 612
RX recv_from 1400B 988.3K 1.0M 0.9x 958

IPv6

Test Payload Sync PPS Async PPS Ratio (sync/async) Async ns/op
TX send_to (IPv6) 64B 8.6M 8.5M 1.0x 117
RX recv_from (IPv6) 64B 3.9M 5.5M 0.7x 181
TX send_to (IPv6) 1400B 2.7M 2.6M 1.0x 377
RX recv_from (IPv6) 1400B 988.9K 1.1M 0.9x 945

IPv6 vs IPv4 Comparison (sync path)

Test Payload IPv4 PPS IPv6 PPS IPv4/IPv6 Ratio
TX send_to (sync) 64B 11.4M 8.6M 1.32x
RX recv_from (sync) 64B 3.3M 3.9M 0.85x
TX send_to (sync) 1400B 1.6M 2.7M 0.61x
RX recv_from (sync) 1400B 988.3K 988.9K 1.00x

IPv4 avg sync/async ratio: 0.9x, worst: 1.0x | IPv6 vs IPv4 worst ratio: 1.32x (OK)

OK: IPv6 is 31.6% slower than IPv4 — within acceptable threshold (<50%). Expected due to larger headers (40B vs 20B) and mandatory UDP checksum.

Good: Async wrapper is within 1.0x of sync — minimal framework overhead.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

Synthetic Performance Results — Graviton (run)

Commit: 84a154fa

✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to 10.0.0.1:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)
✅ synthetic UDP socket bound to [2001:db8::1]:9000 (MAC: 02:00:00:00:00:01)

Synthetic UDP Performance Results

Measures framework overhead: sync dpdk_udp::UdpSocket vs async (std::sync::Mutex + try_recv_from).

IPv4 Baseline

Test Payload Sync PPS Async PPS Ratio (sync/async) Async ns/op
TX send_to 64B 11.4M 11.0M 1.0x 91
RX recv_from 64B 3.4M 4.3M 0.8x 230
TX send_to 1400B 1.6M 1.6M 1.0x 612
RX recv_from 1400B 1.0M 1.1M 0.9x 927

IPv6

Test Payload Sync PPS Async PPS Ratio (sync/async) Async ns/op
TX send_to (IPv6) 64B 8.6M 8.4M 1.0x 118
RX recv_from (IPv6) 64B 3.9M 5.5M 0.7x 182
TX send_to (IPv6) 1400B 2.7M 2.6M 1.0x 383
RX recv_from (IPv6) 1400B 1.1M 1.1M 0.9x 874

IPv6 vs IPv4 Comparison (sync path)

Test Payload IPv4 PPS IPv6 PPS IPv4/IPv6 Ratio
TX send_to (sync) 64B 11.4M 8.6M 1.32x
RX recv_from (sync) 64B 3.4M 3.9M 0.87x
TX send_to (sync) 1400B 1.6M 2.7M 0.62x
RX recv_from (sync) 1400B 1.0M 1.1M 0.94x

IPv4 avg sync/async ratio: 0.9x, worst: 1.0x | IPv6 vs IPv4 worst ratio: 1.32x (OK)

OK: IPv6 is 32.1% slower than IPv4 — within acceptable threshold (<50%). Expected due to larger headers (40B vs 20B) and mandatory UDP checksum.

Good: Async wrapper is within 1.0x of sync — minimal framework overhead.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[CI] Stage: Deploy

Infrastructure ready.

  • Sender: i-0df157ca5dd66860b (DPDK ENI: 10.0.1.38)
  • Receiver: i-0a91d8aa6c30ded46 (DPDK ENI: 10.0.1.26)
  • Both instances SSM-ready.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[CI] Stage: Deploy

Infrastructure ready.

  • Sender: i-03c4ee0200b353262 (DPDK ENI: 10.0.1.47)
  • Receiver: i-046738f47ce0ecdc3 (DPDK ENI: 10.0.1.219)
  • Both instances SSM-ready.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[CI] Stage: Summary

All tests PASSED.

ARP seeding: kernel /proc/net/arp (automatic)

  • tier1-dpdk-echo: 6 tests, 0 failures
  • tier2-kernel-interop: 4 tests, 0 failures
  • tier3-iperf-interop: 1 tests, 0 failures
  • tier3-iperf-interop: 1 tests, 0 failures

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

✅ Integration Tests Passed — Graviton (run)

Branch: 65/merge | Commit: 84a154fa

Test Results

  • tier1-dpdk-echo.xml: 6 tests, 0 failures
  • tier2-kernel-interop.xml: 4 tests, 0 failures
  • tier3-iperf-sends.xml: 1 tests, 0 failures
  • tier3-our-app-sends.xml: 1 tests, 0 failures

Application Logs (last 20 lines)

receiver-echo-server.log

EAL: Detected CPU lcores: 2
EAL: Detected NUMA nodes: 1
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
EAL: Using IOMMU type 8 (No-IOMMU)
EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:06.0 (socket -1)
TELEMETRY: No legacy callbacks, legacy socket not created
Warning: Some RX offloads not supported by device (flags: 0x1)
Warning: Some TX offloads not supported by device (flags: 0x1)
✅ DPDK UDP socket bound to 10.0.1.219:9000 (MAC: 02:d6:db:23:c4:61)
echo listening on 10.0.1.219:9000 (MTU=9001, max_udp_payload=8973)
Shutting down gracefully...

sender-echo-server.log

EAL: Detected CPU lcores: 2
EAL: Detected NUMA nodes: 1
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
EAL: Using IOMMU type 8 (No-IOMMU)
EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:06.0 (socket -1)
TELEMETRY: No legacy callbacks, legacy socket not created
Warning: Some RX offloads not supported by device (flags: 0x1)
Warning: Some TX offloads not supported by device (flags: 0x1)
✅ DPDK UDP socket bound to 10.0.1.47:9000 (MAC: 02:c1:3b:57:8a:53)
echo listening on 10.0.1.47:9000 (MTU=9001, max_udp_payload=8973)
Shutting down gracefully...

sender-test-client.log

EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
TELEMETRY: No legacy callbacks, legacy socket not created
DPDK bind failed (Port init failed: Invalid port ID: 0), falling back to tokio
Backend: tokio
Sending packets...
Sent 12 bytes: 'arp-probe #1'
Received 12 bytes from 10.0.1.219:9000: 'arp-probe #1'
Test complete
[2026-06-05T19:46:00Z] INFO: ARP resolution succeeded (got response from peer)
[2026-06-05T19:46:00Z] INFO: Test: udp_send_receive
[2026-06-05T19:46:01Z] INFO: UDP send/receive succeeded
[2026-06-05T19:46:01Z] INFO: Test: echo_roundtrip
[2026-06-05T19:46:02Z] INFO: Echo roundtrip succeeded: 5/5 responses received
[2026-06-05T19:46:02Z] INFO: Test: payload_integrity
[2026-06-05T19:46:02Z] INFO: Response received, checking payload match...
[2026-06-05T19:46:02Z] INFO: Payload integrity verified (found in response)
[2026-06-05T19:46:02Z] INFO: JUnit XML written to: /tmp/test-results/tier2-kernel-interop.xml
[2026-06-05T19:46:02Z] INFO: Tier 2 sender tests complete. Results: /tmp/test-results/tier2-kernel-interop.xml

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

[CI] Stage: Summary

All tests PASSED.

ARP seeding: kernel /proc/net/arp (automatic)

  • tier1-dpdk-echo: 6 tests, 0 failures
  • tier2-kernel-interop: 4 tests, 0 failures
  • tier3-iperf-interop: 1 tests, 0 failures
  • tier3-iperf-interop: 1 tests, 0 failures

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

✅ Integration Tests Passed (Run 27035725623)

Branch: 65/merge | Commit: 84a154fa

Test Results

  • tier1-dpdk-echo.xml: 6 tests, 0 failures, skipped
  • tier2-kernel-interop.xml: 4 tests, 0 failures, skipped
  • tier3-iperf-sends.xml: 1 tests, 0 failures, skipped
  • tier3-our-app-sends.xml: 1 tests, 0 failures, skipped

Application Logs (last 20 lines)

receiver-echo-server.log

EAL: Detected CPU lcores: 2
EAL: Detected NUMA nodes: 1
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
EAL: Using IOMMU type 8 (No-IOMMU)
EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:06.0 (socket -1)
TELEMETRY: No legacy callbacks, legacy socket not created
Warning: Some RX offloads not supported by device (flags: 0x1)
Warning: Some TX offloads not supported by device (flags: 0x1)
✅ DPDK UDP socket bound to 10.0.1.26:9000 (MAC: 02:3b:51:da:0b:c7)
echo listening on 10.0.1.26:9000 (MTU=9001, max_udp_payload=8973)
Shutting down gracefully...

sender-echo-server.log

EAL: Detected CPU lcores: 2
EAL: Detected NUMA nodes: 1
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
EAL: Using IOMMU type 8 (No-IOMMU)
EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:06.0 (socket -1)
TELEMETRY: No legacy callbacks, legacy socket not created
Warning: Some RX offloads not supported by device (flags: 0x1)
Warning: Some TX offloads not supported by device (flags: 0x1)
✅ DPDK UDP socket bound to 10.0.1.38:9000 (MAC: 02:54:25:9b:d8:0d)
echo listening on 10.0.1.38:9000 (MTU=9001, max_udp_payload=8973)
Shutting down gracefully...

sender-test-client.log

EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
TELEMETRY: No legacy callbacks, legacy socket not created
DPDK bind failed (Port init failed: Invalid port ID: 0), falling back to tokio
Backend: tokio
Sending packets...
Sent 12 bytes: 'arp-probe #1'
Received 12 bytes from 10.0.1.26:9000: 'arp-probe #1'
Test complete
[2026-06-05T19:44:55Z] INFO: ARP resolution succeeded (got response from peer)
[2026-06-05T19:44:55Z] INFO: Test: udp_send_receive
[2026-06-05T19:44:56Z] INFO: UDP send/receive succeeded
[2026-06-05T19:44:56Z] INFO: Test: echo_roundtrip
[2026-06-05T19:44:56Z] INFO: Echo roundtrip succeeded: 5/5 responses received
[2026-06-05T19:44:56Z] INFO: Test: payload_integrity
[2026-06-05T19:44:57Z] INFO: Response received, checking payload match...
[2026-06-05T19:44:57Z] INFO: Payload integrity verified (found in response)
[2026-06-05T19:44:57Z] INFO: JUnit XML written to: /tmp/test-results/tier2-kernel-interop.xml
[2026-06-05T19:44:57Z] INFO: Tier 2 sender tests complete. Results: /tmp/test-results/tier2-kernel-interop.xml

receiver-test-client-iperf.log

[2026-06-05T19:51:49Z] INFO: iperf-sends: sent 10 packets, received 10 responses
[2026-06-05T19:51:49Z] INFO: iperf-sends: PASS (sent >= 5 packets)
[2026-06-05T19:51:49Z] INFO: JUnit XML written to: /tmp/test-results/tier3-iperf-sends.xml
[2026-06-05T19:51:49Z] INFO: iperf-sends test complete

sender-test-client-iperf.log

Received 30 bytes from 10.0.1.26:9000: 'dpdk-to-kernel-test-payload #3'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #4'
Received 30 bytes from 10.0.1.26:9000: 'dpdk-to-kernel-test-payload #4'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #5'
Received 30 bytes from 10.0.1.26:9000: 'dpdk-to-kernel-test-payload #5'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #6'
Received 30 bytes from 10.0.1.26:9000: 'dpdk-to-kernel-test-payload #6'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #7'
Received 30 bytes from 10.0.1.26:9000: 'dpdk-to-kernel-test-payload #7'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #8'
Received 30 bytes from 10.0.1.26:9000: 'dpdk-to-kernel-test-payload #8'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #9'
Received 30 bytes from 10.0.1.26:9000: 'dpdk-to-kernel-test-payload #9'
Sent 31 bytes: 'dpdk-to-kernel-test-payload #10'
Received 31 bytes from 10.0.1.26:9000: 'dpdk-to-kernel-test-payload #10'
Test complete
[2026-06-05T19:50:47Z] INFO: our-app-sends: sent 10 packets, received 10 responses
[2026-06-05T19:50:47Z] INFO: our-app-sends: PASS (sent >= 5 packets)
[2026-06-05T19:50:47Z] INFO: JUnit XML written to: /tmp/test-results/tier3-our-app-sends.xml
[2026-06-05T19:50:47Z] INFO: our-app-sends test complete
Full Application Logs (last 200 lines each)

receiver-echo-server.log

EAL: Detected CPU lcores: 2
EAL: Detected NUMA nodes: 1
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
EAL: Using IOMMU type 8 (No-IOMMU)
EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:06.0 (socket -1)
TELEMETRY: No legacy callbacks, legacy socket not created
Warning: Some RX offloads not supported by device (flags: 0x1)
Warning: Some TX offloads not supported by device (flags: 0x1)
✅ DPDK UDP socket bound to 10.0.1.26:9000 (MAC: 02:3b:51:da:0b:c7)
echo listening on 10.0.1.26:9000 (MTU=9001, max_udp_payload=8973)
Shutting down gracefully...

sender-echo-server.log

EAL: Detected CPU lcores: 2
EAL: Detected NUMA nodes: 1
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
EAL: Using IOMMU type 8 (No-IOMMU)
EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:06.0 (socket -1)
TELEMETRY: No legacy callbacks, legacy socket not created
Warning: Some RX offloads not supported by device (flags: 0x1)
Warning: Some TX offloads not supported by device (flags: 0x1)
✅ DPDK UDP socket bound to 10.0.1.38:9000 (MAC: 02:54:25:9b:d8:0d)
echo listening on 10.0.1.38:9000 (MTU=9001, max_udp_payload=8973)
Shutting down gracefully...

sender-test-client.log

[2026-06-05T19:38:53Z] INFO: Test: arp_resolution
UDP Test Client
Target: 10.0.1.26:9000
Bind address: 10.0.1.38:0
Message: 'arp-probe'
Count: 1
EAL: Detected CPU lcores: 2
EAL: Detected NUMA nodes: 1
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
EAL: Using IOMMU type 8 (No-IOMMU)
EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:06.0 (socket -1)
TELEMETRY: No legacy callbacks, legacy socket not created
Warning: Some RX offloads not supported by device (flags: 0x1)
Warning: Some TX offloads not supported by device (flags: 0x1)
✅ DPDK UDP socket bound to 10.0.1.38:32768 (MAC: 02:54:25:9b:d8:0d)
Backend: dpdk
Sending packets...
Sent 12 bytes: 'arp-probe #1'
Received 12 bytes from 10.0.1.26:9000: 'arp-probe #1'
Test complete
[2026-06-05T19:38:54Z] INFO: ARP resolution succeeded (got response from peer)
[2026-06-05T19:38:54Z] INFO: Test: udp_send_receive
[2026-06-05T19:38:56Z] INFO: UDP send/receive succeeded
[2026-06-05T19:38:56Z] INFO: Test: echo_roundtrip
[2026-06-05T19:38:57Z] INFO: Echo roundtrip succeeded: 5/5 responses received
[2026-06-05T19:38:57Z] INFO: Test: payload_integrity
[2026-06-05T19:38:58Z] INFO: Response received, checking payload match...
[2026-06-05T19:38:58Z] INFO: Payload integrity verified (found in response)
[2026-06-05T19:38:58Z] INFO: Test: jumbo_diagnostics
[2026-06-05T19:38:58Z] INFO: === JUMBO FRAME DIAGNOSTICS ===
[2026-06-05T19:38:58Z] INFO: Interface MTU:
  1500
  9001
  65536
[2026-06-05T19:38:58Z] INFO:   docker0: MTU=1500
[2026-06-05T19:38:58Z] INFO:   ens5: MTU=9001
[2026-06-05T19:38:58Z] INFO:   lo: MTU=65536
[2026-06-05T19:38:58Z] INFO: Routing table MTU column:
Iface	Destination	Gateway 	Flags	RefCnt	Use	Metric	Mask		MTU	Window	IRTT                                                       
ens5	00000000	0101000A	0003	0	0	512	00000000	0	0	0                                                                             
ens5	0200000A	0101000A	0007	0	0	512	FFFFFFFF	0	0	0                                                                             
ens5	0001000A	00000000	0001	0	0	512	00FFFFFF	0	0	0                                                                             
ens5	0101000A	00000000	0005	0	0	512	FFFFFFFF	0	0	0                                                                             
[2026-06-05T19:38:58Z] INFO: DPDK port config (from echo server log):
[2026-06-05T19:38:58Z] INFO:   (no MTU info in echo log)
[2026-06-05T19:38:58Z] INFO: === END JUMBO DIAGNOSTICS ===
[2026-06-05T19:38:58Z] INFO: Test: jumbo_echo_8000
[2026-06-05T19:39:00Z] INFO: Jumbo output: UDP Test Client
Target: 10.0.1.26:9000
Bind address: 10.0.1.38:0
Payload size: 8000 bytes
Count: 3
EAL: Detected CPU lcores: 2
EAL: Detected NUMA nodes: 1
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
EAL: Using IOMMU type 8 (No-IOMMU)
EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:06.0 (socket -1)
TELEMETRY: No legacy callbacks, legacy socket not created
Warning: Some RX offloads not supported by device (flags: 0x1)
Warning: Some TX offloads not supported by device (flags: 0x1)
✅ DPDK UDP socket bound to 10.0.1.38:32768 (MAC: 02:54:25:9b:d8:0d)
Backend: dpdk
Sending packets...
Sent 8000 bytes (binary payload)
Received 8000 bytes from 10.0.1.26:9000 (expected 8000, OK)
Sent 8000 bytes (binary payload)
Received 8000 bytes from 10.0.1.26:9000 (expected 8000, OK)
Sent 8000 bytes (binary payload)
Received 8000 bytes from 10.0.1.26:9000 (expected 8000, OK)
Test complete
[2026-06-05T19:39:00Z] INFO: Jumbo frame echo succeeded: 3/3 responses with correct size
[2026-06-05T19:39:00Z] INFO: JUnit XML written to: /tmp/test-results/tier1-dpdk-echo.xml
[2026-06-05T19:39:00Z] INFO: Tier 1 sender tests complete. Results: /tmp/test-results/tier1-dpdk-echo.xml
[2026-06-05T19:44:54Z] INFO: Test: arp_resolution
UDP Test Client
Target: 10.0.1.26:9000
Bind address: 0.0.0.0:0
Message: 'arp-probe'
Count: 1
EAL: Detected CPU lcores: 2
EAL: Detected NUMA nodes: 1
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
TELEMETRY: No legacy callbacks, legacy socket not created
DPDK bind failed (Port init failed: Invalid port ID: 0), falling back to tokio
Backend: tokio
Sending packets...
Sent 12 bytes: 'arp-probe #1'
Received 12 bytes from 10.0.1.26:9000: 'arp-probe #1'
Test complete
[2026-06-05T19:44:55Z] INFO: ARP resolution succeeded (got response from peer)
[2026-06-05T19:44:55Z] INFO: Test: udp_send_receive
[2026-06-05T19:44:56Z] INFO: UDP send/receive succeeded
[2026-06-05T19:44:56Z] INFO: Test: echo_roundtrip
[2026-06-05T19:44:56Z] INFO: Echo roundtrip succeeded: 5/5 responses received
[2026-06-05T19:44:56Z] INFO: Test: payload_integrity
[2026-06-05T19:44:57Z] INFO: Response received, checking payload match...
[2026-06-05T19:44:57Z] INFO: Payload integrity verified (found in response)
[2026-06-05T19:44:57Z] INFO: JUnit XML written to: /tmp/test-results/tier2-kernel-interop.xml
[2026-06-05T19:44:57Z] INFO: Tier 2 sender tests complete. Results: /tmp/test-results/tier2-kernel-interop.xml

receiver-test-client-iperf.log

[2026-06-05T19:51:49Z] INFO: iperf-sends: sent 10 packets, received 10 responses
[2026-06-05T19:51:49Z] INFO: iperf-sends: PASS (sent >= 5 packets)
[2026-06-05T19:51:49Z] INFO: JUnit XML written to: /tmp/test-results/tier3-iperf-sends.xml
[2026-06-05T19:51:49Z] INFO: iperf-sends test complete

sender-test-client-iperf.log

[2026-06-05T19:50:44Z] INFO: Pre-flight: checking DPDK state and ARP cache...
[2026-06-05T19:50:44Z] INFO: Local IP: 10.0.1.38, Peer IP: 10.0.1.26, Port: 9000
[2026-06-05T19:50:44Z] INFO: /proc/net/arp contents:
IP address       HW type     Flags       HW address            Mask     Device
10.0.1.1         0x1         0x2         02:57:5f:e6:43:07     *        ens5
10.0.1.38        0x1         0x2         02:54:25:9b:d8:0d     *        ens5
10.0.1.26        0x1         0x2         02:3b:51:da:0b:c7     *        ens5
10.0.1.137       0x1         0x2         02:08:32:fa:a0:17     *        ens5
[2026-06-05T19:50:44Z] INFO: DPDK runtime state:
No /var/run/dpdk/ directory
[2026-06-05T19:50:44Z] INFO: vfio-pci bindings:
0000:00:06.0
bind
module
new_id
remove_id
uevent
unbind
[2026-06-05T19:50:44Z] INFO: Test binary: /opt/dpdk-stdlib/target/release/test-client
-rwxr-xr-x. 2 root root 1916408 Jun  5 19:37 /opt/dpdk-stdlib/target/release/test-client
[2026-06-05T19:50:44Z] INFO: Launching test-client: /opt/dpdk-stdlib/target/release/test-client --target 10.0.1.26 --port 9000 --bind-ip 10.0.1.38 --count 10 --delay 200
[2026-06-05T19:50:47Z] INFO: Test client output: UDP Test Client
Target: 10.0.1.26:9000
Bind address: 10.0.1.38:0
Message: 'dpdk-to-kernel-test-payload'
Count: 10
EAL: Detected CPU lcores: 2
EAL: Detected NUMA nodes: 1
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
EAL: Using IOMMU type 8 (No-IOMMU)
EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:06.0 (socket -1)
TELEMETRY: No legacy callbacks, legacy socket not created
Warning: Some RX offloads not supported by device (flags: 0x1)
Warning: Some TX offloads not supported by device (flags: 0x1)
✅ DPDK UDP socket bound to 10.0.1.38:32768 (MAC: 02:54:25:9b:d8:0d)
Backend: dpdk
Sending packets...
Sent 30 bytes: 'dpdk-to-kernel-test-payload #1'
Received 30 bytes from 10.0.1.26:9000: 'dpdk-to-kernel-test-payload #1'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #2'
Received 30 bytes from 10.0.1.26:9000: 'dpdk-to-kernel-test-payload #2'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #3'
Received 30 bytes from 10.0.1.26:9000: 'dpdk-to-kernel-test-payload #3'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #4'
Received 30 bytes from 10.0.1.26:9000: 'dpdk-to-kernel-test-payload #4'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #5'
Received 30 bytes from 10.0.1.26:9000: 'dpdk-to-kernel-test-payload #5'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #6'
Received 30 bytes from 10.0.1.26:9000: 'dpdk-to-kernel-test-payload #6'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #7'
Received 30 bytes from 10.0.1.26:9000: 'dpdk-to-kernel-test-payload #7'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #8'
Received 30 bytes from 10.0.1.26:9000: 'dpdk-to-kernel-test-payload #8'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #9'
Received 30 bytes from 10.0.1.26:9000: 'dpdk-to-kernel-test-payload #9'
Sent 31 bytes: 'dpdk-to-kernel-test-payload #10'
Received 31 bytes from 10.0.1.26:9000: 'dpdk-to-kernel-test-payload #10'
Test complete
[2026-06-05T19:50:47Z] INFO: our-app-sends: sent 10 packets, received 10 responses
[2026-06-05T19:50:47Z] INFO: our-app-sends: PASS (sent >= 5 packets)
[2026-06-05T19:50:47Z] INFO: JUnit XML written to: /tmp/test-results/tier3-our-app-sends.xml
[2026-06-05T19:50:47Z] INFO: our-app-sends test complete
⚠️ SSM Command Failures (receiver-ssm-failure.log)
=== Polling timeout after 30s ===
Status: InProgress
Instance: i-0a91d8aa6c30ded46 (receiver)
Command ID: aff550b8-5ea8-4d93-ac58-be19f839c469

=== STDOUT ===


=== STDERR ===


=== Polling timeout after 30s ===
Status: InProgress
Instance: i-0a91d8aa6c30ded46 (receiver)
Command ID: 05be1ddb-08ee-4efa-8813-a269cc6c5fd2

=== STDOUT ===


=== STDERR ===


=== Polling timeout after 30s ===
Status: InProgress
Instance: i-0a91d8aa6c30ded46 (receiver)
Command ID: 1c1fb995-7578-49c2-b52a-1e1741adccb1

=== STDOUT ===


=== STDERR ===


=== Polling timeout after 30s ===
Status: InProgress
Instance: i-0a91d8aa6c30ded46 (receiver)
Command ID: c6e7783e-30d9-452b-808a-d6d4287eb447

=== STDOUT ===


=== STDERR ===


⚠️ SSM Command Failures (sender-ssm-failure.log)
=== Polling timeout after 30s ===
Status: InProgress
Instance: i-0df157ca5dd66860b (sender)
Command ID: 323f541d-f222-481a-8986-f7d7f4386236

=== STDOUT ===


=== STDERR ===


Network & PCI State

receiver-network-interfaces.log

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: ens5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000
    link/ether 02:9b:e1:98:17:85 brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname eni-06b67b81e235d0267
    altname device-number-0.0
    inet 10.0.1.49/24 metric 512 brd 10.0.1.255 scope global dynamic ens5
       valid_lft 1981sec preferred_lft 1981sec
    inet6 fe80::9b:e1ff:fe98:1785/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:2b:6a:07:de brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever

sender-network-interfaces.log

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: ens5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000
    link/ether 02:64:a7:37:84:0f brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname eni-0d091680db790cd7f
    altname device-number-0.0
    inet 10.0.1.226/24 metric 512 brd 10.0.1.255 scope global dynamic ens5
       valid_lft 2004sec preferred_lft 2004sec
    inet6 fe80::64:a7ff:fe37:840f/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:d1:3f:1d:60 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever

receiver-networking-diag-baseline.txt

=== NETWORKING DIAGNOSTICS ===
timestamp: 2026-06-05T19:38:12Z
hostname: ip-10-0-1-49.ec2.internal
kernel: 6.1.172-216.329.amzn2023.x86_64

=== DPDK PORT STATUS ===

Network devices using DPDK-compatible driver
============================================
0000:00:06.0 'Elastic Network Adapter (ENA) ec20' drv=vfio-pci unused=ena

Network devices using kernel driver
===================================
0000:00:05.0 'Elastic Network Adapter (ENA) ec20' if=ens5 drv=ena unused=vfio-pci *Active*

No 'Baseband' devices detected
==============================

No 'Crypto' devices detected
============================

No 'DMA' devices detected
=========================

No 'Eventdev' devices detected
==============================

No 'Mempool' devices detected
=============================

No 'Compress' devices detected
==============================

No 'Misc (rawdev)' devices detected
===================================

No 'Regex' devices detected
===========================

=== IP ADDRESSES ===
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: ens5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000
    link/ether 02:9b:e1:98:17:85 brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname eni-06b67b81e235d0267
    altname device-number-0.0
    inet 10.0.1.49/24 metric 512 brd 10.0.1.255 scope global dynamic ens5
       valid_lft 3341sec preferred_lft 3341sec
    inet6 fe80::9b:e1ff:fe98:1785/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:2b:6a:07:de brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever

=== ARP TABLE ===
10.0.1.105 dev ens5 lladdr 02:21:17:3c:ef:5d STALE 
10.0.1.1 dev ens5 lladdr 02:57:5f:e6:43:07 REACHABLE 
10.0.1.106 dev ens5 lladdr 02:a6:c8:f1:ab:33 REACHABLE 
10.0.1.137 dev ens5 lladdr 02:08:32:fa:a0:17 REACHABLE 

=== ROUTE TABLE ===
default via 10.0.1.1 dev ens5 proto dhcp src 10.0.1.49 metric 512 
10.0.0.2 via 10.0.1.1 dev ens5 proto dhcp src 10.0.1.49 metric 512 
10.0.1.0/24 dev ens5 proto kernel scope link src 10.0.1.49 metric 512 
10.0.1.1 dev ens5 proto dhcp scope link src 10.0.1.49 metric 512 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 

=== IMDS: ENI INFORMATION ===
ENI MACs found: 02:3b:51:da:0b:c7/ 02:9b:e1:98:17:85/ 

--- ENI: 02:3b:51:da:0b:c7/ ---
  device-number: 1
  local-ipv4s: 10.0.1.26
  subnet-id: subnet-005044a4379af6ce3
  subnet-cidr: 10.0.1.0/24

--- ENI: 02:9b:e1:98:17:85/ ---
  device-number: 0
  local-ipv4s: 10.0.1.49
  subnet-id: subnet-005044a4379af6ce3
  subnet-cidr: 10.0.1.0/24


=== GATEWAY ARP TEST ===
Gateway IP: 10.0.1.1
Gateway ARP entry:
10.0.1.1 dev ens5 lladdr 02:57:5f:e6:43:07 REACHABLE 

arping result:
ARPING 10.0.1.1 from 10.0.1.49 ens5
Unicast reply from 10.0.1.1 [02:57:5F:E6:43:07]  0.537ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)

=== HUGEPAGE STATUS ===
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
FileHugePages:         0 kB
HugePages_Total:    1024
HugePages_Free:     1024
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:         2097152 kB

=== VFIO STATUS ===
total 0
drwxr-xr-x.  2 root root       80 Jun  5 19:37 .
drwxr-xr-x. 14 root root     3100 Jun  5 19:37 ..
crw-------.  1 root root 243,   0 Jun  5 19:37 noiommu-0
crw-rw-rw-.  1 root root  10, 196 Jun  5 19:33 vfio

noiommu mode:
Y

=== DPDK SHARED MEMORY ===
no /var/run/dpdk/ directory (clean state)

=== DPDK-RELATED DMESG (last 30 lines) ===
[    0.065663] x86/fpu: Enabled xstate features 0x2ff, context size is 2568 bytes, using 'compacted' format.
[    0.072233] audit: type=2000 audit(1780688027.145:1): state=initialized audit_enabled=0 res=1
[    0.074476] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.
[    0.098454] ACPI: Interpreter enabled
[    0.098454] ACPI: Enabled 2 GPEs in block 00 to 0F
[    0.125794] pci 0000:00:05.0: enabling Extended Tags
[    0.156195] SGI XFS with ACLs, security attributes, quota, no debug enabled
[    0.186061] ACPI: \_SB_.LNKD: Enabled at IRQ 11
[    0.264124] IPI shorthand broadcast: enabled
[    0.264190] AES CTR mode by8 optimization enabled
[    3.054786] systemd[1]: Mounting dev-hugepages.mount - Huge Pages File System...
[    3.092422] systemd[1]: Mounted dev-hugepages.mount - Huge Pages File System.
[    3.137818] VFIO - User Level meta-driver version: 0.3
[    4.264809] ena 0000:00:05.0: Elastic Network Adapter (ENA) v2.16.1g
[    4.275097] ena 0000:00:05.0: ENA device version: 0.10
[    4.275813] ena 0000:00:05.0: ENA controller version: 0.0.1 implementation version 1
[    4.384626] ena 0000:00:05.0: ENA Large LLQ is disabled
[    4.396882] ena 0000:00:05.0: Elastic Network Adapter (ENA) found at mem c0500000, mac addr 02:9b:e1:98:17:85
[    4.454701] ena 0000:00:05.0 ens5: renamed from eth0
[    5.305240] ena 0000:00:05.0 ens5: Local page cache is disabled for less than 16 channels
[  211.107882] pci 0000:00:06.0: enabling Extended Tags
[  211.111475] ena 0000:00:06.0: enabling device (0000 -> 0002)
[  211.124191] ena 0000:00:06.0: ENA device version: 0.10
[  211.124887] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  211.224060] ena 0000:00:06.0: ENA Large LLQ is disabled
[  211.236207] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:3b:51:da:0b:c7
[  211.284099] ena 0000:00:06.0 ens6: renamed from eth0
[  211.600631] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[  251.288338] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  251.289622] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device

=== DPDK-RELATED PROCESSES ===
no DPDK processes running

=== END DIAGNOSTICS ===

sender-networking-diag-baseline.txt

=== NETWORKING DIAGNOSTICS ===
timestamp: 2026-06-05T19:38:04Z
hostname: ip-10-0-1-226.ec2.internal
kernel: 6.1.172-216.329.amzn2023.x86_64

=== DPDK PORT STATUS ===

Network devices using DPDK-compatible driver
============================================
0000:00:06.0 'Elastic Network Adapter (ENA) ec20' drv=vfio-pci unused=ena

Network devices using kernel driver
===================================
0000:00:05.0 'Elastic Network Adapter (ENA) ec20' if=ens5 drv=ena unused=vfio-pci *Active*

No 'Baseband' devices detected
==============================

No 'Crypto' devices detected
============================

No 'DMA' devices detected
=========================

No 'Eventdev' devices detected
==============================

No 'Mempool' devices detected
=============================

No 'Compress' devices detected
==============================

No 'Misc (rawdev)' devices detected
===================================

No 'Regex' devices detected
===========================

=== IP ADDRESSES ===
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: ens5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000
    link/ether 02:64:a7:37:84:0f brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname eni-0d091680db790cd7f
    altname device-number-0.0
    inet 10.0.1.226/24 metric 512 brd 10.0.1.255 scope global dynamic ens5
       valid_lft 3348sec preferred_lft 3348sec
    inet6 fe80::64:a7ff:fe37:840f/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:d1:3f:1d:60 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever

=== ARP TABLE ===
10.0.1.106 dev ens5 lladdr 02:a6:c8:f1:ab:33 STALE 
10.0.1.1 dev ens5 lladdr 02:57:5f:e6:43:07 REACHABLE 
10.0.1.137 dev ens5 lladdr 02:08:32:fa:a0:17 REACHABLE 
10.0.1.105 dev ens5 lladdr 02:21:17:3c:ef:5d STALE 

=== ROUTE TABLE ===
default via 10.0.1.1 dev ens5 proto dhcp src 10.0.1.226 metric 512 
10.0.0.2 via 10.0.1.1 dev ens5 proto dhcp src 10.0.1.226 metric 512 
10.0.1.0/24 dev ens5 proto kernel scope link src 10.0.1.226 metric 512 
10.0.1.1 dev ens5 proto dhcp scope link src 10.0.1.226 metric 512 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 

=== IMDS: ENI INFORMATION ===
ENI MACs found: 02:54:25:9b:d8:0d/ 02:64:a7:37:84:0f/ 

--- ENI: 02:54:25:9b:d8:0d/ ---
  device-number: 1
  local-ipv4s: 10.0.1.38
  subnet-id: subnet-005044a4379af6ce3
  subnet-cidr: 10.0.1.0/24

--- ENI: 02:64:a7:37:84:0f/ ---
  device-number: 0
  local-ipv4s: 10.0.1.226
  subnet-id: subnet-005044a4379af6ce3
  subnet-cidr: 10.0.1.0/24


=== GATEWAY ARP TEST ===
Gateway IP: 10.0.1.1
Gateway ARP entry:
10.0.1.1 dev ens5 lladdr 02:57:5f:e6:43:07 REACHABLE 

arping result:
ARPING 10.0.1.1 from 10.0.1.226 ens5
Unicast reply from 10.0.1.1 [02:57:5F:E6:43:07]  0.534ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)

=== HUGEPAGE STATUS ===
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
FileHugePages:         0 kB
HugePages_Total:    1024
HugePages_Free:     1024
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:         2097152 kB

=== VFIO STATUS ===
total 0
drwxr-xr-x.  2 root root       80 Jun  5 19:37 .
drwxr-xr-x. 14 root root     3100 Jun  5 19:37 ..
crw-------.  1 root root 243,   0 Jun  5 19:37 noiommu-0
crw-rw-rw-.  1 root root  10, 196 Jun  5 19:33 vfio

noiommu mode:
Y

=== DPDK SHARED MEMORY ===
no /var/run/dpdk/ directory (clean state)

=== DPDK-RELATED DMESG (last 30 lines) ===
[    0.068245] x86/fpu: Enabled xstate features 0x2ff, context size is 2568 bytes, using 'compacted' format.
[    0.074883] audit: type=2000 audit(1780688026.165:1): state=initialized audit_enabled=0 res=1
[    0.077362] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.
[    0.101671] ACPI: Interpreter enabled
[    0.101671] ACPI: Enabled 2 GPEs in block 00 to 0F
[    0.126801] pci 0000:00:05.0: enabling Extended Tags
[    0.158664] SGI XFS with ACLs, security attributes, quota, no debug enabled
[    0.188429] ACPI: \_SB_.LNKD: Enabled at IRQ 11
[    0.272951] IPI shorthand broadcast: enabled
[    0.273014] AES CTR mode by8 optimization enabled
[    2.804895] systemd[1]: Mounting dev-hugepages.mount - Huge Pages File System...
[    2.855808] systemd[1]: Mounted dev-hugepages.mount - Huge Pages File System.
[    2.932413] VFIO - User Level meta-driver version: 0.3
[    3.972013] ena 0000:00:05.0: Elastic Network Adapter (ENA) v2.16.1g
[    3.983234] ena 0000:00:05.0: ENA device version: 0.10
[    3.983942] ena 0000:00:05.0: ENA controller version: 0.0.1 implementation version 1
[    4.084844] ena 0000:00:05.0: ENA Large LLQ is disabled
[    4.096893] ena 0000:00:05.0: Elastic Network Adapter (ENA) found at mem c0500000, mac addr 02:64:a7:37:84:0f
[    4.145789] ena 0000:00:05.0 ens5: renamed from eth0
[    5.036882] ena 0000:00:05.0 ens5: Local page cache is disabled for less than 16 channels
[  211.189499] pci 0000:00:06.0: enabling Extended Tags
[  211.193157] ena 0000:00:06.0: enabling device (0000 -> 0002)
[  211.204258] ena 0000:00:06.0: ENA device version: 0.10
[  211.204985] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  211.302888] ena 0000:00:06.0: ENA Large LLQ is disabled
[  211.315159] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:54:25:9b:d8:0d
[  211.383546] ena 0000:00:06.0 ens6: renamed from eth0
[  211.760845] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[  245.087474] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  245.088777] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device

=== DPDK-RELATED PROCESSES ===
no DPDK processes running

=== END DIAGNOSTICS ===
⚠️ Crash Diagnostics

receiver-dmesg-crashes.log

[    0.072233] pid_max: default: 32768 minimum: 301
[    0.127873] iommu: Default domain type: Translated 
[    0.128595] NetLabel:  unlabeled traffic allowed by default
[    0.142390] PCI: CLS 0 bytes, default 64
[    0.209568] nvme nvme0: 2/0/0 default/read/poll queues
[    0.428129] systemd[1]: systemd 252.23-11.amzn2023 running in system mode (+PAM +AUDIT +SELINUX -APPARMOR +IMA +SMACK +SECCOMP -GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN -IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 -BZIP2 -LZ4 +XZ +ZLIB -ZSTD +BPF_FRAMEWORK +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
[    0.428225] systemd[1]: No hostname configured, using default hostname.
[    0.527228] systemd[1]: Queued start job for default target initrd.target.
[    2.188049] systemd[1]: systemd 252.23-11.amzn2023 running in system mode (+PAM +AUDIT +SELINUX -APPARMOR +IMA +SMACK +SECCOMP -GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN -IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 -BZIP2 -LZ4 +XZ +ZLIB -ZSTD +BPF_FRAMEWORK +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
[    8.939958] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[  290.636372] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:6810)
[  652.015560] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:18824)
[ 1478.583603] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:34848)

sender-dmesg-crashes.log

[    0.074862] pid_max: default: 32768 minimum: 301
[    0.128908] iommu: Default domain type: Translated 
[    0.129639] NetLabel:  unlabeled traffic allowed by default
[    0.149942] PCI: CLS 0 bytes, default 64
[    0.207298] nvme nvme0: 2/0/0 default/read/poll queues
[    0.439507] systemd[1]: systemd 252.23-11.amzn2023 running in system mode (+PAM +AUDIT +SELINUX -APPARMOR +IMA +SMACK +SECCOMP -GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN -IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 -BZIP2 -LZ4 +XZ +ZLIB -ZSTD +BPF_FRAMEWORK +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
[    0.439604] systemd[1]: No hostname configured, using default hostname.
[    0.529041] systemd[1]: Queued start job for default target initrd.target.
[    2.013825] systemd[1]: systemd 252.23-11.amzn2023 running in system mode (+PAM +AUDIT +SELINUX -APPARMOR +IMA +SMACK +SECCOMP -GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN -IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 -BZIP2 -LZ4 +XZ +ZLIB -ZSTD +BPF_FRAMEWORK +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
[    8.301474] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[ 1065.457850] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:36072)
Kernel Console (dmesg)

receiver-console-output.log (PCI/driver events only)

[  211.110522] pci 0000:00:06.0: BAR 0 [mem 0xc0508000-0xc050bfff]: assigned
[  211.111475] ena 0000:00:06.0: enabling device (0000 -> 0002)
[  211.124191] ena 0000:00:06.0: ENA device version: 0.10
[  211.124887] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  211.224060] ena 0000:00:06.0: ENA Large LLQ is disabled
[  211.236207] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:3b:51:da:0b:c7
[  211.284099] ena 0000:00:06.0 ens6: renamed from eth0
[  211.600631] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[  251.288338] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  251.289622] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[  290.636372] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:6810)
[  404.223105] vfio-pci 0000:00:06.0: Removing from iommu group 0
[  405.233619] ena 0000:00:06.0: ENA device version: 0.10
[  405.234355] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  405.333593] ena 0000:00:06.0: ENA Large LLQ is disabled
[  405.345831] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:3b:51:da:0b:c7
[  405.355197] ena 0000:00:06.0 eth0: Local page cache is disabled for less than 16 channels
[  516.097080] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  516.098321] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[  652.015560] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:18824)
[  729.826569] vfio-pci 0000:00:06.0: Removing from iommu group 0
[  730.839782] ena 0000:00:06.0: ENA device version: 0.10
[  730.840527] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  730.938250] ena 0000:00:06.0: ENA Large LLQ is disabled
[  730.951387] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:3b:51:da:0b:c7
[  730.992897] ena 0000:00:06.0 ens6: renamed from eth0
[  731.079717] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[ 1358.666487] vfio-pci 0000:00:06.0: Adding to iommu group 0
[ 1358.667745] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[ 1478.583603] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:34848)

sender-console-output.log (PCI/driver events only)

[  211.760845] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[  245.087474] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  245.088777] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[  307.744534] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:7071)
[  308.504423] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:7091)
[  310.264388] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:7113)
[  311.824366] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:7136)
[  312.614343] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:7196)
[  364.853044] vfio-pci 0000:00:06.0: Removing from iommu group 0
[  365.861502] ena 0000:00:06.0: ENA device version: 0.10
[  365.862213] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  365.961473] ena 0000:00:06.0: ENA Large LLQ is disabled
[  365.973593] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:54:25:9b:d8:0d
[  365.983955] ena 0000:00:06.0 eth0: Local page cache is disabled for less than 16 channels
[  751.984690] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  751.985964] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[ 1018.808239] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:35278)
[ 1065.457850] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:36072)
[ 1133.454858] vfio-pci 0000:00:06.0: Removing from iommu group 0
[ 1134.464672] ena 0000:00:06.0: ENA device version: 0.10
[ 1134.465429] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[ 1134.564649] ena 0000:00:06.0: ENA Large LLQ is disabled
[ 1134.576733] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:54:25:9b:d8:0d
[ 1134.587062] ena 0000:00:06.0 eth0: Local page cache is disabled for less than 16 channels
[ 1267.677333] vfio-pci 0000:00:06.0: Adding to iommu group 0
[ 1267.678580] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[ 1495.644012] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:53382)
[ 1496.403881] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:53421)
[ 1498.173896] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:53493)
[ 1499.933903] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:53566)

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