Routing policy with BIRD

Coming soon. This course is planned; lessons and labs are not available yet. No release date has been announced.

Extend an existing FRR/BGP example into BIRD's channels and filters, then prove accepted, installed and exported routes are the intended ones.

Advanced ยท Advanced routing elective

Before you begin

The existing Linux networking route-selection and FRR/BGP work, or equivalent next-hop, prefix, AS and import/export policy knowledge.

The planned project

Operate a private three-router policy, repair an up-but-no-route failure, and verify forwarding plus a forbidden-export control.

Course scope

An advanced elective after FRR/BGP, focused on BIRD channels, tables and import/export policy in a private three-router topology. Internet-scale convergence, RPKI operations and production route-server capacity require further study and evidence.

Planned course outline

3 planned chapters and 6 lesson outlines.

  1. Translate a known route

    Reuse the FRR route-exchange mechanism while learning where BIRD records each decision.

    1. Planned lesson: Find BIRD's decision points

      Planned task: Predict a private prefix's path from the peer through import policy to the BIRD table. Inspect the independent outgoing paths to the kernel forwarding table and through export policy to a neighbor.

      Changed case to investigate: A session is up but the imported route is filtered; locate the first missing decision instead of resetting the peer.

    2. Planned lesson: Build a private eBGP peer

      Planned task: Establish a pinned BIRD peer with explicit filters and verify session state separately from imported and installed routes.

      Changed case to investigate: A peer announces a prefix with an unreachable next hop; explain why receiving it is not enough for forwarding.

  2. Guard import and export

    Design a narrow policy, check the proposed configuration, and observe the resulting routing behavior.

    1. Planned lesson: Accept only intended prefixes

      Planned task: Predict which of two announced prefixes passes an import filter, use BIRD route observations, and verify the intended route reaches the kernel.

      Changed case to investigate: A valid service prefix changes length; revise the filter narrowly and keep the unwanted prefix rejected.

    2. Planned lesson: Check announcements before applying

      Planned task: Use the pinned BIRD version's configure check, apply an explicit export allowlist, and inspect the peer's received advertisements.

      Changed case to investigate: A new local route appears; show that it is not exported merely because the BIRD session is established.

  3. Recover forwarding after policy drift

    Diagnose a changed topology with BIRD and Linux kernel evidence, then verify both reachability and restraint.

    1. Planned lesson: Trace withdrawal and replacement

      Planned task: Withdraw one private route, predict the table/kernel change, and verify which alternative path actually carries a service request.

      Changed case to investigate: A second path has a preferred metric but unusable next hop; inspect forwarding before declaring it a recovery.

    2. Planned lesson: Repair an up-but-no-route case

      Planned task: Independently find a changed import/export error in a three-router lab, repair it, and prove permitted reachability while the forbidden prefix stays unadvertised.

      Changed case to investigate: The service moves to a new prefix; repeat the evidence trail with fewer hints and document which policy must change.

See available courses