Skip to content

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-agentmacarp-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 — pick MACARP_BUDGET_PAIRS (default 65000), MACARP_RATE_PPS (default 1000), replica count
  • MACARP_DRY_RUN=1 mode for testing without raw sockets
  • Replica index/total via StatefulSet POD_NAME

Key telemetry

  • macarp_pairs_total{replica} — ARP pairs emitted
  • macarp_bytes_total — wire bytes
  • macarp_probe_baseline_rtt_ms, _degraded_rtt_ms (companion probe)
  • macarp_probe_loss_rate
  • macarp_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.

  • Memory: discuss_mac_arp_table_stress_2026_05_09
  • BGP-{1..4}.Art — sister control-plane stress
  • Grafana dashboard macarp-stress