summaryrefslogtreecommitdiff
path: root/redhat
diff options
context:
space:
mode:
authorSebastien Merle <sebastien@netdef.org>2020-07-31 18:04:20 +0200
committerSebastien Merle <sebastien@netdef.org>2020-12-18 16:34:02 +0100
commit4d7b695d3abe80fbb1b666aed8faa1b9e9387fdb (patch)
tree9dc538cd213acebfe50152a048799f4f09bbcbc9 /redhat
parent30ff2a502e41a048d5033b5d1f8ac32dd715eddc (diff)
pathd: New SR-TE policy management daemon
This new daemon manages Segment-Routing Traffic-Engineering (SR-TE) Policies and installs them into zebra. It provides the usual yang support and vtysh commands to define or change SR-TE Policies. In a nutshell SR-TE Policies provide the possibility to steer traffic through a (possibly dynamic) list of Segment Routing segments to the endpoint of the policy. This list of segments is part of a Candidate Path which again belongs to the SR-TE Policy. SR-TE Policies are uniquely identified by their color and endpoint. The color can be used to e.g. match BGP communities on incoming traffic. There can be multiple Candidate Paths for a single policy, the active Candidate Path is chosen according to certain conditions of which the most important is its preference. Candidate Paths can be explicit (fixed list of segments) or dynamic (list of segment comes from e.g. PCEP, see below). Configuration example: segment-routing traffic-eng segment-list SL index 10 mpls label 1111 index 20 mpls label 2222 ! policy color 4 endpoint 10.10.10.4 name POL4 binding-sid 104 candidate-path preference 100 name exp explicit segment-list SL candidate-path preference 200 name dyn dynamic ! ! ! There is an important connection between dynamic Candidate Paths and the overall topic of Path Computation. Later on for pathd a dynamic module will be introduced that is capable of communicating via the PCEP protocol with a PCE (Path Computation Element) which again is capable of calculating paths according to its local TED (Traffic Engineering Database). This dynamic module will be able to inject the mentioned dynamic Candidate Paths into pathd based on calculated paths from a PCE. https://tools.ietf.org/html/draft-ietf-spring-segment-routing-policy-06 Co-authored-by: Sebastien Merle <sebastien@netdef.org> Co-authored-by: Renato Westphal <renato@opensourcerouting.org> Co-authored-by: GalaxyGorilla <sascha@netdef.org> Co-authored-by: Emanuele Di Pascale <emanuele@voltanet.io> Signed-off-by: Sebastien Merle <sebastien@netdef.org>
Diffstat (limited to 'redhat')
-rw-r--r--redhat/frr.spec.in25
1 files changed, 23 insertions, 2 deletions
diff --git a/redhat/frr.spec.in b/redhat/frr.spec.in
index 4ebc504b8a..02c272f47c 100644
--- a/redhat/frr.spec.in
+++ b/redhat/frr.spec.in
@@ -27,6 +27,7 @@
%{!?with_vrrpd: %global with_vrrpd 1 }
%{!?with_rtadv: %global with_rtadv 1 }
%{!?with_watchfrr: %global with_watchfrr 1 }
+%{!?with_pathd: %global with_pathd 1 }
# user and group
%{!?frr_user: %global frr_user frr }
@@ -87,7 +88,7 @@
%{!?frr_gid: %global frr_gid 92 }
%{!?vty_gid: %global vty_gid 85 }
-%define daemon_list zebra ripd ospfd bgpd isisd ripngd ospf6d pbrd staticd bfdd fabricd
+%define daemon_list zebra ripd ospfd bgpd isisd ripngd ospf6d pbrd staticd bfdd fabricd pathd
%if %{with_ldpd}
%define daemon_ldpd ldpd
@@ -143,7 +144,13 @@
%define daemon_bfdd ""
%endif
-%define all_daemons %{daemon_list} %{daemon_ldpd} %{daemon_pimd} %{daemon_nhrpd} %{daemon_eigrpd} %{daemon_babeld} %{daemon_watchfrr} %{daemon_pbrd} %{daemon_bfdd} %{daemon_vrrpd}
+%if %{with_pathd}
+ %define daemon_pathd pathd
+%else
+ %define daemon_pathd ""
+%endif
+
+%define all_daemons %{daemon_list} %{daemon_ldpd} %{daemon_pimd} %{daemon_nhrpd} %{daemon_eigrpd} %{daemon_babeld} %{daemon_watchfrr} %{daemon_pbrd} %{daemon_bfdd} %{daemon_vrrpd} %{daemon_pathd}
#release sub-revision (the two digits after the CONFDATE)
%{!?release_rev: %global release_rev 01 }
@@ -398,6 +405,11 @@ routing state through standard SNMP MIBs.
%else
--disable-bfdd \
%endif
+%if %{with_pathd}
+ --enable-pathd \
+%else
+ --disable-pathd \
+%endif
--enable-snmp
# end
@@ -526,6 +538,9 @@ zebra_spec_add_service fabricd 2618/tcp "Fabricd vty"
%if %{with_vrrpd}
zebra_spec_add_service vrrpd 2619/tcp "VRRPd vty"
%endif
+%if %{with_pathd}
+ zebra_spec_add_service pathd 2620/tcp "Pathd vty"
+%endif
%if "%{initsystem}" == "systemd"
for daemon in %all_daemons ; do
@@ -681,6 +696,9 @@ fi
%if %{with_bfdd}
%{_sbindir}/bfdd
%endif
+%if %{with_pathd}
+ %{_sbindir}/pathd
+%endif
%{_libdir}/libfrr.so*
%{_libdir}/libfrrcares*
%{_libdir}/libfrrospf*
@@ -798,6 +816,9 @@ sed -i 's/ -M rpki//' %{_sysconfdir}/frr/daemons
- migrate route-maps to use northbound interface
- plus countless bug fixes and other improvements
+* Mon Jun 15 2020 Sascha Kattelmann <sascha@netdef.org>
+- Add Pathd support
+
* Wed May 06 2020 David Lamparter <equinox@opensourcerouting.org> - 7.3.1
- upstream 7.3.1