MÓDULO GO.Art¶
Custom Go agent — MAC + ARP/NDP table flooding.
Function¶
Pure-Go agent using gopacket to flood the NGFW's MAC table + ARP cache via gratuitous ARPs. Tests L2 capacity (not throughput).
Per discuss_mac_arp_table_stress_2026_05_09 — DPDK eliminated;
gopacket in K8s pod over macvlan is sufficient for the capacity
stress scenario (~65K pairs in /16 host space).
Identity¶
| Element | Value |
|---|---|
| Plane | DATA |
| Internal code | control-plane-stress-agent → macarp-stress-agent |
| K8s namespace | macarp-stress |
| OOBI slot | n/a (data-plane only) |
| Network | VLAN 2900 (TRUST), subnet 172.19.0.0/16 (gateway .1 NGFW) |
Dependencies¶
- Go 1.23 + gopacket
- NET_RAW + NET_ADMIN capabilities (privileged-namespace PSA)
- Multus + macvlan attachment to macvlan0/eth1.2900
Operator controls¶
/admin/macarp-stress— pickMACARP_BUDGET_PAIRS(default 65000),MACARP_RATE_PPS(default 1000), replica countMACARP_DRY_RUN=1mode for testing without raw sockets- Replica index/total via StatefulSet POD_NAME
Key telemetry¶
macarp_pairs_total{replica}— ARP pairs emittedmacarp_bytes_total— wire bytesmacarp_probe_baseline_rtt_ms,_degraded_rtt_ms(companion probe)macarp_probe_loss_ratemacarp_probe_table_fill_suspect(bool)
Companion probe¶
cmd/macarp-probe runs alongside the stress agent: ICMP-pings a
known-good IP across the NGFW + classifies the response stream
(per ADR 0010-style analyzer). Flags TableFillSuspect when loss
rate > 5% or RTT P95 spikes 3x baseline.
Related¶
- Memory:
discuss_mac_arp_table_stress_2026_05_09 - BGP-{1..4}.Art — sister control-plane stress
- Grafana dashboard
macarp-stress