]> git.proxmox.com Git - mirror_frr.git/commit
OSPFD: Add Experimental Segment Routing support
authorOlivier Dugeon <olivier.dugeon@orange.com>
Thu, 18 Jan 2018 18:11:11 +0000 (19:11 +0100)
committerOlivier Dugeon <olivier.dugeon@orange.com>
Thu, 18 Jan 2018 18:11:11 +0000 (19:11 +0100)
commitcf9b9f77f638923f5a44fdd14ce2725631ffa526
tree70b0b5c8181c23a4fd8faf5750e80083a422c728
parentb782607f7f2125dd0e5789d5744cc97baf03b0e6
OSPFD: Add Experimental Segment Routing support

This is an implementation of draft-ietf-ospf-segment-routing-extensions-24
and RFC7684 for Extended Link & Prefix Opaque LSA.
Look to doc/OSPF_SR.rst for implementation details & known limitations.

New files:

 - ospfd/ospf_sr.h: Segment Routing structure definition (SubTLVs + SRDB)
 - ospfd/ospf_sr.c: Main functions for Segment Routing support
 - ospfd/ospf_ext.h: TLVs and SubTLVs definition for RFC7684
 - ospfd/ospf_ext.c: RFC7684 Extended Link / Prefix implementation
 - doc/OSPF-SRr.rst: Documentation

Modified Files:

 - doc/ospfd.texi: Add new Segment Routing CLI command definition
 - lib/command.h: Add new string command for Segment Routing CLI
 - lib/mpls.h: Add default value for SRGB
 - lib/route_types.txt: Add new OSPF Segment Routing route type
 - ospfd/ospf_dump.[c,h]: Add OSPF SR debug
 - ospfd/ospf_memory.[c,h]: Add new Segment Routing memory type
 - ospfd/ospf_opaque.[c,h]: Add ospf_sr_init() starting function
 - ospfd/ospf_ri.c: Add new functions to Set/Get Segment Routing TLVs
Add new ospf_router_info_lsa_upadte() to send Opaque LSA to ospf_sr.c()
 - ospfd/ospf_ri.h: Add new Router Information SR SubTLVs
 - ospfd/ospf_spf.c: Add new scheduler when running SPF to trigger
update of NHLFE
 - ospfd/ospfd.h: Add new thread for Segment Routing scheduler
 - ospfd/subdir.am: Add new files
 - vtysh/Makefile.am: Add new ospf_sr.c file for vtysh
 - zebra/kernel_netlink.c: Add new OSPF_SR route type
 - zebra/rt_netlink.[c,h]: Add new OSPF_SR route type
 - zebra/zebra_mpls.h: Add new OSPF_SR route type

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
25 files changed:
doc/OSPF-SR.rst [new file with mode: 0644]
doc/ospfd.texi
lib/command.h
lib/mpls.h
lib/route_types.txt
ospfd/ospf_dump.c
ospfd/ospf_dump.h
ospfd/ospf_ext.c [new file with mode: 0644]
ospfd/ospf_ext.h [new file with mode: 0644]
ospfd/ospf_memory.c
ospfd/ospf_memory.h
ospfd/ospf_opaque.c
ospfd/ospf_opaque.h
ospfd/ospf_ri.c
ospfd/ospf_ri.h
ospfd/ospf_spf.c
ospfd/ospf_sr.c [new file with mode: 0644]
ospfd/ospf_sr.h [new file with mode: 0644]
ospfd/ospfd.h
ospfd/subdir.am
vtysh/Makefile.am
zebra/kernel_netlink.c
zebra/rt_netlink.c
zebra/rt_netlink.h
zebra/zebra_mpls.h