0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-11-12 22:28:44 +00:00
bird/filter
Ondrej Zajicek 333ddd4f98 MPLS subsystem
The MPLS subsystem manages MPLS labels and handles their allocation to
MPLS-aware routing protocols. These labels are then attached to IP or VPN
routes representing label switched paths -- LSPs.

There was already a preliminary MPLS support consisting of MPLS label
net_addr, MPLS routing tables with static MPLS routes, remote labels in
next hops, and kernel protocol support.

This patch adds the MPLS domain as a basic structure representing local
label space with dynamic label allocator and configurable label ranges.
To represent LSPs, allocated local labels can be attached as route
attributes to IP or VPN routes with local labels as attributes.

There are several steps for handling LSP routes in routing protocols --
deciding to which forwarding equivalence class (FEC) the LSP route
belongs, allocating labels for new FECs, announcing MPLS routes for new
FECs, attaching labels to LSP routes. The FEC map structure implements
basic code for managing FECs in routing protocols, therefore existing
protocols can be made MPLS-aware by adding FEC map and delegating
most work related to local label management to it.
2023-10-04 13:01:21 +02:00
..
config.Y Basic route aggregation 2023-09-26 15:46:24 +02:00
data.c Basic route aggregation 2023-09-26 15:46:24 +02:00
data.h MPLS subsystem 2023-10-04 13:01:21 +02:00
decl.m4 Filter: Implement constant promotion for multiple dispatch methods 2023-09-12 16:33:59 +02:00
Doc Doc: Rename code documentation files back to Doc 2018-12-14 02:03:42 +01:00
f-inst.c Basic route aggregation 2023-09-26 15:46:24 +02:00
f-inst.h BGP: Setting and unsetting unknown attributes 2023-09-20 14:15:18 +02:00
f-util.c Attributes declared in config can be bytestrings 2023-09-20 14:03:41 +02:00
filter_test.c Simple testing of reconfiguration to a slightly different one 2023-09-24 15:40:18 +02:00
filter.c Basic route aggregation 2023-09-26 15:46:24 +02:00
filter.h Basic route aggregation 2023-09-26 15:46:24 +02:00
Makefile Filter: Pre-evaluation of constant expressions 2019-07-02 10:45:53 +02:00
test-reconf-begin.conf Filters: comparison of functions and filters caching 2019-02-26 16:44:24 +01:00
test-reconf-end.conf Filters: comparison of functions and filters caching 2019-02-26 16:44:24 +01:00
test.conf Filter: Split clist add/delete operations to multiple methods 2023-09-12 16:33:59 +02:00
test.conf2 Filter: Remove quitbird command 2020-05-02 02:47:18 +02:00
test.conf.inc filter/test.conf: Replace print func with assert and format 2016-11-16 12:22:01 +01:00
test.conf.overlay Simple testing of reconfiguration to a slightly different one 2023-09-24 15:40:18 +02:00
tree_test.c Replaced custom linpools in tests for the common tmp_linpool 2022-03-02 12:13:49 +01:00
tree.c Filter: Change linearization of branches in switch instruction 2023-01-07 20:18:44 +01:00
trie_test.c Nest: Add tests and benchmark for FIB 2023-05-16 13:25:48 +02:00
trie.c Trie: Fix trie format 2022-02-06 23:27:13 +01:00