Skip to content

dpdk-stdlib-quic: TX queue - #70

Merged
gspivey merged 2 commits into
developmentfrom
agent/quic-tx-queue
Jun 6, 2026
Merged

gspivey merged 2 commits into
developmentfrom
agent/quic-tx-queue

Conversation

@gspivey

@gspivey gspivey commented Jun 6, 2026

Copy link
Copy Markdown
Owner

Roadmap Item

Addresses roadmap item #6: dpdk-stdlib-quic: TX queue

Changes

Implements DpdkTxQueue in dpdk-stdlib-quic/src/tx.rs with the full s2n_quic_core::io::tx::Queue trait:

  • SUPPORTS_ECN = true, SUPPORTS_PACING = false, SUPPORTS_FLOW_LABELS = false
  • push(): extracts remote address and ECN from the message, performs GSO segmentation via message.can_gso() and write_payload() with advancing gso_offset, builds one Ethernet frame per segment via build_quic_frame
  • capacity(): returns remaining slots
  • flush(): default no-op (GSO boundary marker)
  • drain(): yields all pending TxDatagram frames for backend transmission

Updated lib.rs to re-export DpdkTxQueue.

Tests Added

6 unit tests:

  1. Single segment produces one frame
  2. GSO multi-segment produces correct frame count (300B payload / 100B segments = 3 frames)
  3. Capacity decreases after push
  4. Drain empties the queue and restores capacity
  5. ECN TOS byte is correctly set in all 4 codepoints
  6. At-capacity returns tx::Error::AtCapacity

Tradeoffs

  • Uses Vec<u8> allocation per frame (consistent with existing RX queue pattern); future optimization could use a pre-allocated slab
  • First segment size uses MAX_UDP_PAYLOAD (1472) as the buffer size for write_payload; actual written length determines frame payload size

Implement DpdkTxQueue implementing s2n_quic_core::io::tx::Queue with:
- SUPPORTS_ECN=true, SUPPORTS_PACING=false, SUPPORTS_FLOW_LABELS=false
- GSO segmentation via message.can_gso() and write_payload() with
  advancing gso_offset
- drain() method yielding pending TxDatagram frames
- capacity() tracking remaining queue slots

Unit tests cover: single segment, GSO multi-segment, capacity
decrements, drain empties, ECN TOS byte correctness, at-capacity error.

Roadmap item #6: dpdk-stdlib-quic TX queue
@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

Synthetic Performance Results (run)

Commit: ef0553e4

✅ 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.3M 10.9M 1.0x 91
RX recv_from 64B 3.4M 4.4M 0.8x 226
TX send_to 1400B 1.6M 1.6M 1.0x 612
RX recv_from 1400B 1.1M 1.2M 0.9x 857

IPv6

Test Payload Sync PPS Async PPS Ratio (sync/async) Async ns/op
TX send_to (IPv6) 64B 8.5M 8.5M 1.0x 118
RX recv_from (IPv6) 64B 3.9M 5.5M 0.7x 181
TX send_to (IPv6) 1400B 2.7M 2.7M 1.0x 377
RX recv_from (IPv6) 1400B 1.1M 1.2M 0.9x 845

IPv6 vs IPv4 Comparison (sync path)

Test Payload IPv4 PPS IPv6 PPS IPv4/IPv6 Ratio
TX send_to (sync) 64B 11.3M 8.5M 1.33x
RX recv_from (sync) 64B 3.4M 3.9M 0.87x
TX send_to (sync) 1400B 1.6M 2.7M 0.61x
RX recv_from (sync) 1400B 1.1M 1.1M 0.97x

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

OK: IPv6 is 33.3% 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

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

Synthetic Performance Results — Graviton (run)

Commit: ef0553e4

✅ 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.3M 1.0x 88
RX recv_from 64B 3.2M 4.7M 0.7x 211
TX send_to 1400B 1.8M 1.8M 1.0x 552
RX recv_from 1400B 1.1M 1.2M 0.9x 834

IPv6

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

IPv6 vs IPv4 Comparison (sync path)

Test Payload IPv4 PPS IPv6 PPS IPv4/IPv6 Ratio
TX send_to (sync) 64B 11.8M 8.7M 1.36x
RX recv_from (sync) 64B 3.2M 4.1M 0.78x
TX send_to (sync) 1400B 1.8M 2.9M 0.64x
RX recv_from (sync) 1400B 1.1M 1.1M 0.98x

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

OK: IPv6 is 35.8% 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

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[CI] Stage: Deploy

Infrastructure ready.

  • Sender: i-0b72b61ca866cb19c (DPDK ENI: 10.0.1.78)
  • Receiver: i-0138a802dd1fc375f (DPDK ENI: 10.0.1.206)
  • Both instances SSM-ready.

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[CI] Stage: Deploy

Infrastructure ready.

  • Sender: i-0b7d5b66f02547ed2 (DPDK ENI: 10.0.1.176)
  • Receiver: i-02c3936e0523c0d54 (DPDK ENI: 10.0.1.131)
  • Both instances SSM-ready.

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[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

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[CI] Stage: Summary

Some tests FAILED (exit code: 1).

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

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

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

✅ Integration Tests Passed — Graviton (run)

Branch: 70/merge | Commit: ef0553e4

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.206:9000 (MAC: 02:dd:39:d2:34:39)
echo listening on 10.0.1.206: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.78:9000 (MAC: 02:86:45:3b:a0:03)
echo listening on 10.0.1.78: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.206:9000: 'arp-probe #1'
Test complete
[2026-06-06T10:19:15Z] INFO: ARP resolution succeeded (got response from peer)
[2026-06-06T10:19:15Z] INFO: Test: udp_send_receive
[2026-06-06T10:19:17Z] INFO: UDP send/receive succeeded
[2026-06-06T10:19:17Z] INFO: Test: echo_roundtrip
[2026-06-06T10:19:17Z] INFO: Echo roundtrip succeeded: 5/5 responses received
[2026-06-06T10:19:17Z] INFO: Test: payload_integrity
[2026-06-06T10:19:17Z] INFO: Response received, checking payload match...
[2026-06-06T10:19:17Z] INFO: Payload integrity verified (found in response)
[2026-06-06T10:19:17Z] INFO: JUnit XML written to: /tmp/test-results/tier2-kernel-interop.xml
[2026-06-06T10:19:17Z] INFO: Tier 2 sender tests complete. Results: /tmp/test-results/tier2-kernel-interop.xml

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

Integration Test Failure (Run 27059399307)

Branch: 70/merge | Commit: ef0553e42e9673cf312c6eafae5c2198b5d5bee8

No failure-summary.json found

receiver-user-data.log (6820 bytes, last 80 lines)

   Compiling futures-task v0.3.32
   Compiling anstyle v1.0.14
   Compiling lazy_static v1.5.0
   Compiling colorchoice v1.0.5
   Compiling is_terminal_polyfill v1.70.2
   Compiling slab v0.4.12
   Compiling s2n-tls v0.3.37
   Compiling futures-util v0.3.32
   Compiling anstream v1.0.0
   Compiling rand_core v0.5.1
   Compiling ppv-lite86 v0.2.21
   Compiling clap_lex v1.1.0
   Compiling getrandom v0.4.2
   Compiling hex v0.4.3
   Compiling heck v0.5.0
   Compiling strsim v0.11.1
   Compiling rand_core v0.10.1
   Compiling clap_builder v4.6.0
   Compiling clap_derive v4.6.1
   Compiling rand_chacha v0.2.2
   Compiling futures-executor v0.3.32
   Compiling cpufeatures v0.3.0
   Compiling equivalent v1.0.2
   Compiling s2n-quic-platform v0.81.0
   Compiling allocator-api2 v0.2.21
   Compiling serde_core v1.0.228
   Compiling foldhash v0.2.0
   Compiling hashbrown v0.17.1
   Compiling chacha20 v0.10.0
   Compiling futures v0.3.32
   Compiling intrusive-collections v0.10.1
   Compiling rand v0.7.3
   Compiling clap v4.6.1
   Compiling async-trait v0.1.89
   Compiling fnv v1.0.7
   Compiling siphasher v1.0.3
   Compiling zmij v1.0.21
   Compiling s2n-quic-transport v0.81.0
   Compiling cuckoofilter v0.5.0
   Compiling dpdk-stdlib-tokio v0.2.0 (/opt/dpdk-stdlib/dpdk-tokio)
   Compiling rand v0.10.1
   Compiling hash_hasher v2.0.4
   Compiling serde v1.0.228
   Compiling serde_json v1.0.150
   Compiling serde_derive v1.0.228
   Compiling itoa v1.0.18
   Compiling synthetic-bench v0.2.0 (/opt/dpdk-stdlib/apps/synthetic-bench)
   Compiling tokio-echo v0.1.0 (/opt/dpdk-stdlib/apps/tokio-echo)
   Compiling test-client v0.1.0 (/opt/dpdk-stdlib/apps/test-client)
   Compiling s2n-quic-crypto v0.81.0
   Compiling plain-echo v0.1.0 (/opt/dpdk-stdlib/apps/plain-echo)
   Compiling echo v0.1.0 (/opt/dpdk-stdlib/apps/echo)
   Compiling dpdk-stdlib-tcp v0.2.0 (/opt/dpdk-stdlib/dpdk-stdlib-tcp)
   Compiling s2n-quic-tls v0.81.0
   Compiling s2n-quic-tls-default v0.81.0
   Compiling s2n-quic v1.81.0
   Compiling dpdk-stdlib-quic v0.2.0 (/opt/dpdk-stdlib/dpdk-stdlib-quic)
warning: fields `config`, `stats`, and `shutdown` are never read
  --> dpdk-stdlib-quic/src/provider.rs:22:16
   |
21 | pub struct DpdkProvider {
   |            ------------ fields in this struct
22 |     pub(crate) config: ProviderConfig,
   |                ^^^^^^
23 |     pub(crate) stats: Arc<ProviderStats>,
   |                ^^^^^
24 |     pub(crate) shutdown: Arc<AtomicBool>,
   |                ^^^^^^^^
   |
   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

warning: `dpdk-stdlib-quic` (lib) generated 1 warning
    Finished `release` profile [optimized] target(s) in 3m 03s
=== Build complete ===
-rwxr-xr-x. 2 root root 1387280 Jun  6 10:15 target/release/echo
-rwxr-xr-x. 2 root root 1916480 Jun  6 10:15 target/release/test-client
=== Setup complete! ===
Rust project built successfully
Instance ready for testing
Project location: /opt/dpdk-stdlib

sender-user-data.log (6792 bytes, last 80 lines)

   Compiling slab v0.4.12
   Compiling anstyle v1.0.14
   Compiling lazy_static v1.5.0
   Compiling futures-io v0.3.32
   Compiling anstyle-query v1.1.5
   Compiling is_terminal_polyfill v1.70.2
   Compiling futures-task v0.3.32
   Compiling futures-util v0.3.32
   Compiling anstream v1.0.0
   Compiling rand_core v0.5.1
   Compiling ppv-lite86 v0.2.21
   Compiling getrandom v0.4.2
   Compiling rand_core v0.10.1
   Compiling heck v0.5.0
   Compiling hex v0.4.3
   Compiling clap_lex v1.1.0
   Compiling strsim v0.11.1
   Compiling clap_builder v4.6.0
   Compiling clap_derive v4.6.1
   Compiling rand_chacha v0.2.2
   Compiling futures-executor v0.3.32
   Compiling serde_core v1.0.228
   Compiling foldhash v0.2.0
   Compiling s2n-quic-platform v0.81.0
   Compiling cpufeatures v0.3.0
   Compiling equivalent v1.0.2
   Compiling allocator-api2 v0.2.21
   Compiling hashbrown v0.17.1
   Compiling chacha20 v0.10.0
   Compiling futures v0.3.32
   Compiling intrusive-collections v0.10.1
   Compiling rand v0.7.3
   Compiling clap v4.6.1
   Compiling async-trait v0.1.89
   Compiling zmij v1.0.21
   Compiling fnv v1.0.7
   Compiling siphasher v1.0.3
   Compiling s2n-quic-transport v0.81.0
   Compiling cuckoofilter v0.5.0
   Compiling dpdk-stdlib-tokio v0.2.0 (/opt/dpdk-stdlib/dpdk-tokio)
   Compiling rand v0.10.1
   Compiling serde_json v1.0.150
   Compiling serde v1.0.228
   Compiling hash_hasher v2.0.4
   Compiling serde_derive v1.0.228
   Compiling itoa v1.0.18
   Compiling synthetic-bench v0.2.0 (/opt/dpdk-stdlib/apps/synthetic-bench)
   Compiling s2n-quic-crypto v0.81.0
   Compiling tokio-echo v0.1.0 (/opt/dpdk-stdlib/apps/tokio-echo)
   Compiling test-client v0.1.0 (/opt/dpdk-stdlib/apps/test-client)
   Compiling echo v0.1.0 (/opt/dpdk-stdlib/apps/echo)
   Compiling plain-echo v0.1.0 (/opt/dpdk-stdlib/apps/plain-echo)
   Compiling dpdk-stdlib-tcp v0.2.0 (/opt/dpdk-stdlib/dpdk-stdlib-tcp)
   Compiling s2n-quic-tls v0.81.0
   Compiling s2n-quic-tls-default v0.81.0
   Compiling s2n-quic v1.81.0
   Compiling dpdk-stdlib-quic v0.2.0 (/opt/dpdk-stdlib/dpdk-stdlib-quic)
warning: fields `config`, `stats`, and `shutdown` are never read
  --> dpdk-stdlib-quic/src/provider.rs:22:16
   |
21 | pub struct DpdkProvider {
   |            ------------ fields in this struct
22 |     pub(crate) config: ProviderConfig,
   |                ^^^^^^
23 |     pub(crate) stats: Arc<ProviderStats>,
   |                ^^^^^
24 |     pub(crate) shutdown: Arc<AtomicBool>,
   |                ^^^^^^^^
   |
   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

warning: `dpdk-stdlib-quic` (lib) generated 1 warning
    Finished `release` profile [optimized] target(s) in 3m 02s
=== Build complete ===
-rwxr-xr-x. 2 root root 1387280 Jun  6 10:15 target/release/echo
-rwxr-xr-x. 2 root root 1916480 Jun  6 10:15 target/release/test-client
=== Setup complete! ===
Rust project built successfully
Instance ready for testing
Project location: /opt/dpdk-stdlib

receiver-console-output.log (42135 bytes, last 80 lines)

[  340.803865] cloud-init[1748]: 21 | pub struct DpdkProvider {
[  340.805189] cloud-init[1748]:    |            ------------ fields in this struct
[  340.805246] cloud-init[1748]: 22 |     pub(crate) config: ProviderConfig,
[  340.805280] cloud-init[1748]:    |                ^^^^^^
[  340.805316] cloud-init[1748]: 23 |     pub(crate) stats: Arc<ProviderStats>,
[  340.805348] cloud-init[1748]:    |                ^^^^^
[  340.805378] cloud-init[1748]: 24 |     pub(crate) shutdown: Arc<AtomicBool>,
[  340.805410] cloud-init[1748]:    |                ^^^^^^^^
[  340.805440] cloud-init[1748]:    |
[  340.805468] cloud-init[1748]:    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[  341.111696] cloud-init[1748]: warning: `dpdk-stdlib-quic` (lib) generated 1 warning
[  342.011062] cloud-init[1748]:     Finished `release` profile [optimized] target(s) in 3m 03s
[  342.077891] cloud-init[1748]: === Build complete ===
[  342.080921] cloud-init[1748]: -rwxr-xr-x. 2 root root 1387280 Jun  6 10:15 target/release/echo
[  342.081037] cloud-init[1748]: -rwxr-xr-x. 2 root root 1916480 Jun  6 10:15 target/release/test-client
[  342.084702] cloud-init[1748]: === Setup complete! ===
[  342.084783] cloud-init[1748]: Rust project built successfully
[  342.084822] cloud-init[1748]: Instance ready for testing
[  342.084853] cloud-init[1748]: Project location: /opt/dpdk-stdlib
ci-info: +++++++++++++++++++++++++++++++++++++++++++++Authorized keys from /home/ec2-user/.ssh/authorized_keys for user ec2-user++++++++++++++++++++++++++++++++++++++++++++++
ci-info: +---------+-------------------------------------------------------------------------------------------------+---------+---------------------------------------------+
ci-info: | Keytype |                                       Fingerprint (sha256)                                      | Options |                   Comment                   |
ci-info: +---------+-------------------------------------------------------------------------------------------------+---------+---------------------------------------------+
ci-info: | ssh-rsa | 2f:ab:f5:61:21:7c:1a:e2:15:4f:ea:f4:b0:11:e6:96:08:ec:d5:3f:9b:78:57:97:b3:96:a9:f9:14:08:b5:4e |    -    | packer_6a1fbdad-c11a-bfbe-2859-253d460e8dc4 |
ci-info: +---------+-------------------------------------------------------------------------------------------------+---------+---------------------------------------------+
<14>Jun  6 10:15:44 cloud-init: #############################################################
<14>Jun  6 10:15:44 cloud-init: -----BEGIN SSH HOST KEY FINGERPRINTS-----
<14>Jun  6 10:15:44 cloud-init: 256 SHA256:xS/OdG9j3TcCxzhk0vhk3kVFFubNZ+fxFfTRER6wlKc root@ip-10-0-1-238.ec2.internal (ECDSA)
<14>Jun  6 10:15:44 cloud-init: 256 SHA256:JK5uPcGXtD7NXB9Zo5Qxc/2s/yB3YmC2ZkrroE3JiJg root@ip-10-0-1-238.ec2.internal (ED25519)
<14>Jun  6 10:15:44 cloud-init: -----END SSH HOST KEY FINGERPRINTS-----
<14>Jun  6 10:15:44 cloud-init: #############################################################
-----BEGIN SSH HOST KEY KEYS-----
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBL8Aesb2YJwIt/98ipAUgt1KQ2eLePy6B/HwrWMC4ulK2YRN31lLA57ONf1VQ3YWtQx85WuNgbOYpLle980+LYA= root@ip-10-0-1-238.ec2.internal
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEhpQJsTm9Af+LtM3Q9IH/tKi6B16lolctSzhKFez5Nj root@ip-10-0-1-238.ec2.internal
-----END SSH HOST KEY KEYS-----
[  343.209810] cloud-init[1748]: Cloud-init v. 22.2.2 finished at Sat, 06 Jun 2026 10:15:44 +0000. Datasource DataSourceEc2.  Up 343.20 seconds
[  351.621694] pci 0000:00:06.0: [1d0f:ec20] type 00 class 0x020000
[  351.622784] pci 0000:00:06.0: BAR 0 [mem 0x00000000-0x00003fff]
[  351.623801] pci 0000:00:06.0: BAR 2 [mem 0x00000000-0x000fffff pref]
[  351.624947] pci 0000:00:06.0: enabling Extended Tags
[  351.626674] pci 0000:00:06.0: BAR 2 [mem 0xc0600000-0xc06fffff pref]: assigned
[  351.627701] pci 0000:00:06.0: BAR 0 [mem 0xc0508000-0xc050bfff]: assigned
[  351.628724] ena 0000:00:06.0: enabling device (0000 -> 0002)
[  351.641442] ena 0000:00:06.0: ENA device version: 0.10
[  351.642182] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  351.742893] ena 0000:00:06.0: ENA Large LLQ is disabled
[  351.754765] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:2d:c4:67:74:3b
[  351.793004] ena 0000:00:06.0 ens6: renamed from eth0
[  352.017584] zram_generator::config[7841]: zram0: system has too much memory (5027MB), limit is 800MB, ignoring.
[  352.193274] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[  410.124656] zram_generator::config[9349]: zram0: system has too much memory (5027MB), limit is 800MB, ignoring.
[  411.008721] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  411.010059] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[  451.374803] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:9969)
[  594.368859] vfio-pci 0000:00:06.0: Removing from iommu group 0
[  595.381667] ena 0000:00:06.0: ENA device version: 0.10
[  595.382412] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  595.481658] ena 0000:00:06.0: ENA Large LLQ is disabled
[  595.493511] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:2d:c4:67:74:3b
[  595.541700] ena 0000:00:06.0 ens6: renamed from eth0
[  595.583441] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[  595.585425] IPv6: ADDRCONF(NETDEV_CHANGE): ens6: link becomes ready
[  595.753394] zram_generator::config[12329]: zram0: system has too much memory (5027MB), limit is 800MB, ignoring.
[  614.694977] zram_generator::config[12751]: zram0: system has too much memory (5027MB), limit is 800MB, ignoring.
[  615.596642] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  615.597991] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[  648.503821] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:13540)
[  726.251923] vfio-pci 0000:00:06.0: Removing from iommu group 0
[  727.261014] ena 0000:00:06.0: ENA device version: 0.10
[  727.261811] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  727.360995] ena 0000:00:06.0: ENA Large LLQ is disabled
[  727.372856] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:2d:c4:67:74:3b
[  727.421034] ena 0000:00:06.0 ens6: renamed from eth0
[  727.472789] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[  727.474767] IPv6: ADDRCONF(NETDEV_CHANGE): ens6: link becomes ready
[  727.637869] zram_generator::config[14649]: zram0: system has too much memory (5027MB), limit is 800MB, ignoring.
[ 1137.950961] zram_generator::config[21774]: zram0: system has too much memory (5027MB), limit is 800MB, ignoring.
[ 1138.896639] vfio-pci 0000:00:06.0: Adding to iommu group 0
[ 1138.897934] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[ 1209.781062] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:22803)

sender-console-output.log (42871 bytes, last 80 lines)

[  351.678512] cloud-init[1750]:    |                ^^^^^^^^
[  351.678543] cloud-init[1750]:    |
[  351.678571] cloud-init[1750]:    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[  351.983259] cloud-init[1750]: warning: `dpdk-stdlib-quic` (lib) generated 1 warning
[  352.875697] cloud-init[1750]:     Finished `release` profile [optimized] target(s) in 3m 02s
[  352.943612] cloud-init[1750]: === Build complete ===
[  352.947030] cloud-init[1750]: -rwxr-xr-x. 2 root root 1387280 Jun  6 10:15 target/release/echo
[  352.950137] cloud-init[1750]: -rwxr-xr-x. 2 root root 1916480 Jun  6 10:15 target/release/test-client
[  352.953250] cloud-init[1750]: === Setup complete! ===
[  352.953329] cloud-init[1750]: Rust project built successfully
[  352.953370] cloud-init[1750]: Instance ready for testing
[  352.953455] cloud-init[1750]: Project location: /opt/dpdk-stdlib
ci-info: +++++++++++++++++++++++++++++++++++++++++++++Authorized keys from /home/ec2-user/.ssh/authorized_keys for user ec2-user++++++++++++++++++++++++++++++++++++++++++++++
ci-info: +---------+-------------------------------------------------------------------------------------------------+---------+---------------------------------------------+
ci-info: | Keytype |                                       Fingerprint (sha256)                                      | Options |                   Comment                   |
ci-info: +---------+-------------------------------------------------------------------------------------------------+---------+---------------------------------------------+
ci-info: | ssh-rsa | 2f:ab:f5:61:21:7c:1a:e2:15:4f:ea:f4:b0:11:e6:96:08:ec:d5:3f:9b:78:57:97:b3:96:a9:f9:14:08:b5:4e |    -    | packer_6a1fbdad-c11a-bfbe-2859-253d460e8dc4 |
ci-info: +---------+-------------------------------------------------------------------------------------------------+---------+---------------------------------------------+
<14>Jun  6 10:15:53 cloud-init: #############################################################
<14>Jun  6 10:15:53 cloud-init: -----BEGIN SSH HOST KEY FINGERPRINTS-----
<14>Jun  6 10:15:53 cloud-init: 256 SHA256:6xWFNx3soHHqZcJ6NYoDDC6q0GvYKpw+9IWUbrZU+m8 root@ip-10-0-1-133.ec2.internal (ECDSA)
<14>Jun  6 10:15:53 cloud-init: 256 SHA256:s9lsuwmNnxsbNouKs0bQB7RuV/xX4qlPd/bnD/Z0m/U root@ip-10-0-1-133.ec2.internal (ED25519)
<14>Jun  6 10:15:53 cloud-init: -----END SSH HOST KEY FINGERPRINTS-----
<14>Jun  6 10:15:53 cloud-init: #############################################################
-----BEGIN SSH HOST KEY KEYS-----
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBRnDWxjQOvpLYUxxb/JymHyquVBeCOT9ZyDJ6X72s+53s5esOKc9aVRU0rS/Yi3eQW5ePEdCkAcYK7FMRFwQ/E= root@ip-10-0-1-133.ec2.internal
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINFEZ2hPFH0sNVoCGYkuFjjKmm1BAEWaSxIjfbyh08Ut root@ip-10-0-1-133.ec2.internal
-----END SSH HOST KEY KEYS-----
[  353.894903] cloud-init[1750]: Cloud-init v. 22.2.2 finished at Sat, 06 Jun 2026 10:15:53 +0000. Datasource DataSourceEc2.  Up 353.89 seconds
[  371.669981] pci 0000:00:06.0: [1d0f:ec20] type 00 class 0x020000
[  371.671021] pci 0000:00:06.0: BAR 0 [mem 0x00000000-0x00003fff]
[  371.671934] pci 0000:00:06.0: BAR 2 [mem 0x00000000-0x000fffff pref]
[  371.673041] pci 0000:00:06.0: enabling Extended Tags
[  371.674868] pci 0000:00:06.0: BAR 2 [mem 0xc0600000-0xc06fffff pref]: assigned
[  371.675869] pci 0000:00:06.0: BAR 0 [mem 0xc0508000-0xc050bfff]: assigned
[  371.676861] ena 0000:00:06.0: enabling device (0000 -> 0002)
[  371.685136] ena 0000:00:06.0: ENA device version: 0.10
[  371.685848] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  371.783792] ena 0000:00:06.0: ENA Large LLQ is disabled
[  371.795844] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:d1:d8:66:b8:d5
[  371.833987] ena 0000:00:06.0 ens6: renamed from eth0
[  372.110492] zram_generator::config[8105]: zram0: system has too much memory (5027MB), limit is 800MB, ignoring.
[  372.300032] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[  404.529741] zram_generator::config[9159]: zram0: system has too much memory (5027MB), limit is 800MB, ignoring.
[  405.369231] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  405.370504] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[  467.776060] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:10029)
[  468.575944] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:10106)
[  470.325882] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:10329)
[  471.885917] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:10353)
[  472.685905] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:10413)
[  525.172990] vfio-pci 0000:00:06.0: Removing from iommu group 0
[  526.183451] ena 0000:00:06.0: ENA device version: 0.10
[  526.184243] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  526.283428] ena 0000:00:06.0: ENA Large LLQ is disabled
[  526.295495] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:d1:d8:66:b8:d5
[  526.304944] ena 0000:00:06.0 eth0: Local page cache is disabled for less than 16 channels
[  526.307042] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[  526.455189] zram_generator::config[11275]: zram0: system has too much memory (5027MB), limit is 800MB, ignoring.
[  747.788028] zram_generator::config[20532]: zram0: system has too much memory (5027MB), limit is 800MB, ignoring.
[  748.716398] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  748.717647] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[  990.955066] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:31506)
[ 1037.484883] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:33669)
[ 1101.837484] vfio-pci 0000:00:06.0: Removing from iommu group 0
[ 1102.850525] ena 0000:00:06.0: ENA device version: 0.10
[ 1102.851280] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[ 1102.952285] ena 0000:00:06.0: ENA Large LLQ is disabled
[ 1102.964213] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:d1:d8:66:b8:d5
[ 1103.012332] ena 0000:00:06.0 ens6: renamed from eth0
[ 1103.064121] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[ 1103.066127] IPv6: ADDRCONF(NETDEV_CHANGE): ens6: link becomes ready
[ 1103.269588] zram_generator::config[36724]: zram0: system has too much memory (5027MB), limit is 800MB, ignoring.
[ 1132.243968] zram_generator::config[37261]: zram0: system has too much memory (5027MB), limit is 800MB, ignoring.
[ 1133.168167] vfio-pci 0000:00:06.0: Adding to iommu group 0
[ 1133.169572] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[ 1227.224657] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:38776)
[ 1227.974462] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:38796)
[ 1229.734472] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:38819)
[ 1231.494504] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:39105)

All instance-logs files

total 184
drwxr-xr-x  2 runner runner  4096 Jun  6 10:32 .
drwxr-xr-x 22 runner runner  4096 Jun  6 10:17 ..
-rw-r--r--  1 runner runner  2248 Jun  6 10:32 receiver-build-listing.log
-rw-r--r--  1 runner runner 42135 Jun  6 10:32 receiver-console-output.log
-rw-r--r--  1 runner runner  1584 Jun  6 10:32 receiver-dmesg-crashes.log
-rw-r--r--  1 runner runner   666 Jun  6 10:32 receiver-echo-server.log
-rw-r--r--  1 runner runner  1051 Jun  6 10:32 receiver-network-interfaces.log
-rw-r--r--  1 runner runner  6124 Jun  6 10:17 receiver-networking-diag-baseline.txt
-rw-r--r--  1 runner runner   712 Jun  6 10:31 receiver-ssm-failure.log
-rw-r--r--  1 runner runner   294 Jun  6 10:32 receiver-test-client-iperf.log
-rw-r--r--  1 runner runner  6820 Jun  6 10:32 receiver-user-data.log
-rw-r--r--  1 runner runner  2248 Jun  6 10:32 sender-build-listing.log
-rw-r--r--  1 runner runner 42871 Jun  6 10:31 sender-console-output.log
-rw-r--r--  1 runner runner  1413 Jun  6 10:32 sender-dmesg-crashes.log
-rw-r--r--  1 runner runner   666 Jun  6 10:32 sender-echo-server.log
-rw-r--r--  1 runner runner  1051 Jun  6 10:32 sender-network-interfaces.log
-rw-r--r--  1 runner runner  6179 Jun  6 10:17 sender-networking-diag-baseline.txt
-rw-r--r--  1 runner runner   176 Jun  6 10:28 sender-ssm-failure.log
-rw-r--r--  1 runner runner  3504 Jun  6 10:32 sender-test-client-iperf.log
-rw-r--r--  1 runner runner  5143 Jun  6 10:32 sender-test-client.log
-rw-r--r--  1 runner runner  6792 Jun  6 10:32 sender-user-data.log

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

❌ Integration Tests Failed (Run 27059399307)

Branch: 70/merge | Commit: ef0553e4

Test Results

  • tier1-dpdk-echo.xml: 6 tests, 0 failures, skipped
  • tier2-kernel-interop.xml: 4 tests, 1 failures, skipped
    FAIL: No response received for payload integrity test
    
  • 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.131:9000 (MAC: 02:2d:c4:67:74:3b)
echo listening on 10.0.1.131: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.176:9000 (MAC: 02:d1:d8:66:b8:d5)
echo listening on 10.0.1.176:9000 (MTU=9001, max_udp_payload=8973)
Shutting down gracefully...

sender-test-client.log

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.131:9000: 'arp-probe #1'
Test complete
[2026-06-06T10:21:05Z] INFO: ARP resolution succeeded (got response from peer)
[2026-06-06T10:21:05Z] INFO: Test: udp_send_receive
[2026-06-06T10:21:06Z] INFO: UDP send/receive succeeded
[2026-06-06T10:21:06Z] INFO: Test: echo_roundtrip
[2026-06-06T10:21:07Z] INFO: Echo roundtrip succeeded: 5/5 responses received
[2026-06-06T10:21:07Z] INFO: Test: payload_integrity
[2026-06-06T10:21:07Z] INFO: JUnit XML written to: /tmp/test-results/tier2-kernel-interop.xml
[2026-06-06T10:21:07Z] INFO: Tier 2 sender tests complete. Results: /tmp/test-results/tier2-kernel-interop.xml

receiver-test-client-iperf.log

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

sender-test-client-iperf.log

Received 30 bytes from 10.0.1.131:9000: 'dpdk-to-kernel-test-payload #3'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #4'
Received 30 bytes from 10.0.1.131:9000: 'dpdk-to-kernel-test-payload #4'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #5'
Received 30 bytes from 10.0.1.131:9000: 'dpdk-to-kernel-test-payload #5'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #6'
Received 30 bytes from 10.0.1.131:9000: 'dpdk-to-kernel-test-payload #6'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #7'
Received 30 bytes from 10.0.1.131:9000: 'dpdk-to-kernel-test-payload #7'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #8'
Received 30 bytes from 10.0.1.131:9000: 'dpdk-to-kernel-test-payload #8'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #9'
Received 30 bytes from 10.0.1.131:9000: 'dpdk-to-kernel-test-payload #9'
Sent 31 bytes: 'dpdk-to-kernel-test-payload #10'
Received 31 bytes from 10.0.1.131:9000: 'dpdk-to-kernel-test-payload #10'
Test complete
[2026-06-06T10:26:33Z] INFO: our-app-sends: sent 10 packets, received 10 responses
[2026-06-06T10:26:33Z] INFO: our-app-sends: PASS (sent >= 5 packets)
[2026-06-06T10:26:33Z] INFO: JUnit XML written to: /tmp/test-results/tier3-our-app-sends.xml
[2026-06-06T10:26:33Z] 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.131:9000 (MAC: 02:2d:c4:67:74:3b)
echo listening on 10.0.1.131: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.176:9000 (MAC: 02:d1:d8:66:b8:d5)
echo listening on 10.0.1.176:9000 (MTU=9001, max_udp_payload=8973)
Shutting down gracefully...

sender-test-client.log

[2026-06-06T10:17:47Z] INFO: Test: arp_resolution
UDP Test Client
Target: 10.0.1.131:9000
Bind address: 10.0.1.176: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.176:32768 (MAC: 02:d1:d8:66:b8:d5)
Backend: dpdk
Sending packets...
Sent 12 bytes: 'arp-probe #1'
Received 12 bytes from 10.0.1.131:9000: 'arp-probe #1'
Test complete
[2026-06-06T10:17:48Z] INFO: ARP resolution succeeded (got response from peer)
[2026-06-06T10:17:48Z] INFO: Test: udp_send_receive
[2026-06-06T10:17:50Z] INFO: UDP send/receive succeeded
[2026-06-06T10:17:50Z] INFO: Test: echo_roundtrip
[2026-06-06T10:17:51Z] INFO: Echo roundtrip succeeded: 5/5 responses received
[2026-06-06T10:17:51Z] INFO: Test: payload_integrity
[2026-06-06T10:17:52Z] INFO: Response received, checking payload match...
[2026-06-06T10:17:52Z] INFO: Payload integrity verified (found in response)
[2026-06-06T10:17:52Z] INFO: Test: jumbo_diagnostics
[2026-06-06T10:17:52Z] INFO: === JUMBO FRAME DIAGNOSTICS ===
[2026-06-06T10:17:52Z] INFO: Interface MTU:
  1500
  9001
  65536
[2026-06-06T10:17:52Z] INFO:   docker0: MTU=1500
[2026-06-06T10:17:52Z] INFO:   ens5: MTU=9001
[2026-06-06T10:17:52Z] INFO:   lo: MTU=65536
[2026-06-06T10:17:52Z] 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-06T10:17:52Z] INFO: DPDK port config (from echo server log):
[2026-06-06T10:17:52Z] INFO:   (no MTU info in echo log)
[2026-06-06T10:17:52Z] INFO: === END JUMBO DIAGNOSTICS ===
[2026-06-06T10:17:52Z] INFO: Test: jumbo_echo_8000
[2026-06-06T10:17:54Z] INFO: Jumbo output: UDP Test Client
Target: 10.0.1.131:9000
Bind address: 10.0.1.176: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.176:32768 (MAC: 02:d1:d8:66:b8:d5)
Backend: dpdk
Sending packets...
Sent 8000 bytes (binary payload)
Received 8000 bytes from 10.0.1.131:9000 (expected 8000, OK)
Sent 8000 bytes (binary payload)
Received 8000 bytes from 10.0.1.131:9000 (expected 8000, OK)
Sent 8000 bytes (binary payload)
Received 8000 bytes from 10.0.1.131:9000 (expected 8000, OK)
Test complete
[2026-06-06T10:17:54Z] INFO: Jumbo frame echo succeeded: 3/3 responses with correct size
[2026-06-06T10:17:54Z] INFO: JUnit XML written to: /tmp/test-results/tier1-dpdk-echo.xml
[2026-06-06T10:17:54Z] INFO: Tier 1 sender tests complete. Results: /tmp/test-results/tier1-dpdk-echo.xml
[2026-06-06T10:21:05Z] INFO: Test: arp_resolution
UDP Test Client
Target: 10.0.1.131: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.131:9000: 'arp-probe #1'
Test complete
[2026-06-06T10:21:05Z] INFO: ARP resolution succeeded (got response from peer)
[2026-06-06T10:21:05Z] INFO: Test: udp_send_receive
[2026-06-06T10:21:06Z] INFO: UDP send/receive succeeded
[2026-06-06T10:21:06Z] INFO: Test: echo_roundtrip
[2026-06-06T10:21:07Z] INFO: Echo roundtrip succeeded: 5/5 responses received
[2026-06-06T10:21:07Z] INFO: Test: payload_integrity
[2026-06-06T10:21:07Z] INFO: JUnit XML written to: /tmp/test-results/tier2-kernel-interop.xml
[2026-06-06T10:21:07Z] INFO: Tier 2 sender tests complete. Results: /tmp/test-results/tier2-kernel-interop.xml

receiver-test-client-iperf.log

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

sender-test-client-iperf.log

[2026-06-06T10:26:30Z] INFO: Pre-flight: checking DPDK state and ARP cache...
[2026-06-06T10:26:30Z] INFO: Local IP: 10.0.1.176, Peer IP: 10.0.1.131, Port: 9000
[2026-06-06T10:26:30Z] INFO: /proc/net/arp contents:
IP address       HW type     Flags       HW address            Mask     Device
10.0.1.131       0x1         0x2         02:2d:c4:67:74:3b     *        ens5
10.0.1.1         0x1         0x2         02:dd:98:55:73:9b     *        ens5
10.0.1.26        0x1         0x2         02:e1:70:34:16:df     *        ens5
10.0.1.176       0x1         0x2         02:d1:d8:66:b8:d5     *        ens5
10.0.1.141       0x1         0x2         02:15:5e:18:5f:7b     *        ens5
[2026-06-06T10:26:30Z] INFO: DPDK runtime state:
No /var/run/dpdk/ directory
[2026-06-06T10:26:30Z] INFO: vfio-pci bindings:
0000:00:06.0
bind
module
new_id
remove_id
uevent
unbind
[2026-06-06T10:26:30Z] INFO: Test binary: /opt/dpdk-stdlib/target/release/test-client
-rwxr-xr-x. 2 root root 1916480 Jun  6 10:15 /opt/dpdk-stdlib/target/release/test-client
[2026-06-06T10:26:30Z] INFO: Launching test-client: /opt/dpdk-stdlib/target/release/test-client --target 10.0.1.131 --port 9000 --bind-ip 10.0.1.176 --count 10 --delay 200
[2026-06-06T10:26:33Z] INFO: Test client output: UDP Test Client
Target: 10.0.1.131:9000
Bind address: 10.0.1.176: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.176:32768 (MAC: 02:d1:d8:66:b8:d5)
Backend: dpdk
Sending packets...
Sent 30 bytes: 'dpdk-to-kernel-test-payload #1'
Received 30 bytes from 10.0.1.131:9000: 'dpdk-to-kernel-test-payload #1'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #2'
Received 30 bytes from 10.0.1.131:9000: 'dpdk-to-kernel-test-payload #2'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #3'
Received 30 bytes from 10.0.1.131:9000: 'dpdk-to-kernel-test-payload #3'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #4'
Received 30 bytes from 10.0.1.131:9000: 'dpdk-to-kernel-test-payload #4'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #5'
Received 30 bytes from 10.0.1.131:9000: 'dpdk-to-kernel-test-payload #5'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #6'
Received 30 bytes from 10.0.1.131:9000: 'dpdk-to-kernel-test-payload #6'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #7'
Received 30 bytes from 10.0.1.131:9000: 'dpdk-to-kernel-test-payload #7'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #8'
Received 30 bytes from 10.0.1.131:9000: 'dpdk-to-kernel-test-payload #8'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #9'
Received 30 bytes from 10.0.1.131:9000: 'dpdk-to-kernel-test-payload #9'
Sent 31 bytes: 'dpdk-to-kernel-test-payload #10'
Received 31 bytes from 10.0.1.131:9000: 'dpdk-to-kernel-test-payload #10'
Test complete
[2026-06-06T10:26:33Z] INFO: our-app-sends: sent 10 packets, received 10 responses
[2026-06-06T10:26:33Z] INFO: our-app-sends: PASS (sent >= 5 packets)
[2026-06-06T10:26:33Z] INFO: JUnit XML written to: /tmp/test-results/tier3-our-app-sends.xml
[2026-06-06T10:26:33Z] INFO: our-app-sends test complete
⚠️ SSM Command Failures (receiver-ssm-failure.log)
=== Polling timeout after 30s ===
Status: InProgress
Instance: i-02c3936e0523c0d54 (receiver)
Command ID: 57c6fa55-a816-4d6f-b2dc-ac1f63030abf

=== STDOUT ===


=== STDERR ===


=== Polling timeout after 30s ===
Status: InProgress
Instance: i-02c3936e0523c0d54 (receiver)
Command ID: 91a045ff-513f-4fc3-ba33-5e360edc0978

=== STDOUT ===


=== STDERR ===


=== Polling timeout after 30s ===
Status: InProgress
Instance: i-02c3936e0523c0d54 (receiver)
Command ID: fc21b9eb-aafb-4e74-87c5-970c450171df

=== STDOUT ===


=== STDERR ===


=== Polling timeout after 30s ===
Status: InProgress
Instance: i-02c3936e0523c0d54 (receiver)
Command ID: 259ca619-099a-45f0-828c-f0023178e512

=== STDOUT ===


=== STDERR ===


⚠️ SSM Command Failures (sender-ssm-failure.log)
=== Polling timeout after 30s ===
Status: InProgress
Instance: i-0b7d5b66f02547ed2 (sender)
Command ID: 6c309fa4-297b-4dc4-a02a-23ef0780d137

=== 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:f6:36:df:6f:0b brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname eni-0565963c023012319
    altname device-number-0.0
    inet 10.0.1.238/24 metric 512 brd 10.0.1.255 scope global dynamic ens5
       valid_lft 2250sec preferred_lft 2250sec
    inet6 fe80::f6:36ff:fedf:6f0b/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:4b:6e:d1:bf 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:4d:2a:7d:21:33 brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname eni-0b7c1618a51294431
    altname device-number-0.0
    inet 10.0.1.133/24 metric 512 brd 10.0.1.255 scope global dynamic ens5
       valid_lft 2272sec preferred_lft 2272sec
    inet6 fe80::4d:2aff:fe7d:2133/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:9d:8e:f9:d1 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-06T10:17:06Z
hostname: ip-10-0-1-238.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:f6:36:df:6f:0b brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname eni-0565963c023012319
    altname device-number-0.0
    inet 10.0.1.238/24 metric 512 brd 10.0.1.255 scope global dynamic ens5
       valid_lft 3181sec preferred_lft 3181sec
    inet6 fe80::f6:36ff:fedf:6f0b/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:4b:6e:d1:bf 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:dd:98:55:73:9b REACHABLE 
10.0.1.141 dev ens5 lladdr 02:15:5e:18:5f:7b REACHABLE 

=== ROUTE TABLE ===
default via 10.0.1.1 dev ens5 proto dhcp src 10.0.1.238 metric 512 
10.0.0.2 via 10.0.1.1 dev ens5 proto dhcp src 10.0.1.238 metric 512 
10.0.1.0/24 dev ens5 proto kernel scope link src 10.0.1.238 metric 512 
10.0.1.1 dev ens5 proto dhcp scope link src 10.0.1.238 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:2d:c4:67:74:3b/ 02:f6:36:df:6f:0b/ 

--- ENI: 02:2d:c4:67:74:3b/ ---
  device-number: 1
  local-ipv4s: 10.0.1.131
  subnet-id: subnet-0dde5487f58a8d46b
  subnet-cidr: 10.0.1.0/24

--- ENI: 02:f6:36:df:6f:0b/ ---
  device-number: 0
  local-ipv4s: 10.0.1.238
  subnet-id: subnet-0dde5487f58a8d46b
  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:dd:98:55:73:9b REACHABLE 

arping result:
ARPING 10.0.1.1 from 10.0.1.238 ens5
Unicast reply from 10.0.1.1 [02:DD:98:55:73:9B]  0.533ms
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  6 10:16 .
drwxr-xr-x. 14 root root     3100 Jun  6 10:15 ..
crw-------.  1 root root 243,   0 Jun  6 10:16 noiommu-0
crw-rw-rw-.  1 root root  10, 196 Jun  6 10:10 vfio

noiommu mode:
Y

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

=== DPDK-RELATED DMESG (last 30 lines) ===
[    0.067531] x86/fpu: Enabled xstate features 0x2ff, context size is 2568 bytes, using 'compacted' format.
[    0.074055] audit: type=2000 audit(1780740601.381:1): state=initialized audit_enabled=0 res=1
[    0.076241] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.
[    0.100329] ACPI: Interpreter enabled
[    0.100329] ACPI: Enabled 2 GPEs in block 00 to 0F
[    0.125234] pci 0000:00:05.0: enabling Extended Tags
[    0.158130] SGI XFS with ACLs, security attributes, quota, no debug enabled
[    0.188817] ACPI: \_SB_.LNKD: Enabled at IRQ 11
[    0.266921] IPI shorthand broadcast: enabled
[    0.266982] AES CTR mode by8 optimization enabled
[    2.754786] systemd[1]: Mounting dev-hugepages.mount - Huge Pages File System...
[    2.792556] systemd[1]: Mounted dev-hugepages.mount - Huge Pages File System.
[    2.853731] VFIO - User Level meta-driver version: 0.3
[    3.927856] ena 0000:00:05.0: Elastic Network Adapter (ENA) v2.16.1g
[    3.935624] ena 0000:00:05.0: ENA device version: 0.10
[    3.936358] ena 0000:00:05.0: ENA controller version: 0.0.1 implementation version 1
[    4.034644] ena 0000:00:05.0: ENA Large LLQ is disabled
[    4.046416] ena 0000:00:05.0: Elastic Network Adapter (ENA) found at mem c0500000, mac addr 02:f6:36:df:6f:0b
[    4.125621] ena 0000:00:05.0 ens5: renamed from eth0
[    5.067173] ena 0000:00:05.0 ens5: Local page cache is disabled for less than 16 channels
[  351.624947] pci 0000:00:06.0: enabling Extended Tags
[  351.628724] ena 0000:00:06.0: enabling device (0000 -> 0002)
[  351.641442] ena 0000:00:06.0: ENA device version: 0.10
[  351.642182] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  351.742893] ena 0000:00:06.0: ENA Large LLQ is disabled
[  351.754765] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:2d:c4:67:74:3b
[  351.793004] ena 0000:00:06.0 ens6: renamed from eth0
[  352.193274] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[  411.008721] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  411.010059] 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-06T10:16:58Z
hostname: ip-10-0-1-133.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:4d:2a:7d:21:33 brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname eni-0b7c1618a51294431
    altname device-number-0.0
    inet 10.0.1.133/24 metric 512 brd 10.0.1.255 scope global dynamic ens5
       valid_lft 3188sec preferred_lft 3188sec
    inet6 fe80::4d:2aff:fe7d:2133/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:9d:8e:f9:d1 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:dd:98:55:73:9b REACHABLE 
10.0.1.26 dev ens5 lladdr 02:e1:70:34:16:df REACHABLE 
10.0.1.141 dev ens5 lladdr 02:15:5e:18:5f:7b REACHABLE 

=== ROUTE TABLE ===
default via 10.0.1.1 dev ens5 proto dhcp src 10.0.1.133 metric 512 
10.0.0.2 via 10.0.1.1 dev ens5 proto dhcp src 10.0.1.133 metric 512 
10.0.1.0/24 dev ens5 proto kernel scope link src 10.0.1.133 metric 512 
10.0.1.1 dev ens5 proto dhcp scope link src 10.0.1.133 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:4d:2a:7d:21:33/ 02:d1:d8:66:b8:d5/ 

--- ENI: 02:4d:2a:7d:21:33/ ---
  device-number: 0
  local-ipv4s: 10.0.1.133
  subnet-id: subnet-0dde5487f58a8d46b
  subnet-cidr: 10.0.1.0/24

--- ENI: 02:d1:d8:66:b8:d5/ ---
  device-number: 1
  local-ipv4s: 10.0.1.176
  subnet-id: subnet-0dde5487f58a8d46b
  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:dd:98:55:73:9b REACHABLE 

arping result:
ARPING 10.0.1.1 from 10.0.1.133 ens5
Unicast reply from 10.0.1.1 [02:DD:98:55:73:9B]  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  6 10:16 .
drwxr-xr-x. 14 root root     3100 Jun  6 10:16 ..
crw-------.  1 root root 243,   0 Jun  6 10:16 noiommu-0
crw-rw-rw-.  1 root root  10, 196 Jun  6 10:10 vfio

noiommu mode:
Y

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

=== DPDK-RELATED DMESG (last 30 lines) ===
[    0.065114] x86/fpu: Enabled xstate features 0x2ff, context size is 2568 bytes, using 'compacted' format.
[    0.071688] audit: type=2000 audit(1780740599.989:1): state=initialized audit_enabled=0 res=1
[    0.074082] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.
[    0.098141] ACPI: Interpreter enabled
[    0.098141] ACPI: Enabled 2 GPEs in block 00 to 0F
[    0.122857] pci 0000:00:05.0: enabling Extended Tags
[    0.145516] SGI XFS with ACLs, security attributes, quota, no debug enabled
[    0.199152] ACPI: \_SB_.LNKD: Enabled at IRQ 11
[    0.253422] IPI shorthand broadcast: enabled
[    0.253484] AES CTR mode by8 optimization enabled
[    2.704753] systemd[1]: Mounting dev-hugepages.mount - Huge Pages File System...
[    2.741819] systemd[1]: Mounted dev-hugepages.mount - Huge Pages File System.
[    2.794742] VFIO - User Level meta-driver version: 0.3
[    3.987574] ena 0000:00:05.0: Elastic Network Adapter (ENA) v2.16.1g
[    3.997159] ena 0000:00:05.0: ENA device version: 0.10
[    3.997900] ena 0000:00:05.0: ENA controller version: 0.0.1 implementation version 1
[    4.104613] ena 0000:00:05.0: ENA Large LLQ is disabled
[    4.116579] ena 0000:00:05.0: Elastic Network Adapter (ENA) found at mem c0500000, mac addr 02:4d:2a:7d:21:33
[    4.174699] ena 0000:00:05.0 ens5: renamed from eth0
[    5.183730] ena 0000:00:05.0 ens5: Local page cache is disabled for less than 16 channels
[  371.673041] pci 0000:00:06.0: enabling Extended Tags
[  371.676861] ena 0000:00:06.0: enabling device (0000 -> 0002)
[  371.685136] ena 0000:00:06.0: ENA device version: 0.10
[  371.685848] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  371.783792] ena 0000:00:06.0: ENA Large LLQ is disabled
[  371.795844] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:d1:d8:66:b8:d5
[  371.833987] ena 0000:00:06.0 ens6: renamed from eth0
[  372.300032] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[  405.369231] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  405.370504] 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.074055] pid_max: default: 32768 minimum: 301
[    0.127272] iommu: Default domain type: Translated 
[    0.127993] NetLabel:  unlabeled traffic allowed by default
[    0.149239] PCI: CLS 0 bytes, default 64
[    0.211951] nvme nvme0: 2/0/0 default/read/poll queues
[    0.431179] 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.431278] systemd[1]: No hostname configured, using default hostname.
[    0.517895] systemd[1]: Queued start job for default target initrd.target.
[    1.951125] 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.786950] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[  451.374803] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:9969)
[  648.503821] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:13540)
[ 1209.781062] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:22803)

sender-dmesg-crashes.log

[    0.071688] pid_max: default: 32768 minimum: 301
[    0.124877] iommu: Default domain type: Translated 
[    0.125560] NetLabel:  unlabeled traffic allowed by default
[    0.131688] PCI: CLS 0 bytes, default 64
[    0.225662] nvme nvme0: 2/0/0 default/read/poll queues
[    0.416821] 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.416911] systemd[1]: No hostname configured, using default hostname.
[    0.527196] systemd[1]: Queued start job for default target initrd.target.
[    1.893999] 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.048586] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[ 1037.484883] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:33669)
Kernel Console (dmesg)

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

[  351.628724] ena 0000:00:06.0: enabling device (0000 -> 0002)
[  351.641442] ena 0000:00:06.0: ENA device version: 0.10
[  351.642182] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  351.742893] ena 0000:00:06.0: ENA Large LLQ is disabled
[  351.754765] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:2d:c4:67:74:3b
[  351.793004] ena 0000:00:06.0 ens6: renamed from eth0
[  352.193274] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[  411.008721] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  411.010059] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[  451.374803] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:9969)
[  594.368859] vfio-pci 0000:00:06.0: Removing from iommu group 0
[  595.381667] ena 0000:00:06.0: ENA device version: 0.10
[  595.382412] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  595.481658] ena 0000:00:06.0: ENA Large LLQ is disabled
[  595.493511] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:2d:c4:67:74:3b
[  595.541700] ena 0000:00:06.0 ens6: renamed from eth0
[  595.583441] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[  615.596642] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  615.597991] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[  648.503821] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:13540)
[  726.251923] vfio-pci 0000:00:06.0: Removing from iommu group 0
[  727.261014] ena 0000:00:06.0: ENA device version: 0.10
[  727.261811] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  727.360995] ena 0000:00:06.0: ENA Large LLQ is disabled
[  727.372856] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:2d:c4:67:74:3b
[  727.421034] ena 0000:00:06.0 ens6: renamed from eth0
[  727.472789] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[ 1138.896639] vfio-pci 0000:00:06.0: Adding to iommu group 0
[ 1138.897934] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[ 1209.781062] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:22803)

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

[  405.369231] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  405.370504] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[  467.776060] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:10029)
[  468.575944] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:10106)
[  470.325882] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:10329)
[  471.885917] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:10353)
[  472.685905] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:10413)
[  525.172990] vfio-pci 0000:00:06.0: Removing from iommu group 0
[  526.183451] ena 0000:00:06.0: ENA device version: 0.10
[  526.184243] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  526.283428] ena 0000:00:06.0: ENA Large LLQ is disabled
[  526.295495] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:d1:d8:66:b8:d5
[  526.304944] ena 0000:00:06.0 eth0: Local page cache is disabled for less than 16 channels
[  748.716398] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  748.717647] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[  990.955066] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:31506)
[ 1037.484883] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:33669)
[ 1101.837484] vfio-pci 0000:00:06.0: Removing from iommu group 0
[ 1102.850525] ena 0000:00:06.0: ENA device version: 0.10
[ 1102.851280] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[ 1102.952285] ena 0000:00:06.0: ENA Large LLQ is disabled
[ 1102.964213] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:d1:d8:66:b8:d5
[ 1103.012332] ena 0000:00:06.0 ens6: renamed from eth0
[ 1103.064121] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[ 1133.168167] vfio-pci 0000:00:06.0: Adding to iommu group 0
[ 1133.169572] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[ 1227.224657] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:38776)
[ 1227.974462] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:38796)
[ 1229.734472] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:38819)
[ 1231.494504] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:39105)

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[Perf] Stage: Deploy

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

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[Perf] Stage: Instances Ready

  • TRex: i-0764144178ae8a92d (10.0.1.102)
  • DUT: i-0d15ff2736414e45b (10.0.1.211)
  • Instance type: unknown

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[Perf] Stage: TRex Config

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

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[Perf] Stage: TRex Config OK

  • TX: 0000:00:06.0 MAC: 02:82:24:7a:0f:61
  • RX: 0000:00:07.0 MAC: 02:e8:8f:78:e0:d9
  • Gateway MAC: 02:ce:5b:7d:a1:2d
    Starting TRex server...

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[Perf] Stage: TRex Started

TRex server running. Beginning benchmarks...

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[Perf] DUT Ready

DUT instance i-0d15ff2736414e45b SSM working, build complete.

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[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

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[Perf] Benchmark Diag: plain-rust preflight

TRex API OK: 2 ports
  Port 0: 02:82:24:7a:0f:61
  Port 1: 02:e8:8f:78:e0:d9
PREFLIGHT_OK

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[Perf] Benchmark Diag: plain-rust result

SSM exit: 0

Output (last 30 lines)
Duration per step: 30s
Source MAC: 02:82:24:7a:0f:61

--- Packet size: 64B ---
  Target: 70,000 pps ... TX: 70,000 pps, RX: 69,000 pps, Drop: 1.4285%, Lat avg: 188.0 us
  Target: 140,000 pps ... TX: 140,000 pps, RX: 138,994 pps, Drop: 0.7184%, Lat avg: 0.0 us
  Target: 350,000 pps ... TX: 350,000 pps, RX: 347,042 pps, Drop: 0.845%, Lat avg: 139.0 us
  Target: 700,000 pps ... TX: 700,000 pps, RX: 440,158 pps, Drop: 37.1203%, Lat avg: 0.0 us

--- Packet size: 512B ---
  Target: 70,000 pps ... TX: 70,000 pps, RX: 68,998 pps, Drop: 1.4318%, Lat avg: 103.0 us
  Target: 140,000 pps ... TX: 140,000 pps, RX: 138,992 pps, Drop: 0.72%, Lat avg: 172.0 us
  Target: 350,000 pps ... TX: 350,000 pps, RX: 347,618 pps, Drop: 0.6805%, Lat avg: 0.0 us
  Target: 700,000 pps ... TX: 700,000 pps, RX: 363,920 pps, Drop: 48.0115%, Lat avg: 0.0 us

--- Packet size: 1400B ---
  Target: 70,000 pps ... TX: 70,000 pps, RX: 68,994 pps, Drop: 1.4378%, Lat avg: 100.0 us
  Target: 140,000 pps ... TX: 140,000 pps, RX: 138,972 pps, Drop: 0.734%, Lat avg: 0.0 us
  Target: 350,000 pps ... TX: 350,000 pps, RX: 340,859 pps, Drop: 2.6116%, Lat avg: 218.0 us
  Target: 700,000 pps ... TX: 700,000 pps, RX: 382,122 pps, Drop: 45.4111%, 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: 37,985 pps, Drop: 45.7356%, Lat avg: 0.0 us
  Target: 140,000 pps ... TX: 125,320 pps, RX: 124,295 pps, Drop: 0.8175%, Lat avg: 0.0 us
  Target: 350,000 pps ... TX: 125,323 pps, RX: 122,258 pps, Drop: 2.4452%, 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

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[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

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[Perf] Benchmark Diag: rust-dpdk preflight

TRex API OK: 2 ports
  Port 0: 02:82:24:7a:0f:61
  Port 1: 02:e8:8f:78:e0:d9
PREFLIGHT_OK

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[Perf] Benchmark Diag: rust-dpdk result

SSM exit: 0

Output (last 30 lines)
Duration per step: 30s
Source MAC: 02:82:24:7a:0f:61

--- Packet size: 64B ---
  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,837 pps, Drop: 0.8305%, Lat avg: 0.0 us
  Target: 350,000 pps ... TX: 350,000 pps, RX: 348,722 pps, Drop: 0.3651%, Lat avg: 258.0 us
  Target: 700,000 pps ... TX: 700,000 pps, RX: 697,128 pps, Drop: 0.4103%, 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: 167.0 us
  Target: 140,000 pps ... TX: 140,000 pps, RX: 138,937 pps, Drop: 0.7593%, Lat avg: 0.0 us
  Target: 350,000 pps ... TX: 350,000 pps, RX: 348,707 pps, Drop: 0.3696%, Lat avg: 191.0 us
  Target: 700,000 pps ... TX: 700,000 pps, RX: 694,060 pps, Drop: 0.8486%, Lat avg: 709.0 us

--- Packet size: 1400B ---
  Target: 70,000 pps ... TX: 70,000 pps, RX: 68,989 pps, Drop: 1.444%, Lat avg: 0.0 us
  Target: 140,000 pps ... TX: 140,000 pps, RX: 138,991 pps, Drop: 0.7204%, Lat avg: 0.0 us
  Target: 350,000 pps ... TX: 350,000 pps, RX: 348,835 pps, Drop: 0.333%, Lat avg: 222.0 us
  Target: 700,000 pps ... TX: 700,000 pps, RX: 566,301 pps, Drop: 19.0998%, 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: 68,992 pps, Drop: 1.4407%, Lat avg: 0.0 us
  Target: 140,000 pps ... TX: 125,290 pps, RX: 123,966 pps, Drop: 1.0562%, Lat avg: 0.0 us
  Target: 350,000 pps ... TX: 125,295 pps, RX: 122,349 pps, Drop: 2.3509%, 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

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[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

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[Perf] Benchmark Diag: tokio-dpdk preflight

TRex API OK: 2 ports
  Port 0: 02:82:24:7a:0f:61
  Port 1: 02:e8:8f:78:e0:d9
PREFLIGHT_OK

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[Perf] Benchmark Diag: tokio-dpdk result

SSM exit: 0

Output (last 30 lines)
Duration per step: 30s
Source MAC: 02:82:24:7a:0f:61

--- Packet size: 64B ---
  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: 139,000 pps, Drop: 0.7142%, Lat avg: 0.0 us
  Target: 350,000 pps ... TX: 350,000 pps, RX: 324,523 pps, Drop: 7.2793%, Lat avg: 0.0 us
  Target: 700,000 pps ... TX: 700,000 pps, RX: 326,037 pps, Drop: 53.4233%, 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: 139,000 pps, Drop: 0.7143%, Lat avg: 0.0 us
  Target: 350,000 pps ... TX: 350,000 pps, RX: 236,030 pps, Drop: 32.5629%, Lat avg: 0.0 us
  Target: 700,000 pps ... TX: 700,000 pps, RX: 236,568 pps, Drop: 66.2046%, Lat avg: 0.0 us

--- Packet size: 1400B ---
  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,991 pps, Drop: 0.7208%, Lat avg: 0.0 us
  Target: 350,000 pps ... TX: 350,000 pps, RX: 148,955 pps, Drop: 57.4416%, Lat avg: 0.0 us
  Target: 700,000 pps ... TX: 700,000 pps, RX: 149,193 pps, Drop: 78.6868%, 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: 55,823 pps, Drop: 20.2533%, Lat avg: 0.0 us
  Target: 140,000 pps ... TX: 125,293 pps, RX: 59,521 pps, Drop: 52.4943%, Lat avg: 0.0 us
  Target: 350,000 pps ... TX: 125,287 pps, RX: 59,455 pps, Drop: 52.5447%, 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

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[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

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[Perf] Benchmark Diag: native-dpdk preflight

TRex API OK: 2 ports
  Port 0: 02:82:24:7a:0f:61
  Port 1: 02:e8:8f:78:e0:d9
PREFLIGHT_OK

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[Perf] Benchmark Diag: native-dpdk result

SSM exit: 0

Output (last 30 lines)
Duration per step: 30s
Source MAC: 02:82:24:7a:0f:61

--- Packet size: 64B ---
  Target: 70,000 pps ... TX: 70,000 pps, RX: 70,000 pps, Drop: 0.0%, Lat avg: 45.0 us
  Target: 140,000 pps ... TX: 140,000 pps, RX: 140,000 pps, Drop: 0.0%, Lat avg: 71.0 us
  Target: 350,000 pps ... TX: 350,000 pps, RX: 349,969 pps, Drop: 0.0088%, Lat avg: 74.0 us
  Target: 700,000 pps ... TX: 700,000 pps, RX: 699,095 pps, Drop: 0.1294%, Lat avg: 114.0 us

--- Packet size: 512B ---
  Target: 70,000 pps ... TX: 70,000 pps, RX: 70,000 pps, Drop: 0.0%, Lat avg: 56.0 us
  Target: 140,000 pps ... TX: 140,000 pps, RX: 140,000 pps, Drop: 0.0%, Lat avg: 79.0 us
  Target: 350,000 pps ... TX: 350,000 pps, RX: 349,970 pps, Drop: 0.0085%, Lat avg: 72.0 us
  Target: 700,000 pps ... TX: 700,000 pps, RX: 698,446 pps, Drop: 0.2221%, Lat avg: 124.0 us

--- Packet size: 1400B ---
  Target: 70,000 pps ... TX: 70,000 pps, RX: 69,992 pps, Drop: 0.0116%, Lat avg: 68.0 us
  Target: 140,000 pps ... TX: 140,000 pps, RX: 140,000 pps, Drop: 0.0%, Lat avg: 84.0 us
  Target: 350,000 pps ... TX: 350,000 pps, RX: 350,000 pps, Drop: 0.0%, Lat avg: 75.0 us
  Target: 700,000 pps ... TX: 700,000 pps, RX: 551,677 pps, Drop: 21.189%, Lat avg: 1507.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: 64.0 us
  Target: 140,000 pps ... TX: 125,286 pps, RX: 125,279 pps, Drop: 0.0053%, Lat avg: 8504.0 us
  Target: 350,000 pps ... TX: 125,276 pps, RX: 121,425 pps, Drop: 3.074%, Lat avg: 8840.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

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[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: 122930841      RX-dropped: 0             RX-total: 122930841
  RX-error: 427317
  RX-nombufs: 0             
  TX-packets: 122930163      TX-dropped: 678           TX-total: 122930841
  ----------------------------------------------------------------------------

  +++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
  RX-packets: 122930841      RX-dropped: 0             RX-total: 122930841
  TX-packets: 122930163      TX-dropped: 678           TX-total: 122930841
  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

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

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[Perf] Stage: Results

[11:32:38] INFO Generating markdown summary...

Performance Test Results — unknown

Commit: 28f2e8f3
Timestamp: 2026-06-06T11:32:38.836682+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% — — — — 45.0 9367.0 35.8 35.8
native-dpdk 140,000 140,000 140,000 0.00% — — — — 71.0 1787.0 71.7 71.7
native-dpdk 350,000 350,000 349,969 0.01% — — — — 74.0 899.0 179.2 179.2
native-dpdk 700,000 700,000 699,095 0.13% — — — — 114.0 1701.0 358.4 357.9
rust-dpdk 70,000 70,000 69,000 1.43% 0 39,235 0 0 0.0 0.0 35.8 35.3
rust-dpdk 140,000 140,000 138,837 0.83% 0 35,158 0 0 0.0 0.0 71.7 71.1
rust-dpdk 350,000 350,000 348,722 0.37% 0 31,868 0 0 258.0 0.0 179.2 178.6
rust-dpdk 700,000 700,000 697,128 0.41% 0 41,842 0 0 0.0 0.0 358.4 356.9
tokio-dpdk 70,000 70,000 69,000 1.43% 0 39,382 0 0 0.0 0.0 35.8 38.6
tokio-dpdk 140,000 140,000 139,000 0.71% 0 33,900 0 0 0.0 0.0 71.7 77.8
tokio-dpdk 350,000 350,000 324,523 7.28% 0 23,006 0 0 0.0 0.0 179.2 181.7
tokio-dpdk 700,000 700,000 326,037 53.42% 0 23,444 0 0 0.0 0.0 358.4 182.6
plain-rust 70,000 70,000 69,000 1.43% — — — — 188.0 0.0 35.8 35.3
plain-rust 140,000 140,000 138,994 0.72% — — — — 0.0 0.0 71.7 71.2
plain-rust 350,000 350,000 347,042 0.84% — — — — 139.0 0.0 179.2 177.7
plain-rust 700,000 700,000 440,158 37.12% — — — — 0.0 0.0 358.4 225.4

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% — — — — 56.0 670.0 286.7 286.7
native-dpdk 140,000 140,000 140,000 0.00% — — — — 79.0 1274.0 573.4 573.4
native-dpdk 350,000 350,000 349,970 0.01% — — — — 72.0 1008.0 1433.6 1433.5
native-dpdk 700,000 700,000 698,446 0.22% — — — — 124.0 1842.0 2867.2 2860.8
rust-dpdk 70,000 70,000 69,000 1.43% 0 33,037 0 0 167.0 0.0 286.7 282.6
rust-dpdk 140,000 140,000 138,937 0.76% 0 41,891 0 0 0.0 0.0 573.4 569.1
rust-dpdk 350,000 350,000 348,707 0.37% 0 34,892 0 0 191.0 0.0 1433.6 1428.3
rust-dpdk 700,000 700,000 694,060 0.85% 0 31,753 0 0 709.0 0.0 2867.2 2842.9
tokio-dpdk 70,000 70,000 69,000 1.43% 0 33,177 0 0 0.0 0.0 286.7 285.9
tokio-dpdk 140,000 140,000 139,000 0.71% 0 36,237 0 0 0.0 0.0 573.4 576.0
tokio-dpdk 350,000 350,000 236,030 32.56% 0 13,129 0 0 0.0 0.0 1433.6 978.1
tokio-dpdk 700,000 700,000 236,568 66.20% 0 11,042 0 0 0.0 0.0 2867.2 980.3
plain-rust 70,000 70,000 68,998 1.43% — — — — 103.0 0.0 286.7 282.6
plain-rust 140,000 140,000 138,992 0.72% — — — — 172.0 0.0 573.4 569.3
plain-rust 350,000 350,000 347,618 0.68% — — — — 0.0 0.0 1433.6 1423.8
plain-rust 700,000 700,000 363,920 48.01% — — — — 0.0 0.0 2867.2 1490.6

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 69,992 0.01% — — — — 68.0 5841.0 784.0 783.9
native-dpdk 140,000 140,000 140,000 0.00% — — — — 84.0 348.0 1568.0 1568.0
native-dpdk 350,000 350,000 350,000 0.00% — — — — 75.0 840.0 3920.0 3920.0
native-dpdk 700,000 700,000 551,677 21.19% — — — — 1507.0 4629.0 7840.0 6178.8
rust-dpdk 70,000 70,000 68,989 1.44% 0 41,874 0 0 0.0 0.0 784.0 772.7
rust-dpdk 140,000 140,000 138,991 0.72% 0 32,774 0 0 0.0 0.0 1568.0 1556.7
rust-dpdk 350,000 350,000 348,835 0.33% 0 40,049 0 0 222.0 0.0 3920.0 3906.9
rust-dpdk 700,000 700,000 566,301 19.10% 0 28,512 0 0 0.0 0.0 7840.0 6342.6
tokio-dpdk 70,000 70,000 69,000 1.43% 0 38,585 0 0 0.0 0.0 784.0 776.1
tokio-dpdk 140,000 140,000 138,991 0.72% 0 30,571 0 0 0.0 0.0 1568.0 1563.4
tokio-dpdk 350,000 350,000 148,955 57.44% 0 11,095 0 0 0.0 0.0 3920.0 1675.4
tokio-dpdk 700,000 700,000 149,193 78.69% 0 6,486 0 0 0.0 0.0 7840.0 1678.1
plain-rust 70,000 70,000 68,994 1.44% — — — — 100.0 0.0 784.0 772.7
plain-rust 140,000 140,000 138,972 0.73% — — — — 0.0 0.0 1568.0 1556.5
plain-rust 350,000 350,000 340,859 2.61% — — — — 218.0 0.0 3920.0 3817.6
plain-rust 700,000 700,000 382,122 45.41% — — — — 0.0 0.0 7840.0 4279.8

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% — — — — 64.0 209.0 4760.0 4760.0
native-dpdk 140,000 125,286 125,279 0.01% — — — — 8504.0 9595.0 8519.5 8519.0
native-dpdk 350,000 125,276 121,425 3.07% — — — — 8840.0 10615.0 8518.8 8256.9
rust-dpdk 70,000 70,000 68,992 1.44% 0 31,545 0 0 0.0 0.0 4760.0 4691.4
rust-dpdk 140,000 125,290 123,966 1.06% 0 34,167 0 0 0.0 0.0 8519.7 8429.7
rust-dpdk 350,000 125,295 122,349 2.35% 0 11,767 0 0 0.0 0.0 8520.0 8319.8
tokio-dpdk 70,000 70,000 55,823 20.25% 0 6,312 0 0 0.0 0.0 4760.0 3798.6
tokio-dpdk 140,000 125,293 59,521 52.49% 0 15,503 0 0 0.0 0.0 8519.9 4050.3
tokio-dpdk 350,000 125,287 59,455 52.54% 0 5,672 0 0 0.0 0.0 8519.5 4045.8
plain-rust 70,000 70,000 37,985 45.74% — — — — 0.0 0.0 4760.0 2583.0
plain-rust 140,000 125,320 124,295 0.82% — — — — 0.0 0.0 8521.8 8452.1
plain-rust 350,000 125,323 122,258 2.45% — — — — 0.0 0.0 8521.9 8313.6

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 OK 0 / 0 / 0 420,875 / 420,875 / 0 0 / 0 / 0
tokio-dpdk OK 0 / 0 / 0 272,181 / 272,181 / 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

- Append performance test results from GH Actions run 27059998412
- No regressions: rust-dpdk 697K RX at 700K PPS (0.4% drop),
  native-dpdk 699K RX (0.13% drop) — consistent with Run #32
- Mark roadmap item #6 (dpdk-stdlib-quic TX queue) complete with PR #70
@gspivey
gspivey merged commit 7102306 into development Jun 6, 2026
5 checks passed
@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

Synthetic Performance Results (run)

Commit: 3b2bc5d9

✅ 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.2M 11.0M 1.0x 91
RX recv_from 64B 3.3M 4.6M 0.7x 219
TX send_to 1400B 1.6M 1.6M 1.0x 612
RX recv_from 1400B 964.2K 1.1M 0.9x 948

IPv6

Test Payload Sync PPS Async PPS Ratio (sync/async) Async ns/op
TX send_to (IPv6) 64B 8.6M 8.5M 1.0x 118
RX recv_from (IPv6) 64B 3.8M 5.5M 0.7x 181
TX send_to (IPv6) 1400B 2.6M 2.7M 1.0x 377
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.2M 8.6M 1.31x
RX recv_from (sync) 64B 3.3M 3.8M 0.87x
TX send_to (sync) 1400B 1.6M 2.6M 0.62x
RX recv_from (sync) 1400B 964.2K 1.0M 0.94x

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

OK: IPv6 is 31.2% 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

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

Synthetic Performance Results — Graviton (run)

Commit: 3b2bc5d9

✅ 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.6M 0.7x 217
TX send_to 1400B 1.6M 1.6M 1.0x 612
RX recv_from 1400B 915.1K 1.0M 0.9x 954

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 180
TX send_to (IPv6) 1400B 2.6M 2.6M 1.0x 378
RX recv_from (IPv6) 1400B 923.3K 997.4K 0.9x 1002

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.33x
RX recv_from (sync) 64B 3.4M 3.9M 0.85x
TX send_to (sync) 1400B 1.6M 2.6M 0.60x
RX recv_from (sync) 1400B 915.1K 923.3K 0.99x

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

OK: IPv6 is 32.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

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[CI] Stage: Deploy

Infrastructure ready.

  • Sender: i-02bed4a2dc965aaa2 (DPDK ENI: 10.0.1.149)
  • Receiver: i-071e1d11db7182565 (DPDK ENI: 10.0.1.61)
  • Both instances SSM-ready.

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[CI] Stage: Deploy

Infrastructure ready.

  • Sender: i-051c7895dcb99094d (DPDK ENI: 10.0.1.15)
  • Receiver: i-0efb74cc5543ec84b (DPDK ENI: 10.0.1.245)
  • Both instances SSM-ready.

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[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

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

[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

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

✅ Integration Tests Passed — Graviton (run)

Branch: 70/merge | Commit: 3b2bc5d9

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.245:9000 (MAC: 02:7e:d4:04:f2:db)
echo listening on 10.0.1.245: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.15:9000 (MAC: 02:72:e1:c3:08:0f)
echo listening on 10.0.1.15: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.245:9000: 'arp-probe #1'
Test complete
[2026-06-06T11:48:26Z] INFO: ARP resolution succeeded (got response from peer)
[2026-06-06T11:48:26Z] INFO: Test: udp_send_receive
[2026-06-06T11:48:27Z] INFO: UDP send/receive succeeded
[2026-06-06T11:48:27Z] INFO: Test: echo_roundtrip
[2026-06-06T11:48:28Z] INFO: Echo roundtrip succeeded: 5/5 responses received
[2026-06-06T11:48:28Z] INFO: Test: payload_integrity
[2026-06-06T11:48:28Z] INFO: Response received, checking payload match...
[2026-06-06T11:48:28Z] INFO: Payload integrity verified (found in response)
[2026-06-06T11:48:28Z] INFO: JUnit XML written to: /tmp/test-results/tier2-kernel-interop.xml
[2026-06-06T11:48:28Z] INFO: Tier 2 sender tests complete. Results: /tmp/test-results/tier2-kernel-interop.xml

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

✅ Integration Tests Passed (Run 27061165340)

Branch: 70/merge | Commit: 3b2bc5d9

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.61:9000 (MAC: 02:24:be:0c:a4:eb)
echo listening on 10.0.1.61: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.149:9000 (MAC: 02:84:1b:e4:b2:9d)
echo listening on 10.0.1.149: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.61:9000: 'arp-probe #1'
Test complete
[2026-06-06T11:48:24Z] INFO: ARP resolution succeeded (got response from peer)
[2026-06-06T11:48:24Z] INFO: Test: udp_send_receive
[2026-06-06T11:48:25Z] INFO: UDP send/receive succeeded
[2026-06-06T11:48:25Z] INFO: Test: echo_roundtrip
[2026-06-06T11:48:26Z] INFO: Echo roundtrip succeeded: 5/5 responses received
[2026-06-06T11:48:26Z] INFO: Test: payload_integrity
[2026-06-06T11:48:26Z] INFO: Response received, checking payload match...
[2026-06-06T11:48:26Z] INFO: Payload integrity verified (found in response)
[2026-06-06T11:48:26Z] INFO: JUnit XML written to: /tmp/test-results/tier2-kernel-interop.xml
[2026-06-06T11:48:26Z] INFO: Tier 2 sender tests complete. Results: /tmp/test-results/tier2-kernel-interop.xml

receiver-test-client-iperf.log

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

sender-test-client-iperf.log

Received 30 bytes from 10.0.1.61:9000: 'dpdk-to-kernel-test-payload #3'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #4'
Received 30 bytes from 10.0.1.61:9000: 'dpdk-to-kernel-test-payload #4'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #5'
Received 30 bytes from 10.0.1.61:9000: 'dpdk-to-kernel-test-payload #5'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #6'
Received 30 bytes from 10.0.1.61:9000: 'dpdk-to-kernel-test-payload #6'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #7'
Received 30 bytes from 10.0.1.61:9000: 'dpdk-to-kernel-test-payload #7'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #8'
Received 30 bytes from 10.0.1.61:9000: 'dpdk-to-kernel-test-payload #8'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #9'
Received 30 bytes from 10.0.1.61:9000: 'dpdk-to-kernel-test-payload #9'
Sent 31 bytes: 'dpdk-to-kernel-test-payload #10'
Received 31 bytes from 10.0.1.61:9000: 'dpdk-to-kernel-test-payload #10'
Test complete
[2026-06-06T11:52:36Z] INFO: our-app-sends: sent 10 packets, received 10 responses
[2026-06-06T11:52:36Z] INFO: our-app-sends: PASS (sent >= 5 packets)
[2026-06-06T11:52:36Z] INFO: JUnit XML written to: /tmp/test-results/tier3-our-app-sends.xml
[2026-06-06T11:52:36Z] 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.61:9000 (MAC: 02:24:be:0c:a4:eb)
echo listening on 10.0.1.61: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.149:9000 (MAC: 02:84:1b:e4:b2:9d)
echo listening on 10.0.1.149:9000 (MTU=9001, max_udp_payload=8973)
Shutting down gracefully...

sender-test-client.log

[2026-06-06T11:44:10Z] INFO: Test: arp_resolution
UDP Test Client
Target: 10.0.1.61:9000
Bind address: 10.0.1.149: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.149:32768 (MAC: 02:84:1b:e4:b2:9d)
Backend: dpdk
Sending packets...
Sent 12 bytes: 'arp-probe #1'
Received 12 bytes from 10.0.1.61:9000: 'arp-probe #1'
Test complete
[2026-06-06T11:44:11Z] INFO: ARP resolution succeeded (got response from peer)
[2026-06-06T11:44:11Z] INFO: Test: udp_send_receive
[2026-06-06T11:44:13Z] INFO: UDP send/receive succeeded
[2026-06-06T11:44:13Z] INFO: Test: echo_roundtrip
[2026-06-06T11:44:14Z] INFO: Echo roundtrip succeeded: 5/5 responses received
[2026-06-06T11:44:14Z] INFO: Test: payload_integrity
[2026-06-06T11:44:15Z] INFO: Response received, checking payload match...
[2026-06-06T11:44:15Z] INFO: Payload integrity verified (found in response)
[2026-06-06T11:44:15Z] INFO: Test: jumbo_diagnostics
[2026-06-06T11:44:15Z] INFO: === JUMBO FRAME DIAGNOSTICS ===
[2026-06-06T11:44:15Z] INFO: Interface MTU:
  1500
  9001
  65536
[2026-06-06T11:44:15Z] INFO:   docker0: MTU=1500
[2026-06-06T11:44:15Z] INFO:   ens5: MTU=9001
[2026-06-06T11:44:15Z] INFO:   lo: MTU=65536
[2026-06-06T11:44:15Z] 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-06T11:44:15Z] INFO: DPDK port config (from echo server log):
[2026-06-06T11:44:15Z] INFO:   (no MTU info in echo log)
[2026-06-06T11:44:15Z] INFO: === END JUMBO DIAGNOSTICS ===
[2026-06-06T11:44:15Z] INFO: Test: jumbo_echo_8000
[2026-06-06T11:44:17Z] INFO: Jumbo output: UDP Test Client
Target: 10.0.1.61:9000
Bind address: 10.0.1.149: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.149:32768 (MAC: 02:84:1b:e4:b2:9d)
Backend: dpdk
Sending packets...
Sent 8000 bytes (binary payload)
Received 8000 bytes from 10.0.1.61:9000 (expected 8000, OK)
Sent 8000 bytes (binary payload)
Received 8000 bytes from 10.0.1.61:9000 (expected 8000, OK)
Sent 8000 bytes (binary payload)
Received 8000 bytes from 10.0.1.61:9000 (expected 8000, OK)
Test complete
[2026-06-06T11:44:17Z] INFO: Jumbo frame echo succeeded: 3/3 responses with correct size
[2026-06-06T11:44:17Z] INFO: JUnit XML written to: /tmp/test-results/tier1-dpdk-echo.xml
[2026-06-06T11:44:17Z] INFO: Tier 1 sender tests complete. Results: /tmp/test-results/tier1-dpdk-echo.xml
[2026-06-06T11:48:24Z] INFO: Test: arp_resolution
UDP Test Client
Target: 10.0.1.61: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.61:9000: 'arp-probe #1'
Test complete
[2026-06-06T11:48:24Z] INFO: ARP resolution succeeded (got response from peer)
[2026-06-06T11:48:24Z] INFO: Test: udp_send_receive
[2026-06-06T11:48:25Z] INFO: UDP send/receive succeeded
[2026-06-06T11:48:25Z] INFO: Test: echo_roundtrip
[2026-06-06T11:48:26Z] INFO: Echo roundtrip succeeded: 5/5 responses received
[2026-06-06T11:48:26Z] INFO: Test: payload_integrity
[2026-06-06T11:48:26Z] INFO: Response received, checking payload match...
[2026-06-06T11:48:26Z] INFO: Payload integrity verified (found in response)
[2026-06-06T11:48:26Z] INFO: JUnit XML written to: /tmp/test-results/tier2-kernel-interop.xml
[2026-06-06T11:48:26Z] INFO: Tier 2 sender tests complete. Results: /tmp/test-results/tier2-kernel-interop.xml

receiver-test-client-iperf.log

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

sender-test-client-iperf.log

[2026-06-06T11:52:34Z] INFO: Pre-flight: checking DPDK state and ARP cache...
[2026-06-06T11:52:34Z] INFO: Local IP: 10.0.1.149, Peer IP: 10.0.1.61, Port: 9000
[2026-06-06T11:52:34Z] INFO: /proc/net/arp contents:
IP address       HW type     Flags       HW address            Mask     Device
10.0.1.182       0x1         0x2         02:0a:15:04:80:79     *        ens5
10.0.1.61        0x1         0x2         02:24:be:0c:a4:eb     *        ens5
10.0.1.149       0x1         0x2         02:84:1b:e4:b2:9d     *        ens5
10.0.1.1         0x1         0x2         02:68:81:0e:52:dd     *        ens5
[2026-06-06T11:52:34Z] INFO: DPDK runtime state:
No /var/run/dpdk/ directory
[2026-06-06T11:52:34Z] INFO: vfio-pci bindings:
0000:00:06.0
bind
module
new_id
remove_id
uevent
unbind
[2026-06-06T11:52:34Z] INFO: Test binary: /opt/dpdk-stdlib/target/release/test-client
-rwxr-xr-x. 2 root root 1916480 Jun  6 11:41 /opt/dpdk-stdlib/target/release/test-client
[2026-06-06T11:52:34Z] INFO: Launching test-client: /opt/dpdk-stdlib/target/release/test-client --target 10.0.1.61 --port 9000 --bind-ip 10.0.1.149 --count 10 --delay 200
[2026-06-06T11:52:36Z] INFO: Test client output: UDP Test Client
Target: 10.0.1.61:9000
Bind address: 10.0.1.149: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.149:32768 (MAC: 02:84:1b:e4:b2:9d)
Backend: dpdk
Sending packets...
Sent 30 bytes: 'dpdk-to-kernel-test-payload #1'
Received 30 bytes from 10.0.1.61:9000: 'dpdk-to-kernel-test-payload #1'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #2'
Received 30 bytes from 10.0.1.61:9000: 'dpdk-to-kernel-test-payload #2'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #3'
Received 30 bytes from 10.0.1.61:9000: 'dpdk-to-kernel-test-payload #3'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #4'
Received 30 bytes from 10.0.1.61:9000: 'dpdk-to-kernel-test-payload #4'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #5'
Received 30 bytes from 10.0.1.61:9000: 'dpdk-to-kernel-test-payload #5'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #6'
Received 30 bytes from 10.0.1.61:9000: 'dpdk-to-kernel-test-payload #6'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #7'
Received 30 bytes from 10.0.1.61:9000: 'dpdk-to-kernel-test-payload #7'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #8'
Received 30 bytes from 10.0.1.61:9000: 'dpdk-to-kernel-test-payload #8'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #9'
Received 30 bytes from 10.0.1.61:9000: 'dpdk-to-kernel-test-payload #9'
Sent 31 bytes: 'dpdk-to-kernel-test-payload #10'
Received 31 bytes from 10.0.1.61:9000: 'dpdk-to-kernel-test-payload #10'
Test complete
[2026-06-06T11:52:36Z] INFO: our-app-sends: sent 10 packets, received 10 responses
[2026-06-06T11:52:36Z] INFO: our-app-sends: PASS (sent >= 5 packets)
[2026-06-06T11:52:36Z] INFO: JUnit XML written to: /tmp/test-results/tier3-our-app-sends.xml
[2026-06-06T11:52:36Z] INFO: our-app-sends test complete
⚠️ SSM Command Failures (receiver-ssm-failure.log)
=== Polling timeout after 30s ===
Status: InProgress
Instance: i-071e1d11db7182565 (receiver)
Command ID: 8086e5c0-9610-4fc5-9d06-a21eabafc085

=== STDOUT ===


=== STDERR ===


=== Polling timeout after 30s ===
Status: InProgress
Instance: i-071e1d11db7182565 (receiver)
Command ID: a73710a0-437c-49eb-b1e8-54fc7d6d3791

=== STDOUT ===


=== STDERR ===


=== Polling timeout after 30s ===
Status: InProgress
Instance: i-071e1d11db7182565 (receiver)
Command ID: 3b6bf02a-a532-40c5-8881-1eac6b48e25f

=== STDOUT ===


=== STDERR ===


=== Polling timeout after 30s ===
Status: InProgress
Instance: i-071e1d11db7182565 (receiver)
Command ID: f5bcfc7e-bb3f-4545-b088-c830c01fdea9

=== STDOUT ===


=== STDERR ===


⚠️ SSM Command Failures (sender-ssm-failure.log)
=== Polling timeout after 30s ===
Status: InProgress
Instance: i-02bed4a2dc965aaa2 (sender)
Command ID: edd64016-f836-4470-960b-10b750ffa5e0

=== 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:47:42:7c:b3:d3 brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname eni-09387ed928947cc2c
    altname device-number-0.0
    inet 10.0.1.189/24 metric 512 brd 10.0.1.255 scope global dynamic ens5
       valid_lft 2155sec preferred_lft 2155sec
    inet6 fe80::47:42ff:fe7c:b3d3/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:11:a2:dc:b6 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:dd:46:bb:01 brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname eni-0f433342ffa8ea34d
    altname device-number-0.0
    inet 10.0.1.12/24 metric 512 brd 10.0.1.255 scope global dynamic ens5
       valid_lft 2175sec preferred_lft 2175sec
    inet6 fe80::c0:ddff:fe46:bb01/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:16:25:79:7c 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-06T11:43:31Z
hostname: ip-10-0-1-189.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:47:42:7c:b3:d3 brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname eni-09387ed928947cc2c
    altname device-number-0.0
    inet 10.0.1.189/24 metric 512 brd 10.0.1.255 scope global dynamic ens5
       valid_lft 3246sec preferred_lft 3246sec
    inet6 fe80::47:42ff:fe7c:b3d3/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:11:a2:dc:b6 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.182 dev ens5 lladdr 02:0a:15:04:80:79 REACHABLE 
10.0.1.39 dev ens5 lladdr 02:87:16:f7:68:f9 REACHABLE 
10.0.1.1 dev ens5 lladdr 02:68:81:0e:52:dd REACHABLE 

=== ROUTE TABLE ===
default via 10.0.1.1 dev ens5 proto dhcp src 10.0.1.189 metric 512 
10.0.0.2 via 10.0.1.1 dev ens5 proto dhcp src 10.0.1.189 metric 512 
10.0.1.0/24 dev ens5 proto kernel scope link src 10.0.1.189 metric 512 
10.0.1.1 dev ens5 proto dhcp scope link src 10.0.1.189 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:24:be:0c:a4:eb/ 02:47:42:7c:b3:d3/ 

--- ENI: 02:24:be:0c:a4:eb/ ---
  device-number: 1
  local-ipv4s: 10.0.1.61
  subnet-id: subnet-0173b3f8371976a2f
  subnet-cidr: 10.0.1.0/24

--- ENI: 02:47:42:7c:b3:d3/ ---
  device-number: 0
  local-ipv4s: 10.0.1.189
  subnet-id: subnet-0173b3f8371976a2f
  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:68:81:0e:52:dd REACHABLE 

arping result:
ARPING 10.0.1.1 from 10.0.1.189 ens5
Unicast reply from 10.0.1.1 [02:68:81:0E:52:DD]  0.538ms
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  6 11:43 .
drwxr-xr-x. 14 root root     3100 Jun  6 11:42 ..
crw-------.  1 root root 243,   0 Jun  6 11:43 noiommu-0
crw-rw-rw-.  1 root root  10, 196 Jun  6 11:37 vfio

noiommu mode:
Y

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

=== DPDK-RELATED DMESG (last 30 lines) ===
[    0.066164] x86/fpu: Enabled xstate features 0x2ff, context size is 2568 bytes, using 'compacted' format.
[    0.072697] audit: type=2000 audit(1780745852.042:1): state=initialized audit_enabled=0 res=1
[    0.075115] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.
[    0.099392] ACPI: Interpreter enabled
[    0.099392] ACPI: Enabled 2 GPEs in block 00 to 0F
[    0.123849] pci 0000:00:05.0: enabling Extended Tags
[    0.156214] SGI XFS with ACLs, security attributes, quota, no debug enabled
[    0.185740] ACPI: \_SB_.LNKD: Enabled at IRQ 11
[    0.268832] IPI shorthand broadcast: enabled
[    0.268894] AES CTR mode by8 optimization enabled
[    2.364819] systemd[1]: Mounting dev-hugepages.mount - Huge Pages File System...
[    2.401218] systemd[1]: Mounted dev-hugepages.mount - Huge Pages File System.
[    2.472584] VFIO - User Level meta-driver version: 0.3
[    3.595589] ena 0000:00:05.0: Elastic Network Adapter (ENA) v2.16.1g
[    3.609138] ena 0000:00:05.0: ENA device version: 0.10
[    3.609860] ena 0000:00:05.0: ENA controller version: 0.0.1 implementation version 1
[    3.712372] ena 0000:00:05.0: ENA Large LLQ is disabled
[    3.725155] ena 0000:00:05.0: Elastic Network Adapter (ENA) found at mem c0500000, mac addr 02:47:42:7c:b3:d3
[    3.774783] ena 0000:00:05.0 ens5: renamed from eth0
[    4.545708] ena 0000:00:05.0 ens5: Local page cache is disabled for less than 16 channels
[  311.753562] pci 0000:00:06.0: enabling Extended Tags
[  311.757594] ena 0000:00:06.0: enabling device (0000 -> 0002)
[  311.770347] ena 0000:00:06.0: ENA device version: 0.10
[  311.771095] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  311.863381] ena 0000:00:06.0: ENA Large LLQ is disabled
[  311.875396] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:24:be:0c:a4:eb
[  311.923549] ena 0000:00:06.0 ens6: renamed from eth0
[  312.250144] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[  346.557476] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  346.558730] 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-06T11:43:24Z
hostname: ip-10-0-1-12.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:dd:46:bb:01 brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname eni-0f433342ffa8ea34d
    altname device-number-0.0
    inet 10.0.1.12/24 metric 512 brd 10.0.1.255 scope global dynamic ens5
       valid_lft 3252sec preferred_lft 3252sec
    inet6 fe80::c0:ddff:fe46:bb01/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:16:25:79:7c 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.182 dev ens5 lladdr 02:0a:15:04:80:79 REACHABLE 
10.0.1.1 dev ens5 lladdr 02:68:81:0e:52:dd REACHABLE 

=== ROUTE TABLE ===
default via 10.0.1.1 dev ens5 proto dhcp src 10.0.1.12 metric 512 
10.0.0.2 via 10.0.1.1 dev ens5 proto dhcp src 10.0.1.12 metric 512 
10.0.1.0/24 dev ens5 proto kernel scope link src 10.0.1.12 metric 512 
10.0.1.1 dev ens5 proto dhcp scope link src 10.0.1.12 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:84:1b:e4:b2:9d/ 02:c0:dd:46:bb:01/ 

--- ENI: 02:84:1b:e4:b2:9d/ ---
  device-number: 1
  local-ipv4s: 10.0.1.149
  subnet-id: subnet-0173b3f8371976a2f
  subnet-cidr: 10.0.1.0/24

--- ENI: 02:c0:dd:46:bb:01/ ---
  device-number: 0
  local-ipv4s: 10.0.1.12
  subnet-id: subnet-0173b3f8371976a2f
  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:68:81:0e:52:dd REACHABLE 

arping result:
ARPING 10.0.1.1 from 10.0.1.12 ens5
Unicast reply from 10.0.1.1 [02:68:81:0E:52:DD]  0.538ms
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  6 11:43 .
drwxr-xr-x. 14 root root     3100 Jun  6 11:42 ..
crw-------.  1 root root 243,   0 Jun  6 11:43 noiommu-0
crw-rw-rw-.  1 root root  10, 196 Jun  6 11:37 vfio

noiommu mode:
Y

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

=== DPDK-RELATED DMESG (last 30 lines) ===
[    0.067492] x86/fpu: Enabled xstate features 0x2ff, context size is 2568 bytes, using 'compacted' format.
[    0.074010] audit: type=2000 audit(1780745850.659:1): state=initialized audit_enabled=0 res=1
[    0.076452] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.
[    0.100533] ACPI: Interpreter enabled
[    0.100533] ACPI: Enabled 2 GPEs in block 00 to 0F
[    0.127382] pci 0000:00:05.0: enabling Extended Tags
[    0.156037] SGI XFS with ACLs, security attributes, quota, no debug enabled
[    0.188829] ACPI: \_SB_.LNKD: Enabled at IRQ 11
[    0.274477] IPI shorthand broadcast: enabled
[    0.274539] AES CTR mode by8 optimization enabled
[    2.304790] systemd[1]: Mounting dev-hugepages.mount - Huge Pages File System...
[    2.341098] systemd[1]: Mounted dev-hugepages.mount - Huge Pages File System.
[    2.395593] VFIO - User Level meta-driver version: 0.3
[    3.575890] ena 0000:00:05.0: Elastic Network Adapter (ENA) v2.16.1g
[    3.585148] ena 0000:00:05.0: ENA device version: 0.10
[    3.585906] ena 0000:00:05.0: ENA controller version: 0.0.1 implementation version 1
[    3.684703] ena 0000:00:05.0: ENA Large LLQ is disabled
[    3.696718] ena 0000:00:05.0: Elastic Network Adapter (ENA) found at mem c0500000, mac addr 02:c0:dd:46:bb:01
[    3.746785] ena 0000:00:05.0 ens5: renamed from eth0
[    4.508471] ena 0000:00:05.0 ens5: Local page cache is disabled for less than 16 channels
[  311.463118] pci 0000:00:06.0: enabling Extended Tags
[  311.466905] ena 0000:00:06.0: enabling device (0000 -> 0002)
[  311.479678] ena 0000:00:06.0: ENA device version: 0.10
[  311.480441] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  311.581617] ena 0000:00:06.0: ENA Large LLQ is disabled
[  311.594485] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:84:1b:e4:b2:9d
[  311.643195] ena 0000:00:06.0 ens6: renamed from eth0
[  311.946647] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[  341.259854] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  341.261139] 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.072697] pid_max: default: 32768 minimum: 301
[    0.125968] iommu: Default domain type: Translated 
[    0.126694] NetLabel:  unlabeled traffic allowed by default
[    0.142114] PCI: CLS 0 bytes, default 64
[    0.208510] nvme nvme0: 2/0/0 default/read/poll queues
[    0.434002] 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.434100] systemd[1]: No hostname configured, using default hostname.
[    0.558455] systemd[1]: Queued start job for default target initrd.target.
[    1.692797] 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.075057] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[  384.235583] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:9388)
[  637.224568] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:13697)
[ 1313.431769] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:41350)

sender-dmesg-crashes.log

[    0.074010] pid_max: default: 32768 minimum: 301
[    0.129433] iommu: Default domain type: Translated 
[    0.130187] NetLabel:  unlabeled traffic allowed by default
[    0.153201] PCI: CLS 0 bytes, default 64
[    0.213141] nvme nvme0: 2/0/0 default/read/poll queues
[    0.439740] 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.439839] systemd[1]: No hostname configured, using default hostname.
[    0.538572] systemd[1]: Queued start job for default target initrd.target.
[    1.572759] 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)
[    7.434450] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[  948.152707] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:19398)
Kernel Console (dmesg)

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

[  311.756276] pci 0000:00:06.0: BAR 0 [mem 0xc0508000-0xc050bfff]: assigned
[  311.757594] ena 0000:00:06.0: enabling device (0000 -> 0002)
[  311.770347] ena 0000:00:06.0: ENA device version: 0.10
[  311.771095] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  311.863381] ena 0000:00:06.0: ENA Large LLQ is disabled
[  311.875396] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:24:be:0c:a4:eb
[  311.923549] ena 0000:00:06.0 ens6: renamed from eth0
[  312.250144] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[  346.557476] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  346.558730] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[  384.235583] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:9388)
[  463.186129] vfio-pci 0000:00:06.0: Removing from iommu group 0
[  464.199537] ena 0000:00:06.0: ENA device version: 0.10
[  464.200305] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  464.301510] ena 0000:00:06.0: ENA Large LLQ is disabled
[  464.314331] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:24:be:0c:a4:eb
[  464.382811] ena 0000:00:06.0 ens6: renamed from eth0
[  464.424836] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[  483.996875] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  483.998150] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[  637.224568] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:13697)
[  711.794438] vfio-pci 0000:00:06.0: Removing from iommu group 0
[  712.807359] ena 0000:00:06.0: ENA device version: 0.10
[  712.808105] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  712.909257] ena 0000:00:06.0: ENA Large LLQ is disabled
[  712.922052] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:24:be:0c:a4:eb
[  712.932659] ena 0000:00:06.0 eth0: Local page cache is disabled for less than 16 channels
[ 1221.863317] vfio-pci 0000:00:06.0: Adding to iommu group 0
[ 1221.864731] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[ 1313.431769] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:41350)

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

[  341.259854] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  341.261139] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[  400.475212] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:9863)
[  401.235144] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:9883)
[  402.995094] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:9905)
[  404.555120] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:9928)
[  405.355118] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:9988)
[  454.886025] vfio-pci 0000:00:06.0: Removing from iommu group 0
[  455.899407] ena 0000:00:06.0: ENA device version: 0.10
[  455.900167] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  455.998930] ena 0000:00:06.0: ENA Large LLQ is disabled
[  456.011748] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:84:1b:e4:b2:9d
[  456.072589] ena 0000:00:06.0 ens6: renamed from eth0
[  456.157819] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[  833.344893] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  833.346196] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[  903.672821] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:18599)
[  948.152707] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:19398)
[ 1010.280102] vfio-pci 0000:00:06.0: Removing from iommu group 0
[ 1011.289868] ena 0000:00:06.0: ENA device version: 0.10
[ 1011.290612] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[ 1011.389854] ena 0000:00:06.0: ENA Large LLQ is disabled
[ 1011.401849] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:84:1b:e4:b2:9d
[ 1011.412284] ena 0000:00:06.0 eth0: Local page cache is disabled for less than 16 channels
[ 1128.802916] vfio-pci 0000:00:06.0: Adding to iommu group 0
[ 1128.804354] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[ 1330.630809] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:33932)
[ 1331.400725] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:33974)
[ 1333.160748] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:34048)
[ 1334.930663] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:34120)

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