Next Previous Contents

# BIRD Programmer's Documentation

## Ondrej Filip <feela@network.cz>, Martin Mares <mj@ucw.cz>, Ondrej Zajicek <santiago@crfreenet.org> Maria Matejka <mq@jmq.cz>,

bird-progdoc

This document contains programmer's documentation for the BIRD Internet Routing Daemon project.

## 1. BIRD Design

- 1.1 Introduction
- 1.2 Design goals
- 1.3 Architecture
- 1.4 Implementation

## 2. Core

- 2.1 Forwarding Information Base
- 2.2 Routing tables
- 2.3 Route attribute cache
- 2.4 Route attribute storage
- 2.5 Routing protocols
- 2.6 Graceful restart recovery
- 2.7 Protocol hooks
- 2.8 Interfaces
- 2.9 MPLS
- 2.10 Neighbor cache
- 2.11 Command line interface
- 2.12 Object locks

## 3. Configuration

- 3.1 Configuration manager
- 3.2 Lexical analyzer
- 3.3 Parser

## 4. Filters

- 4.1 Filters
- 4.2 Trie for prefix sets

## 5. Protocols

- 5.1 The Babel protocol
- 5.2 Bidirectional Forwarding Detection
- 5.3 Border Gateway Protocol
- 5.4 BGP Monitoring Protocol (BMP)
- 5.5 Open Shortest Path First (OSPF)
- 5.6 Pipe
- 5.7 Router Advertisements
- 5.8 Routing Information Protocol (RIP)
- 5.9 RPKI To Router (RPKI-RTR)
- 5.10 Static
- 5.11 Direct

## 6. System dependent parts

- 6.1 Introduction
- 6.2 Logging
- 6.3 Kernel synchronization

## 7. Library functions

- 7.1 IP addresses
- 7.2 Linked lists
- 7.3 Miscellaneous functions.
- 7.4 Message authentication codes
- 7.5 Flow specification (flowspec)

## 8. Resources

- 8.1 Introduction
- 8.2 Resource pools
- 8.3 Memory blocks
- 8.4 Linear memory pools
- 8.5 Slabs
- 8.6 Events
- 8.7 Publish/Subscribe Queues
- 8.8 Sockets

Next Previous Contents