Architectural Invariant Design: eBPF TCX Multi-Program Packet Re-Injection Scheduling & Deterministic Chain Ordering
eBPF TCX Multi-Program Packet Re-Injection Scheduling & Deterministic Chain Ordering defines an industrial-grade behavioral standard for devops engineering. Guarantees deterministic execution ordering across coexisting eBPF TCX (Traffic Control BPF link) attachments on network interfaces to eliminate silent packet loss and circular re-injection loops. Enforces explicit relative link positioning flags (BPF_F_BEFORE/BPF_F_AFTER) alongside strict packet-marking invariants to track re-injection depth across kernel ingress filter links. Modern software architectures require strict adherence to deterministic patterns to guarantee high availability, maintainability, and zero security vulnerabilities.
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 Mode | AI Symptom (The Anti-Pattern) | Severity | Production Impact & Remedy |
|---|---|---|---|
| AI Hallucination & Deprecation Drift | Non-Deterministic TCX Head Preemption and Unbounded Ingress Re-Injection Loops | Critical | 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 Inconsistency | AI 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. |
Step-by-Step Production Directives
Each rule constraint below is injected into the AI agent's system prompt to establish deterministic boundaries:
Engineers MUST ALWAYS specify explicit attachment ordering using BPF_F_BEFORE, BPF_F_AFTER, or BPF_F_ID when creating TCX links (BPF_LINK_TYPE_TCX) instead of relying on default head-of-chain preemption.
Engineers MUST ALWAYS specify explicit attachment ordering using BPF_F_BEFORE, BPF_F_AFTER, or BPF_F_ID when creating TCX links (BPF_LINK_TYPE_TCX) instead of relying on default head-of-chain preemption.
Engineers MUST NOT issue bpf_redirect() or bpf_clone_redirect() back into the same interface ingress without encoding a decrementing TTL or deterministic recursion barrier in skb->mark or cb[].
Engineers MUST NOT issue bpf_redirect() or bpf_clone_redirect() back into the same interface ingress without encoding a decrementing TTL or deterministic recursion barrier in skb->mark or cb[].
Code SHOULD return TCX_NEXT (or TC_ACT_UNSPEC in legacy wrappers) when a program does not decisively drop or redirect, ensuring subsequent TCX filter programs in the kernel execution chain receive the skb.
Code SHOULD return TCX_NEXT (or TC_ACT_UNSPEC in legacy wrappers) when a program does not decisively drop or redirect, ensuring subsequent TCX filter programs in the kernel execution chain receive the skb.
Services MUST query the existing TCX link graph via BPF_PROG_QUERY or link iterator before attachment to assert that relative target links exist and avoid ENOLINK/EINVAL runtime crashes.
Services MUST query the existing TCX link graph via BPF_PROG_QUERY or link iterator before attachment to assert that relative target links exist and avoid ENOLINK/EINVAL runtime crashes.
Components NEVER execute unchecked bpf_redirect_peer() across veth pairs without inspecting ingress SKB loop flags, preventing infinite kernel softirq livelocks.
Components NEVER execute unchecked bpf_redirect_peer() across veth pairs without inspecting ingress SKB loop flags, preventing infinite kernel softirq livelocks.
Frequently Asked Technical Questions
Common questions developers face when configuring AI coding assistants for this stack:
Q:Why is eBPF TCX Multi-Program Packet Re-Injection Scheduling & Deterministic Chain Ordering critical for AI coding assistants?
Guarantees deterministic execution ordering across coexisting eBPF TCX (Traffic Control BPF link) attachments on network interfaces to eliminate silent packet loss and circular re-injection loops. Enforces explicit relative link positioning flags (BPF_F_BEFORE/BPF_F_AFTER) alongside strict packet-marking invariants to track re-injection depth across kernel ingress filter links. 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 (Non-Deterministic TCX Head Preemption and Unbounded Ingress Re-Injection Loops) 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.