This specification is maintained by the AgentRules Working Group. Have enhancements or want to claim maintainership?Submit Specification →
devopscritical PriorityID: cilium-ebpf-pmtu-geneve-encapsulation-guardrail

Cilium eBPF Host-Routing Path MTU Discovery and GENEVE Encapsulation Guardrails

Enforces deterministic Path MTU Discovery (PMTU) and explicit header overhead compensation when using Cilium eBPF host-routing over GENEVE tunnels in hybrid multi-cloud topologies. Prevents silent egress packet drops, TCP stall conditions, and kernel-level fragmentation bottlenecks caused by eBPF netkit/veth bypass of standard netfilter TCPMSS clamping.

Prohibited Anti-Pattern: Bypassing Dynamic PMTU and MSS Clamping with Static MTUs in eBPF Host-Routed Multi-Cloud Overlay Networks

Export Ready-to-Drop Configuration

Select format below to copy code or download file directly.

---
description: Cilium eBPF Host-Routing Path MTU Discovery and GENEVE Encapsulation Guardrails - Enforces deterministic Path MTU Discovery (PMTU) and explicit header overhead compensation when using Cilium eBPF host-routing over GENEVE tunnels in hybrid multi-cloud topologies. Prevents silent egress packet drops, TCP stall conditions, and kernel-level fragmentation bottlenecks caused by eBPF netkit/veth bypass of standard netfilter TCPMSS clamping.
globs: **/cilium-values.yaml, **/helm/cilium/**/*.yaml, **/charts/cilium/**/*.yaml, **/infrastructure/k8s/**/*.yaml, **/terraform/**/*.tf
alwaysApply: true
verified_by: "agentrules.org"
license: "CC-BY-4.0"
source: "https://agentrules.org/rules/cilium-ebpf-pmtu-geneve-encapsulation-guardrail"
---

# Cilium eBPF Host-Routing Path MTU Discovery and GENEVE Encapsulation Guardrails

> **Severity**: CRITICAL | **Category**: devops
> **Anti-Pattern Warning**: Bypassing Dynamic PMTU and MSS Clamping with Static MTUs in eBPF Host-Routed Multi-Cloud Overlay Networks

## System Constraints
You are a Principal Software Architect enforcing Cilium eBPF Host-Routing and GENEVE overlay network invariants. You must prevent silent packet drops and latency degradation caused by unhandled MTU mismatches across multi-cloud interfaces. You must mandate dynamic PMTU discovery, explicit tunnel overhead reservation (at least 50 bytes for GENEVE IPv4, 70 bytes for IPv6), and proper kernel ICMP generation whenever eBPF host-routing is active.

## Strict Guidelines
- Engineers MUST ALWAYS enable dynamic PMTU probing (`pmtuDiscovery: true` or `enable-pmtu-discovery: true`) when `routingMode: tunnel` and `tunnelProtocol: geneve` are configured.
- Engineers MUST NEVER configure static MTU values equal to the underlying fabric MTU (1500) without subtracting GENEVE encapsulation overhead (minimum 50 bytes for IPv4, 70 bytes for IPv6).
- Deployments MUST ensure eBPF host-routing (`bpf.hostRouting: true`) permits ICMP Type 3 Code 4 ('Destination Unreachable, Fragmentation Needed') packet translation back to pod network namespaces.
- Engineers MUST configure explicit TCP MSS clamping (`bpf.tproxy: true` or explicit Cilium MSS clamping flags) when multi-cloud interconnect transit MTUs vary (e.g., AWS 9001 MTU inter-region vs GCP 1460 MTU).
- Hybrid clusters spanning multiple cloud providers MUST set the Cilium MTU explicitly to the lowest common denominator minus encapsulation overhead unless dynamic PMTU is verified end-to-end via synthetic probing.
- Kernel bypass flags MUST NOT disable the generation of ICMP 'Fragmentation Needed' replies inside Cilium's XDP or tc eBPF programs.

## Bad vs Good Implementations
### Cilium Helm Values: Overlay MTU Configuration

#### Bad Antipattern (AI Common Hallucination)
> **Why it fails**: Configuring MTU to 1500 while encapsulating via GENEVE requires 1550 bytes on the wire. If physical or VPC networks cap MTU at 1500 (or 1460 in GCP), packets are dropped. Disabling PMTU discovery and ICMP errors prevents endpoints from performing TCP MSS reduction, causing blackhole connections and random TLS handshake hangs.
```yaml
# Anti-Pattern: Static MTU set to fabric capacity with eBPF host-routing bypassing MSS clamping
routingMode: tunnel
tunnelProtocol: geneve
bpf:
  hostRouting: true
  masquerade: true
mtu: 1500 # Silent packet loss: Overlaps with 1500 fabric MTU; GENEVE 50-byte header exceeds link
enableICMPErrors: false
pmtuDiscovery: false
```

#### Production Standard (Correct)
> **Standard**: Sets the MTU safely below the lowest common denominator fabric MTU (1460 in GCP - 50 byte GENEVE overhead = 1410). Enables dynamic PMTU discovery (`pmtuDiscovery: true`) and allows Cilium eBPF tc programs to emit ICMP Type 3 Code 4 errors back to pod sockets, enabling automated TCP MSS negotiation without packet loss.
```yaml
# Production-Grade: Explicitly calculated overhead, dynamic PMTU discovery, and ICMP propagation
routingMode: tunnel
tunnelProtocol: geneve
bpf:
  hostRouting: true
  masquerade: true
  # Ensure tc/eBPF preserves PMTU discovery and ICMP reflection
pmtuDiscovery: true
enableICMPErrors: true
# Explicitly reserve 50 bytes for GENEVE + outer IP/UDP headers across heterogeneous links
# When traversing GCP default interfaces (1460), MTU must strictly be <= 1410
mtu: 1410
enableIPv4Masquerade: true
autoDirectNodeRoutes: false
```

Architectural Specification & Invariant Rationale

Architectural Invariant Design: Cilium eBPF Host-Routing Path MTU Discovery and GENEVE Encapsulation Guardrails

Cilium eBPF Host-Routing Path MTU Discovery and GENEVE Encapsulation Guardrails defines an industrial-grade behavioral standard for devops engineering. Enforces deterministic Path MTU Discovery (PMTU) and explicit header overhead compensation when using Cilium eBPF host-routing over GENEVE tunnels in hybrid multi-cloud topologies. Prevents silent egress packet drops, TCP stall conditions, and kernel-level fragmentation bottlenecks caused by eBPF netkit/veth bypass of standard netfilter TCPMSS clamping. Modern software architectures require strict adherence to deterministic patterns to guarantee high availability, maintainability, and zero security vulnerabilities.

Framework Paradigm Shift & Drift MechanicsLLMs are trained on millions of open-source repositories containing outdated code, legacy idioms, and unpatched antipatterns. When coding assistants generate implementations for this stack, they default to common statistical tokens: Bypassing Dynamic PMTU and MSS Clamping with Static MTUs in eBPF Host-Routed Multi-Cloud Overlay Networks Without an explicit system instruction file, developers spend hours debugging silent failures.
Failure Modes & Production Blast Radius

Hazard Analysis: What Breaks Without This Rule

The following failure modes have been cataloged from hundreds of hours of production code reviews where AI assistants produced non-compliant implementations:

Failure ModeAI Symptom (The Anti-Pattern)SeverityProduction Impact & Remedy
AI Hallucination & Deprecation DriftBypassing Dynamic PMTU and MSS Clamping with Static MTUs in eBPF Host-Routed Multi-Cloud Overlay NetworksCritical
Violating this industrial standard introduces regression bugs, security risks, and unexpected runtime failures in production.
Enforce explicit behavioral system directives across all AI coding assistants in your repository.
Silent Architecture InconsistencyAI assistants produce mixed paradigms across files, creating fragmented codebase conventions.Medium
Increases cognitive load during code reviews and leads to maintenance debt across engineering teams.
Pin project conventions in .cursor/rules, CLAUDE.md, and AGENTS.md so all team agents follow identical guardrails.
Architectural Directives in Detail

Step-by-Step Production Directives

Each rule constraint below is injected into the AI agent's system prompt to establish deterministic boundaries:

1

Engineers MUST ALWAYS enable dynamic PMTU probing (`pmtuDiscovery

Engineers MUST ALWAYS enable dynamic PMTU probing (`pmtuDiscovery: true` or `enable-pmtu-discovery: true`) when `routingMode: tunnel` and `tunnelProtocol: geneve` are configured.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
2

Engineers MUST NEVER configure static MTU values equal to the underlying fabric MTU (1500) without subtracting GENEVE encapsulation overhead (minimum 50 bytes for IPv4, 70 bytes for IPv6).

Engineers MUST NEVER configure static MTU values equal to the underlying fabric MTU (1500) without subtracting GENEVE encapsulation overhead (minimum 50 bytes for IPv4, 70 bytes for IPv6).

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
3

Deployments MUST ensure eBPF host-routing (`bpf.hostRouting

Deployments MUST ensure eBPF host-routing (`bpf.hostRouting: true`) permits ICMP Type 3 Code 4 ('Destination Unreachable, Fragmentation Needed') packet translation back to pod network namespaces.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
4

Engineers MUST configure explicit TCP MSS clamping (`bpf.tproxy

Engineers MUST configure explicit TCP MSS clamping (`bpf.tproxy: true` or explicit Cilium MSS clamping flags) when multi-cloud interconnect transit MTUs vary (e.g., AWS 9001 MTU inter-region vs GCP 1460 MTU).

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
5

Hybrid clusters spanning multiple cloud providers MUST set the Cilium MTU explicitly to the lowest common denominator minus encapsulation overhead unless dynamic PMTU is verified end-to-end via synthetic probing.

Hybrid clusters spanning multiple cloud providers MUST set the Cilium MTU explicitly to the lowest common denominator minus encapsulation overhead unless dynamic PMTU is verified end-to-end via synthetic probing.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
6

Kernel bypass flags MUST NOT disable the generation of ICMP 'Fragmentation Needed' replies inside Cilium's XDP or tc eBPF programs.

Kernel bypass flags MUST NOT disable the generation of ICMP 'Fragmentation Needed' replies inside Cilium's XDP or tc eBPF programs.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
Technical Questions & Answers

Frequently Asked Technical Questions

Common questions developers face when configuring AI coding assistants for this stack:

Q:Why is Cilium eBPF Host-Routing Path MTU Discovery and GENEVE Encapsulation Guardrails critical for AI coding assistants?

Enforces deterministic Path MTU Discovery (PMTU) and explicit header overhead compensation when using Cilium eBPF host-routing over GENEVE tunnels in hybrid multi-cloud topologies. Prevents silent egress packet drops, TCP stall conditions, and kernel-level fragmentation bottlenecks caused by eBPF netkit/veth bypass of standard netfilter TCPMSS clamping. Without explicit behavioral boundaries, AI coding assistants (Cursor, Claude Code, Windsurf, Codex) rely on training data averages, which frequently produce deprecated, inefficient, or vulnerable code patterns.

Q:How does adopting this rule prevent AI hallucinations?

This rule explicitly declares what the AI must avoid (Bypassing Dynamic PMTU and MSS Clamping with Static MTUs in eBPF Host-Routed Multi-Cloud Overlay Networks) and prescribes verified positive examples. Grounding the LLM with negative and positive pairs eliminates guesswork.

Q:Which AI coding environments are supported?

This specification is multi-platform compatible: Cursor (.cursor/rules/*.mdc & .cursorrules), Anthropic Claude Code (CLAUDE.md), Windsurf (.windsurfrules), Codex / Cline (AGENTS.md), and GitHub Copilot (.github/copilot-instructions.md).

Q:Can I combine this rule with other technology stacks?

Yes. Use the Interactive Stack Builder or download an Agent Pack to merge this rule with other frontend, backend, database, security, and DevOps rules without syntax collision.

Open Specification · CC BY 4.0·Free for Personal, Team & Commercial In-Repo Use

Citation & Open Source Attribution Guidelines

This specification is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0). You are completely free to adapt and share this rule in your workspace. If citing, including in public AI benchmark datasets, or redistributing, attribution to AgentRules.org is required.

1 Rule in Stack

Cilium