Cilium Multihoming

The multi-homed node from the previous post has two equal-cost layer 3 uplinks. The kernel’s multipath hash never sees the flow — Cilium’s bpf_fib_lookup carries L3 only. Feeding it the flow label and the L4 ports makes ECMP real, on the default hash policy. With the help of AI coding with my stupid ideas, cilium distributes traffic to both uplinks.

August 14, 2026 · 7 min · 1343 words · dnzydn

Multi-homing Kubernetes Nodes and cilium without Bonding

Two L3 uplinks per node, address on dummy0, BGP unnumbered to the fabric, and Cilium peering with the node’s own FRR over a single ::1 session that carries both address families — so no Kubernetes manifest ever contains a TOR address.

August 7, 2026 · 10 min · 2025 words · dnzydn

Deterministic Egress NAT for Cilium

An alternative Cilium Egress Gateway that removes state synchronization and conntrack overhead in active-active multi-gateway setups from the gateway

July 24, 2026 · 3 min · 473 words · dnzydn

The EVPN Loop That Wasn't: Arista ESI Multihoming in a Virtual Lab

I lost an afternoon to a “routing loop” that turned out not to be a loop at all. It was an EVPN all-active multihoming feature quietly not working in a virtual lab — and the packets ping-ponging between two switches were a symptom, not the disease. This post is two things: a refresher on how Arista ESI (Ethernet Segment) multihoming actually forwards traffic, and a write-up of the specific trap you can fall into when you build EVPN designs on vEOS/containerlab instead of real hardware. ...

July 1, 2026 · 6 min · 1153 words · dnzydn

Cilium BGP and using FRR for node connectivity

Dual-homed servers use IP-unnumbered physical interfaces. A dedicated dummy interface (not lo) is assigned to each server as its IPv4 node address. FRR runs between the servers and the ToR switches to provide node-level connectivity, advertising the server’s node IP (dummy interface address) and receiving the default route from the ToRs. Using a bond interface between ToRs can also be used for redundancy and failover for server connectivity. You may also configure Layer 3 interfaces. The main issue is about node identity and service continuity during the failure of a single link. Using a bond interface or a dummy interface seems like a more usable approach. ...

November 19, 2025 · 1 min · 159 words · dnzydn

Cisco Nexus 9300v Configuration Notes

ESI Multi-Homing and ARP Suppression Issue: Duplicate Packets & Flooding When ESI is not functioning correctly, you may observe duplicate packets destined for hosts behind the ESI. Remote switches might flood traffic toward the ESI switches instead of handling it efficiently. TCAM Carving for ARP Suppression To use the suppress-arp feature effectively and prevent unnecessary flooding, you must allocate sufficient TCAM resources on the switch hardware. 1 2 3 # Configure TCAM carving for ARP suppression hardware access-list tcam region racl 512 hardware access-list tcam region arp-ether 256 double-wide Warning: It was observed that enabling suppress-arp caused reachability and ARP resolution to break between hosts when attempting to use RFC 5549 (BGP Unnumbered / IPv6 underlay) between Spines and Leafs for IPv4 and EVPN. Note that an IPv6 underlay is generally not supported for Cisco Nexus 9300/9500v platforms in this context. ...

August 17, 2025 · 4 min · 728 words · dnzydn

Network Configuration: nftables and BIRD BGP

Overview This document outlines the security policies and dynamic routing configurations for the network gateway, including firewall rules via nftables and BGP peering via BIRD. How Zones are Defined and Connected In this architecture, zones (zone_blue, zone_green, zone_red, and wan) directly correspond to network interfaces (either physical NICs, VLAN tags, or bridge interfaces) on the Gateway Server. Chain Structure (nftables): The firewall strictly controls traffic flow by matching the input interface (iif) and output interface (oif). For example, iif zone_blue oif zone_green tcp dport 22 accept explicitly states: If a packet enters the server via the zone_blue interface and is destined to leave via the zone_green interface on TCP Port 22, allow it. ...

October 6, 2024 · 4 min · 799 words · dnzydn

Anycast in EVPN/VXLAN Fabrics: The IPv6 Unnumbered and IPv4-in-IPv6 (RFC 5549) Problem

Why anycast inside the fabric is harder than it looks An anycast service is advertised from multiple hosts into the data center fabric — the same prefix, the same service IP, originated from several places at once. The promise is appealing: multiple next hops for one service prefix gives you load balancing, fast failover, and horizontal scalability without any state in the network. The catch is that for every leaf to actually use all of those origins, the fabric has to carry and install multiple equal-cost paths for a single prefix end to end. That is not BGP’s default behavior, and the moment you combine it with two things modern fabrics love — an IPv6 unnumbered underlay and IPv4-in-IPv6 next hops (RFC 5549) — one of the most common EVPN disambiguation tricks stops working. This post walks through why, and what the realistic options are. ...

August 4, 2023 · 8 min · 1696 words · dnzydn

Anycast Inside an EVPN/VXLAN Fabric with BGP Unnumbered (RFC 5549): A Hands-on Lab

Companion posts. This is the hands-on lab — real NX-OSv configs, the tests I ran, and where they broke. For the high-level summary see Anycast Inside the Data Center; for the deeper protocol write-up (overlay index, recursive resolution, why pure-IP fabrics lose per-host ECMP) see Anycast in EVPN/VXLAN Fabrics: The IPv6 Unnumbered and RFC 5549 Problem. Why Anycast is used for horizontal scaling and for better failure response. With modern orchestration and virtualization, a new instance of a service can be spawned on demand — by an engineer or by the system itself. ...

August 4, 2023 · 13 min · 2619 words · dnzydn

Anycast Inside the Data Center

Part of an anycast series. This is the high-level summary. For the hands-on NX-OS lab (configs, the RFC 5549 failure, the working EVPN solution) see Anycast Inside an EVPN/VXLAN Fabric with BGP Unnumbered (RFC 5549), and for the deeper protocol treatment see Anycast in EVPN/VXLAN Fabrics: The IPv6 Unnumbered and RFC 5549 Problem. Why Anycast services are advertised from multiple hosts into the data center. The same service prefix is originated from several places at once, which gives you multiple next hops for that service — and with it, load balancing, better failover, and scalability. ...

August 4, 2023 · 4 min · 646 words · dnzydn