Skip to content

ICMPv6 echo reply handler#56

Merged
gspivey merged 1 commit into
developmentfrom
agent/icmpv6-echo-reply
May 20, 2026
Merged

ICMPv6 echo reply handler#56
gspivey merged 1 commit into
developmentfrom
agent/icmpv6-echo-reply

Conversation

@gspivey
Copy link
Copy Markdown
Owner

@gspivey gspivey commented May 20, 2026

Roadmap item addressed

IPv6 task 7: ICMPv6 echo reply — auto-respond to ping6, parallel to our existing IPv4 ICMP echo reply.

Changes

New module dpdk-udp/src/icmpv6.rs providing:

  • Icmpv6Packet — parsed ICMPv6 echo request/reply struct
  • parse_icmpv6_packet() — parse ICMPv6 echo from raw Ethernet frames (handles extension headers)
  • build_icmpv6_frame() / build_echo6_request() — frame construction with IPv6 pseudo-header checksum
  • icmpv6_checksum() — RFC 4443 §2.3 checksum using IPv6 pseudo-header
  • Icmpv6Handler — stateful handler that auto-responds to echo requests for registered local IPs

Integration into UdpSocket:

  • Added icmpv6_handler field, initialized on bind
  • RX path handles ICMPv6 echo requests when auto_icmp is enabled and ethertype is IPv6

Tests added (24)

  • Build/parse roundtrip (echo request, echo reply, empty payload)
  • Checksum computation, verification, and corruption detection
  • make_echo_reply() address/field swapping
  • Handler: responds to local IPs, ignores others, supports multiple IPs
  • Edge cases: rejects IPv4, truncated frames, UDP-over-IPv6, too-short frames
  • Wire format: ethertype, next header, payload length
  • Link-local and loopback address handling
  • Synthetic performance benchmark (10K build+parse cycles)

Tradeoffs

  • Only handles echo request/reply (types 128/129). ICMPv6 error handling (type 1-4) is a separate roadmap item (Add pre-built DPDK AMI support to reduce deployment time #8).
  • Handler is initialized with Ipv6Addr::UNSPECIFIED since the socket is currently IPv4-only. Once SocketAddrV6 support lands (task 3), the handler will be initialized with the actual bound IPv6 address.
  • Reuses the existing auto_icmp flag to control ICMPv6 responses (same toggle for v4 and v6).

Implements roadmap item 7: ICMPv6 echo reply (auto-respond to ping6).

New module dpdk-udp/src/icmpv6.rs provides:
- ICMPv6 packet parsing (echo request/reply)
- ICMPv6 frame building with IPv6 pseudo-header checksum
- Icmpv6Handler that auto-responds to echo requests
- Integration into UdpSocket RX path (parallel to IPv4 ICMP)

24 unit tests covering:
- Build/parse roundtrip for echo request and reply
- Checksum computation and corruption detection
- Handler address matching (responds only to local IPs)
- Edge cases (truncated frames, wrong protocol, IPv4 rejection)
- Wire format verification
- Synthetic performance benchmark (build+parse cycle)
@github-actions
Copy link
Copy Markdown

Synthetic Performance Results — Graviton (run)

Commit: 04d934f0

✅ 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 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 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 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 Performance Results

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

Test Payload Sync PPS Async PPS Ratio (sync/async) Async ns/op
TX send_to 64B 11.2M 10.2M 1.1x 98
RX recv_from 64B 3.4M 3.8M 0.9x 262
TX send_to 1400B 1.7M 1.7M 1.0x 605
RX recv_from 1400B 990.1K 1.0M 1.0x 974

Avg sync/async ratio: 1.0x, worst: 1.1x

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

@github-actions
Copy link
Copy Markdown

Synthetic Performance Results (run)

Commit: 04d934f0

✅ 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 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 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 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 Performance Results

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

Test Payload Sync PPS Async PPS Ratio (sync/async) Async ns/op
TX send_to 64B 10.7M 11.6M 0.9x 86
RX recv_from 64B 3.4M 4.9M 0.7x 204
TX send_to 1400B 1.9M 1.9M 1.0x 524
RX recv_from 1400B 1.1M 1.2M 0.9x 818

Avg sync/async ratio: 0.9x, worst: 1.0x

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

@github-actions
Copy link
Copy Markdown

[CI] Stage: Deploy

Infrastructure ready.

  • Sender: i-091080db1de070a13 (DPDK ENI: 10.0.1.16)
  • Receiver: i-0f41fb4da81ae9178 (DPDK ENI: 10.0.1.175)
  • Both instances SSM-ready.

@github-actions
Copy link
Copy Markdown

[CI] Stage: Deploy

Infrastructure ready.

  • Sender: i-0f1b2738ff0a928f8 (DPDK ENI: 10.0.1.15)
  • Receiver: i-0953dd6caf0dbf3cf (DPDK ENI: 10.0.1.87)
  • Both instances SSM-ready.

@github-actions
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
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
Copy link
Copy Markdown

✅ Integration Tests Passed — Graviton (run)

Branch: 56/merge | Commit: 04d934f0

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.175:9000 (MAC: 02:c7:e5:f4:04:93)
echo listening on 10.0.1.175: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.16:9000 (MAC: 02:d0:72:f7:fc:b5)
echo listening on 10.0.1.16: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.175:9000: 'arp-probe #1'
Test complete
[2026-05-20T04:43:10Z] INFO: ARP resolution succeeded (got response from peer)
[2026-05-20T04:43:10Z] INFO: Test: udp_send_receive
[2026-05-20T04:43:11Z] INFO: UDP send/receive succeeded
[2026-05-20T04:43:11Z] INFO: Test: echo_roundtrip
[2026-05-20T04:43:12Z] INFO: Echo roundtrip succeeded: 5/5 responses received
[2026-05-20T04:43:12Z] INFO: Test: payload_integrity
[2026-05-20T04:43:12Z] INFO: Response received, checking payload match...
[2026-05-20T04:43:12Z] INFO: Payload integrity verified (found in response)
[2026-05-20T04:43:12Z] INFO: JUnit XML written to: /tmp/test-results/tier2-kernel-interop.xml
[2026-05-20T04:43:12Z] INFO: Tier 2 sender tests complete. Results: /tmp/test-results/tier2-kernel-interop.xml

@github-actions
Copy link
Copy Markdown

✅ Integration Tests Passed (Run 26141415678)

Branch: 56/merge | Commit: 04d934f0

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.87:9000 (MAC: 02:8a:f6:0a:ae:0d)
echo listening on 10.0.1.87: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:55:86:80:bc:41)
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.87:9000: 'arp-probe #1'
Test complete
[2026-05-20T04:45:35Z] INFO: ARP resolution succeeded (got response from peer)
[2026-05-20T04:45:35Z] INFO: Test: udp_send_receive
[2026-05-20T04:45:36Z] INFO: UDP send/receive succeeded
[2026-05-20T04:45:36Z] INFO: Test: echo_roundtrip
[2026-05-20T04:45:37Z] INFO: Echo roundtrip succeeded: 5/5 responses received
[2026-05-20T04:45:37Z] INFO: Test: payload_integrity
[2026-05-20T04:45:37Z] INFO: Response received, checking payload match...
[2026-05-20T04:45:37Z] INFO: Payload integrity verified (found in response)
[2026-05-20T04:45:37Z] INFO: JUnit XML written to: /tmp/test-results/tier2-kernel-interop.xml
[2026-05-20T04:45:37Z] INFO: Tier 2 sender tests complete. Results: /tmp/test-results/tier2-kernel-interop.xml

receiver-test-client-iperf.log

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

sender-test-client-iperf.log

Received 30 bytes from 10.0.1.87:9000: 'dpdk-to-kernel-test-payload #3'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #4'
Received 30 bytes from 10.0.1.87:9000: 'dpdk-to-kernel-test-payload #4'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #5'
Received 30 bytes from 10.0.1.87:9000: 'dpdk-to-kernel-test-payload #5'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #6'
Received 30 bytes from 10.0.1.87:9000: 'dpdk-to-kernel-test-payload #6'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #7'
Received 30 bytes from 10.0.1.87:9000: 'dpdk-to-kernel-test-payload #7'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #8'
Received 30 bytes from 10.0.1.87:9000: 'dpdk-to-kernel-test-payload #8'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #9'
Received 30 bytes from 10.0.1.87:9000: 'dpdk-to-kernel-test-payload #9'
Sent 31 bytes: 'dpdk-to-kernel-test-payload #10'
Received 31 bytes from 10.0.1.87:9000: 'dpdk-to-kernel-test-payload #10'
Test complete
[2026-05-20T04:51:51Z] INFO: our-app-sends: sent 10 packets, received 10 responses
[2026-05-20T04:51:51Z] INFO: our-app-sends: PASS (sent >= 5 packets)
[2026-05-20T04:51:51Z] INFO: JUnit XML written to: /tmp/test-results/tier3-our-app-sends.xml
[2026-05-20T04:51:51Z] 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.87:9000 (MAC: 02:8a:f6:0a:ae:0d)
echo listening on 10.0.1.87: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:55:86:80:bc:41)
echo listening on 10.0.1.15:9000 (MTU=9001, max_udp_payload=8973)
Shutting down gracefully...

sender-test-client.log

[2026-05-20T04:41:06Z] INFO: Test: arp_resolution
UDP Test Client
Target: 10.0.1.87:9000
Bind address: 10.0.1.15: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.15:32768 (MAC: 02:55:86:80:bc:41)
Backend: dpdk
Sending packets...
Sent 12 bytes: 'arp-probe #1'
Received 12 bytes from 10.0.1.87:9000: 'arp-probe #1'
Test complete
[2026-05-20T04:41:08Z] INFO: ARP resolution succeeded (got response from peer)
[2026-05-20T04:41:08Z] INFO: Test: udp_send_receive
[2026-05-20T04:41:10Z] INFO: UDP send/receive succeeded
[2026-05-20T04:41:10Z] INFO: Test: echo_roundtrip
[2026-05-20T04:41:12Z] INFO: Echo roundtrip succeeded: 5/5 responses received
[2026-05-20T04:41:12Z] INFO: Test: payload_integrity
[2026-05-20T04:41:12Z] INFO: Response received, checking payload match...
[2026-05-20T04:41:12Z] INFO: Payload integrity verified (found in response)
[2026-05-20T04:41:12Z] INFO: Test: jumbo_diagnostics
[2026-05-20T04:41:12Z] INFO: === JUMBO FRAME DIAGNOSTICS ===
[2026-05-20T04:41:12Z] INFO: Interface MTU:
  9001
  65536
[2026-05-20T04:41:12Z] INFO:   ens5: MTU=9001
[2026-05-20T04:41:12Z] INFO:   lo: MTU=65536
[2026-05-20T04:41:12Z] 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-05-20T04:41:12Z] INFO: DPDK port config (from echo server log):
[2026-05-20T04:41:12Z] INFO:   (no MTU info in echo log)
[2026-05-20T04:41:12Z] INFO: === END JUMBO DIAGNOSTICS ===
[2026-05-20T04:41:12Z] INFO: Test: jumbo_echo_8000
[2026-05-20T04:41:14Z] INFO: Jumbo output: UDP Test Client
Target: 10.0.1.87:9000
Bind address: 10.0.1.15: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.15:32768 (MAC: 02:55:86:80:bc:41)
Backend: dpdk
Sending packets...
Sent 8000 bytes (binary payload)
Received 8000 bytes from 10.0.1.87:9000 (expected 8000, OK)
Sent 8000 bytes (binary payload)
Received 8000 bytes from 10.0.1.87:9000 (expected 8000, OK)
Sent 8000 bytes (binary payload)
Received 8000 bytes from 10.0.1.87:9000 (expected 8000, OK)
Test complete
[2026-05-20T04:41:14Z] INFO: Jumbo frame echo succeeded: 3/3 responses with correct size
[2026-05-20T04:41:14Z] INFO: JUnit XML written to: /tmp/test-results/tier1-dpdk-echo.xml
[2026-05-20T04:41:14Z] INFO: Tier 1 sender tests complete. Results: /tmp/test-results/tier1-dpdk-echo.xml
[2026-05-20T04:45:35Z] INFO: Test: arp_resolution
UDP Test Client
Target: 10.0.1.87: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.87:9000: 'arp-probe #1'
Test complete
[2026-05-20T04:45:35Z] INFO: ARP resolution succeeded (got response from peer)
[2026-05-20T04:45:35Z] INFO: Test: udp_send_receive
[2026-05-20T04:45:36Z] INFO: UDP send/receive succeeded
[2026-05-20T04:45:36Z] INFO: Test: echo_roundtrip
[2026-05-20T04:45:37Z] INFO: Echo roundtrip succeeded: 5/5 responses received
[2026-05-20T04:45:37Z] INFO: Test: payload_integrity
[2026-05-20T04:45:37Z] INFO: Response received, checking payload match...
[2026-05-20T04:45:37Z] INFO: Payload integrity verified (found in response)
[2026-05-20T04:45:37Z] INFO: JUnit XML written to: /tmp/test-results/tier2-kernel-interop.xml
[2026-05-20T04:45:37Z] INFO: Tier 2 sender tests complete. Results: /tmp/test-results/tier2-kernel-interop.xml

receiver-test-client-iperf.log

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

sender-test-client-iperf.log

[2026-05-20T04:51:49Z] INFO: Pre-flight: checking DPDK state and ARP cache...
[2026-05-20T04:51:49Z] INFO: Local IP: 10.0.1.15, Peer IP: 10.0.1.87, Port: 9000
[2026-05-20T04:51:49Z] INFO: /proc/net/arp contents:
IP address       HW type     Flags       HW address            Mask     Device
10.0.1.185       0x1         0x2         02:90:83:33:0b:e3     *        ens5
10.0.1.1         0x1         0x2         02:ff:d4:e5:25:db     *        ens5
10.0.1.87        0x1         0x2         02:8a:f6:0a:ae:0d     *        ens5
10.0.1.15        0x1         0x2         02:55:86:80:bc:41     *        ens5
10.0.1.114       0x1         0x2         02:14:1d:ed:90:e3     *        ens5
[2026-05-20T04:51:49Z] INFO: DPDK runtime state:
No /var/run/dpdk/ directory
[2026-05-20T04:51:49Z] INFO: vfio-pci bindings:
0000:00:06.0
bind
module
new_id
remove_id
uevent
unbind
[2026-05-20T04:51:49Z] INFO: Test binary: /opt/dpdk-stdlib/target/release/test-client
-rwxr-xr-x. 2 root root 1899712 May 20 04:38 /opt/dpdk-stdlib/target/release/test-client
[2026-05-20T04:51:49Z] INFO: Launching test-client: /opt/dpdk-stdlib/target/release/test-client --target 10.0.1.87 --port 9000 --bind-ip 10.0.1.15 --count 10 --delay 200
[2026-05-20T04:51:51Z] INFO: Test client output: UDP Test Client
Target: 10.0.1.87:9000
Bind address: 10.0.1.15: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.15:32768 (MAC: 02:55:86:80:bc:41)
Backend: dpdk
Sending packets...
Sent 30 bytes: 'dpdk-to-kernel-test-payload #1'
Received 30 bytes from 10.0.1.87:9000: 'dpdk-to-kernel-test-payload #1'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #2'
Received 30 bytes from 10.0.1.87:9000: 'dpdk-to-kernel-test-payload #2'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #3'
Received 30 bytes from 10.0.1.87:9000: 'dpdk-to-kernel-test-payload #3'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #4'
Received 30 bytes from 10.0.1.87:9000: 'dpdk-to-kernel-test-payload #4'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #5'
Received 30 bytes from 10.0.1.87:9000: 'dpdk-to-kernel-test-payload #5'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #6'
Received 30 bytes from 10.0.1.87:9000: 'dpdk-to-kernel-test-payload #6'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #7'
Received 30 bytes from 10.0.1.87:9000: 'dpdk-to-kernel-test-payload #7'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #8'
Received 30 bytes from 10.0.1.87:9000: 'dpdk-to-kernel-test-payload #8'
Sent 30 bytes: 'dpdk-to-kernel-test-payload #9'
Received 30 bytes from 10.0.1.87:9000: 'dpdk-to-kernel-test-payload #9'
Sent 31 bytes: 'dpdk-to-kernel-test-payload #10'
Received 31 bytes from 10.0.1.87:9000: 'dpdk-to-kernel-test-payload #10'
Test complete
[2026-05-20T04:51:51Z] INFO: our-app-sends: sent 10 packets, received 10 responses
[2026-05-20T04:51:51Z] INFO: our-app-sends: PASS (sent >= 5 packets)
[2026-05-20T04:51:51Z] INFO: JUnit XML written to: /tmp/test-results/tier3-our-app-sends.xml
[2026-05-20T04:51:51Z] INFO: our-app-sends test complete
⚠️ SSM Command Failures (receiver-ssm-failure.log)
=== Polling timeout after 30s ===
Status: InProgress
Instance: i-0953dd6caf0dbf3cf (receiver)
Command ID: 9f9fea23-c92a-4302-947e-11d1ab7d5969

=== STDOUT ===


=== STDERR ===


=== Polling timeout after 30s ===
Status: InProgress
Instance: i-0953dd6caf0dbf3cf (receiver)
Command ID: 1fb43784-bf8c-41f3-8743-ca6bb9c2e9ca

=== STDOUT ===


=== STDERR ===


=== Polling timeout after 30s ===
Status: InProgress
Instance: i-0953dd6caf0dbf3cf (receiver)
Command ID: 09196bcb-1d34-4fe8-b03d-1b3e4bf7ab30

=== STDOUT ===


=== STDERR ===


=== Polling timeout after 30s ===
Status: InProgress
Instance: i-0953dd6caf0dbf3cf (receiver)
Command ID: d8c06607-925d-40c8-b24d-981cd9f52854

=== STDOUT ===


=== STDERR ===


⚠️ SSM Command Failures (sender-ssm-failure.log)
=== Polling timeout after 30s ===
Status: InProgress
Instance: i-0f1b2738ff0a928f8 (sender)
Command ID: 64ae3b40-b50d-49e4-bdb4-a2903a89fa48

=== 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:90:55:24:a5:b3 brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname eni-0b5f9fce462cc8d0d
    altname device-number-0.0
    inet 10.0.1.229/24 metric 512 brd 10.0.1.255 scope global dynamic ens5
       valid_lft 2273sec preferred_lft 2273sec
    inet6 fe80::90:55ff:fe24:a5b3/64 scope link proto kernel_ll 
       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:53:ac:a1:ce:53 brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname eni-0b7fb45c54347a01a
    altname device-number-0.0
    inet 10.0.1.142/24 metric 512 brd 10.0.1.255 scope global dynamic ens5
       valid_lft 2295sec preferred_lft 2295sec
    inet6 fe80::53:acff:fea1:ce53/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever

receiver-networking-diag-baseline.txt

=== NETWORKING DIAGNOSTICS ===
timestamp: 2026-05-20T04:40:26Z
hostname: ip-10-0-1-229.ec2.internal
kernel: 6.18.25-57.109.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:90:55:24:a5:b3 brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname eni-0b5f9fce462cc8d0d
    altname device-number-0.0
    inet 10.0.1.229/24 metric 512 brd 10.0.1.255 scope global dynamic ens5
       valid_lft 3322sec preferred_lft 3322sec
    inet6 fe80::90:55ff:fe24:a5b3/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever

=== ARP TABLE ===
10.0.1.185 dev ens5 lladdr 02:90:83:33:0b:e3 REACHABLE 
10.0.1.1 dev ens5 lladdr 02:ff:d4:e5:25:db REACHABLE 

=== ROUTE TABLE ===
default via 10.0.1.1 dev ens5 proto dhcp src 10.0.1.229 metric 512 
10.0.0.2 via 10.0.1.1 dev ens5 proto dhcp src 10.0.1.229 metric 512 
10.0.1.0/24 dev ens5 proto kernel scope link src 10.0.1.229 metric 512 
10.0.1.1 dev ens5 proto dhcp scope link src 10.0.1.229 metric 512 

=== IMDS: ENI INFORMATION ===
ENI MACs found: 02:8a:f6:0a:ae:0d/ 02:90:55:24:a5:b3/ 

--- ENI: 02:8a:f6:0a:ae:0d/ ---
  device-number: 1
  local-ipv4s: 10.0.1.87
  subnet-id: subnet-0c327a94e9c8f9d9a
  subnet-cidr: 10.0.1.0/24

--- ENI: 02:90:55:24:a5:b3/ ---
  device-number: 0
  local-ipv4s: 10.0.1.229
  subnet-id: subnet-0c327a94e9c8f9d9a
  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:ff:d4:e5:25:db REACHABLE 

arping result:
ARPING 10.0.1.1 from 10.0.1.229 ens5
Unicast reply from 10.0.1.1 [02:FF:D4:E5:25:DB]  0.539ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)

=== HUGEPAGE STATUS ===
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
FileHugePages:     18432 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 May 20 04:40 .
drwxr-xr-x. 14 root root     3100 May 20 04:39 ..
crw-------.  1 root root 243,   0 May 20 04:40 noiommu-0
crw-rw-rw-.  1 root root  10, 196 May 20 04:35 vfio

noiommu mode:
Y

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

=== DPDK-RELATED DMESG (last 30 lines) ===
[    0.054764] printk: legacy console [ttyS0] enabled
[    0.055874] x2apic enabled
[    0.060750] mitigations: Enabled attack vectors: user_kernel, user_user, guest_host, guest_guest, SMT mitigations: auto
[    0.060869] x86/fpu: Enabled xstate features 0x2ff, context size is 2568 bytes, using 'compacted' format.
[    0.070309] audit: type=2000 audit(1779251740.812:1): state=initialized audit_enabled=0 res=1
[    0.081004] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.
[    0.139920] ACPI: Interpreter enabled
[    0.140086] ACPI: Enabled 2 GPEs in block 00 to 0F
[    0.148485] pci 0000:00:05.0: enabling Extended Tags
[    0.224093] SGI XFS with ACLs, security attributes, quota, no debug enabled
[    0.229461] ACPI: \_SB_.LNKD: Enabled at IRQ 11
[    0.235449] IPI shorthand broadcast: enabled
[    4.778638] systemd[1]: Mounting dev-hugepages.mount - Huge Pages File System...
[    4.822558] systemd[1]: Mounted dev-hugepages.mount - Huge Pages File System.
[    4.979610] VFIO - User Level meta-driver version: 0.3
[    5.549342] ena 0000:00:05.0: Elastic Network Adapter (ENA) v2.16.1g
[    5.560578] ena 0000:00:05.0: ENA device version: 0.10
[    5.561330] ena 0000:00:05.0: ENA controller version: 0.0.1 implementation version 1
[    5.663539] ena 0000:00:05.0: ENA Large LLQ is disabled
[    5.676131] ena 0000:00:05.0: Elastic Network Adapter (ENA) found at mem c0500000, mac addr 02:90:55:24:a5:b3
[    5.712517] ena 0000:00:05.0 ens5: renamed from eth0
[  230.668689] pci 0000:00:06.0: enabling Extended Tags
[  230.672826] ena 0000:00:06.0: enabling device (0000 -> 0002)
[  230.687118] ena 0000:00:06.0: ENA device version: 0.10
[  230.687874] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  230.789033] ena 0000:00:06.0: ENA Large LLQ is disabled
[  230.801781] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:8a:f6:0a:ae:0d
[  230.808967] ena 0000:00:06.0 ens6: renamed from eth0
[  272.084922] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  272.086340] 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-05-20T04:40:18Z
hostname: ip-10-0-1-142.ec2.internal
kernel: 6.18.25-57.109.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:53:ac:a1:ce:53 brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname eni-0b7fb45c54347a01a
    altname device-number-0.0
    inet 10.0.1.142/24 metric 512 brd 10.0.1.255 scope global dynamic ens5
       valid_lft 3329sec preferred_lft 3329sec
    inet6 fe80::53:acff:fea1:ce53/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever

=== ARP TABLE ===
10.0.1.185 dev ens5 lladdr 02:90:83:33:0b:e3 REACHABLE 
10.0.1.1 dev ens5 lladdr 02:ff:d4:e5:25:db REACHABLE 
10.0.1.114 dev ens5 lladdr 02:14:1d:ed:90:e3 STALE 

=== ROUTE TABLE ===
default via 10.0.1.1 dev ens5 proto dhcp src 10.0.1.142 metric 512 
10.0.0.2 via 10.0.1.1 dev ens5 proto dhcp src 10.0.1.142 metric 512 
10.0.1.0/24 dev ens5 proto kernel scope link src 10.0.1.142 metric 512 
10.0.1.1 dev ens5 proto dhcp scope link src 10.0.1.142 metric 512 

=== IMDS: ENI INFORMATION ===
ENI MACs found: 02:53:ac:a1:ce:53/ 02:55:86:80:bc:41/ 

--- ENI: 02:53:ac:a1:ce:53/ ---
  device-number: 0
  local-ipv4s: 10.0.1.142
  subnet-id: subnet-0c327a94e9c8f9d9a
  subnet-cidr: 10.0.1.0/24

--- ENI: 02:55:86:80:bc:41/ ---
  device-number: 1
  local-ipv4s: 10.0.1.15
  subnet-id: subnet-0c327a94e9c8f9d9a
  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:ff:d4:e5:25:db REACHABLE 

arping result:
ARPING 10.0.1.1 from 10.0.1.142 ens5
Unicast reply from 10.0.1.1 [02:FF:D4:E5:25:DB]  0.549ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)

=== HUGEPAGE STATUS ===
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
FileHugePages:     18432 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 May 20 04:40 .
drwxr-xr-x. 14 root root     3100 May 20 04:38 ..
crw-------.  1 root root 243,   0 May 20 04:40 noiommu-0
crw-rw-rw-.  1 root root  10, 196 May 20 04:35 vfio

noiommu mode:
Y

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

=== DPDK-RELATED DMESG (last 30 lines) ===
[    0.052673] printk: legacy console [ttyS0] enabled
[    0.053779] x2apic enabled
[    0.058640] mitigations: Enabled attack vectors: user_kernel, user_user, guest_host, guest_guest, SMT mitigations: auto
[    0.058759] x86/fpu: Enabled xstate features 0x2ff, context size is 2568 bytes, using 'compacted' format.
[    0.068158] audit: type=2000 audit(1779251739.910:1): state=initialized audit_enabled=0 res=1
[    0.078566] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.
[    0.129450] ACPI: Interpreter enabled
[    0.129450] ACPI: Enabled 2 GPEs in block 00 to 0F
[    0.144072] pci 0000:00:05.0: enabling Extended Tags
[    0.244152] SGI XFS with ACLs, security attributes, quota, no debug enabled
[    0.249575] ACPI: \_SB_.LNKD: Enabled at IRQ 11
[    0.255266] IPI shorthand broadcast: enabled
[    5.615567] systemd[1]: Mounting dev-hugepages.mount - Huge Pages File System...
[    5.657183] systemd[1]: Mounted dev-hugepages.mount - Huge Pages File System.
[    5.873549] VFIO - User Level meta-driver version: 0.3
[    6.462127] ena 0000:00:05.0: Elastic Network Adapter (ENA) v2.16.1g
[    6.475067] ena 0000:00:05.0: ENA device version: 0.10
[    6.475820] ena 0000:00:05.0: ENA controller version: 0.0.1 implementation version 1
[    6.585036] ena 0000:00:05.0: ENA Large LLQ is disabled
[    6.597379] ena 0000:00:05.0: Elastic Network Adapter (ENA) found at mem c0500000, mac addr 02:53:ac:a1:ce:53
[    6.633515] ena 0000:00:05.0 ens5: renamed from eth0
[  190.302743] pci 0000:00:06.0: enabling Extended Tags
[  190.306875] ena 0000:00:06.0: enabling device (0000 -> 0002)
[  190.317518] ena 0000:00:06.0: ENA device version: 0.10
[  190.318273] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  190.417489] ena 0000:00:06.0: ENA Large LLQ is disabled
[  190.429658] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:55:86:80:bc:41
[  190.437008] ena 0000:00:06.0 ens6: renamed from eth0
[  265.770627] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  265.772071] 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.069648] pid_max: default: 32768 minimum: 301
[    0.152524] iommu: Default domain type: Translated
[    0.158660] NetLabel:  unlabeled traffic allowed by default
[    0.195803] PCI: CLS 0 bytes, default 64
[    0.250001] nvme nvme0: 2/0/0 default/read/poll queues
[    0.435715] 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.435807] systemd[1]: No hostname configured, using default hostname.
[    0.506988] systemd[1]: Queued start job for default target initrd.target.
[    3.478742] 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)
[  314.673621] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:4361)
[  578.879519] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:4849)
[ 1191.090273] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:6011)

sender-dmesg-crashes.log

[    0.067546] pid_max: default: 32768 minimum: 301
[    0.148049] iommu: Default domain type: Translated
[    0.148257] NetLabel:  unlabeled traffic allowed by default
[    0.197916] PCI: CLS 0 bytes, default 64
[    0.292613] nvme nvme0: 2/0/0 default/read/poll queues
[    0.431239] 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.431373] systemd[1]: No hostname configured, using default hostname.
[    0.494700] systemd[1]: Queued start job for default target initrd.target.
[    4.391812] 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)
[ 1015.034005] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:5697)
Kernel Console (dmesg)

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

[  314.672026] vfio-pci 0000:00:06.0: reset done
[  314.673621] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:4361)
[  314.675132] vfio-pci 0000:00:06.0: resetting
[  314.891874] vfio-pci 0000:00:06.0: reset done
[  393.213002] vfio-pci 0000:00:06.0: Removing from iommu group 0
[  394.225981] ena 0000:00:06.0: ENA device version: 0.10
[  394.226732] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  394.327899] ena 0000:00:06.0: ENA Large LLQ is disabled
[  394.340497] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:8a:f6:0a:ae:0d
[  394.348784] ena 0000:00:06.0 ens6: renamed from eth0
[  414.292440] vfio-pci 0000:00:06.0: Adding to iommu group 0
[  414.293666] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[  578.661337] vfio-pci 0000:00:06.0: resetting
[  578.877956] vfio-pci 0000:00:06.0: reset done
[  578.879519] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:4849)
[  578.880966] vfio-pci 0000:00:06.0: resetting
[  579.097849] vfio-pci 0000:00:06.0: reset done
[  655.630725] vfio-pci 0000:00:06.0: Removing from iommu group 0
[  656.643532] ena 0000:00:06.0: ENA device version: 0.10
[  656.644279] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[  656.745189] ena 0000:00:06.0: ENA Large LLQ is disabled
[  656.757099] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:8a:f6:0a:ae:0d
[  656.765560] ena 0000:00:06.0 ens6: renamed from eth0
[ 1115.482042] vfio-pci 0000:00:06.0: Adding to iommu group 0
[ 1115.483506] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[ 1190.870700] vfio-pci 0000:00:06.0: resetting
[ 1191.088680] vfio-pci 0000:00:06.0: reset done
[ 1191.090273] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (echo:6011)
[ 1191.091724] vfio-pci 0000:00:06.0: resetting
[ 1191.308498] vfio-pci 0000:00:06.0: reset done

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

[ 1015.035457] vfio-pci 0000:00:06.0: resetting
[ 1015.252258] vfio-pci 0000:00:06.0: reset done
[ 1078.473533] vfio-pci 0000:00:06.0: Removing from iommu group 0
[ 1079.486615] ena 0000:00:06.0: ENA device version: 0.10
[ 1079.487375] ena 0000:00:06.0: ENA controller version: 0.0.1 implementation version 1
[ 1079.588546] ena 0000:00:06.0: ENA Large LLQ is disabled
[ 1079.601542] ena 0000:00:06.0: Elastic Network Adapter (ENA) found at mem c0508000, mac addr 02:55:86:80:bc:41
[ 1079.612243] ena 0000:00:06.0 ens6: renamed from eth0 (while UP)
[ 1109.483614] vfio-pci 0000:00:06.0: Adding to iommu group 0
[ 1109.484993] vfio-pci 0000:00:06.0: Adding kernel taint for vfio-noiommu group on device
[ 1207.725478] vfio-pci 0000:00:06.0: resetting
[ 1207.940800] vfio-pci 0000:00:06.0: reset done
[ 1207.942399] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:6139)
[ 1207.944006] vfio-pci 0000:00:06.0: resetting
[ 1208.160671] vfio-pci 0000:00:06.0: reset done
[ 1208.438044] vfio-pci 0000:00:06.0: resetting
[ 1208.650661] vfio-pci 0000:00:06.0: reset done
[ 1208.652265] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:6160)
[ 1208.653926] vfio-pci 0000:00:06.0: resetting
[ 1208.870647] vfio-pci 0000:00:06.0: reset done
[ 1210.160247] vfio-pci 0000:00:06.0: resetting
[ 1210.380678] vfio-pci 0000:00:06.0: reset done
[ 1210.382289] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:6183)
[ 1210.383928] vfio-pci 0000:00:06.0: resetting
[ 1210.600632] vfio-pci 0000:00:06.0: reset done
[ 1211.900087] vfio-pci 0000:00:06.0: resetting
[ 1212.120691] vfio-pci 0000:00:06.0: reset done
[ 1212.122291] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (tokio-rt-worker:6206)
[ 1212.123930] vfio-pci 0000:00:06.0: resetting
[ 1212.340609] vfio-pci 0000:00:06.0: reset done

@gspivey gspivey merged commit 06e37e5 into development May 20, 2026
9 checks passed
gspivey added a commit that referenced this pull request May 20, 2026
Check off ipv6 roadmap task related to ICMPv6 echo reply handler
#56
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