]> git.proxmox.com Git - mirror_frr.git/commit
lib, zebra: Add SR-TE policy infrastructure to zebra
authorSebastien Merle <sebastien@netdef.org>
Mon, 20 Jul 2020 11:43:54 +0000 (13:43 +0200)
committerSebastien Merle <sebastien@netdef.org>
Fri, 7 Aug 2020 09:08:49 +0000 (11:08 +0200)
commit31f937fb43f4920d14de6193de440279fbd5d99e
tree166a67318cfb4177398a40baca7d8fb4029fd10b
parentb112b1abb4c9b9d4b234b46b1db05de9293a48ef
lib, zebra: Add SR-TE policy infrastructure to zebra

For the sake of Segment Routing (SR) and Traffic Engineering (TE)
Policies there's a need for additional infrastructure within zebra.
The infrastructure in this PR is supposed to manage such policies
in terms of installing binding SIDs and LSPs. Also it is capable of
managing MPLS labels using the label manager, keeping track of
nexthops (for resolving labels) and notifying interested parties about
changes of a policy/LSP state. Further it enables a route map mechanism
for BGP and SR-TE colors such that learned BGP routes can be mapped
onto SR-TE Policies.

This PR does not introduce any usable features by now, it is just
infrastructure for other upcoming PRs which will introduce 'pathd',
a new SR-TE daemon.

Co-authored-by: Renato Westphal <renato@opensourcerouting.org>
Co-authored-by: GalaxyGorilla <sascha@netdef.org>
Signed-off-by: Sebastien Merle <sebastien@netdef.org>
35 files changed:
lib/command.h
lib/ipaddr.h
lib/log.c
lib/mpls.h
lib/nexthop.c
lib/nexthop.h
lib/privs.h
lib/route_types.txt
lib/routemap.c
lib/routemap.h
lib/srte.h [new file with mode: 0644]
lib/stream.c
lib/stream.h
lib/subdir.am
lib/zclient.c
lib/zclient.h
tests/topotests/ospf-sr-topo1/r1/zebra_mpls.json
tests/topotests/ospf-sr-topo1/r2/zebra_mpls.json
tests/topotests/ospf-sr-topo1/r3/zebra_mpls.json
tests/topotests/ospf-sr-topo1/r4/zebra_mpls.json
zebra/main.c
zebra/rt_netlink.c
zebra/rt_netlink.h
zebra/subdir.am
zebra/zapi_msg.c
zebra/zapi_msg.h
zebra/zebra_mpls.c
zebra/zebra_mpls.h
zebra/zebra_nhg.c
zebra/zebra_rib.c
zebra/zebra_rnh.c
zebra/zebra_rnh.h
zebra/zebra_srte.c [new file with mode: 0644]
zebra/zebra_srte.h [new file with mode: 0644]
zebra/zebra_vty.c