net/frr9: New major version 9.0.1 of FRRouting

ChangeLog: https://frrouting.org/release/9.0.1/

PR:		273790
Reported by:	R. Christian McDonald <rcm@rcm.sh>
Sponsored by:	Rubicon Communications, LLC ("Netgate")
Event:		Oslo Hackathon at Modirum
This commit is contained in:
Olivier Cochard 2023-10-05 14:51:49 +02:00
parent b4b03c1745
commit 182306a0d5
11 changed files with 644 additions and 0 deletions

View file

@ -176,6 +176,8 @@
SUBDIR += frr7-pythontools
SUBDIR += frr8
SUBDIR += frr8-pythontools
SUBDIR += frr9
SUBDIR += frr9-pythontools
SUBDIR += fspclient
SUBDIR += fspd
SUBDIR += fsplib

View file

@ -0,0 +1,7 @@
COMMENT= Provide configuration reload functionality for FRR
PYTHONTOOLS= yes
MASTERDIR= ${.CURDIR}/../frr9
.include "${MASTERDIR}/Makefile"

View file

@ -0,0 +1,3 @@
sbin/frr-reload.py
sbin/generate_support_bundle.py
%%ETCDIR%%/support_bundle_commands.conf

147
net/frr9/Makefile Normal file
View file

@ -0,0 +1,147 @@
PORTNAME= frr
PORTVERSION= 9.0.1
DISTVERSIONPREFIX= frr-
CATEGORIES= net
.if defined(PYTHONTOOLS)
PKGNAMESUFFIX= 9-pythontools
.else
PKGNAMESUFFIX= 9
.endif
MAINTAINER= olivier@FreeBSD.org
COMMENT?= IP routing protocol suite including BGP, IS-IS, OSPF, BABEL and RIP
WWW= https://frrouting.org/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
.if defined(PYTHONTOOLS)
RUN_DEPENDS= frr-reload:net/frr9
USES= python:run shebangfix
post-patch:
@${REINPLACE_CMD} -e 's|/etc/frr|${ETCDIR}|g' \
-e 's|/usr/bin|${PREFIX}/bin|g' \
-e 's|/usr/local/bin/tail|${TAIL}|g' \
${WRKSRC}/tools/frr-reload.py
@${REINPLACE_CMD} -e 's|/etc/frr|${ETCDIR}|g' \
${WRKSRC}/tools/generate_support_bundle.py
do-install:
${MKDIR} ${STAGEDIR}${ETCDIR}
${INSTALL_SCRIPT} ${WRKSRC}/tools/frr-reload.py ${STAGEDIR}/${PREFIX}/sbin/
${INSTALL_SCRIPT} ${WRKSRC}/tools/generate_support_bundle.py ${STAGEDIR}/${PREFIX}/sbin/
${INSTALL_DATA} ${WRKSRC}/tools/etc/frr/support_bundle_commands.conf ${STAGEDIR}${ETCDIR}/
.else
LIB_DEPENDS= libcares.so:dns/c-ares \
libjson-c.so:devel/json-c \
libpcre2-8.so:devel/pcre2 \
libprotobuf-c.so:devel/protobuf-c \
libyang.so.2:net/libyang2
USES= autoreconf bison compiler:c++11-lang gmake libtool makeinfo \
pkgconfig python:build readline shebangfix
BINARY_ALIAS= python=${PYTHON_VERSION}
CONFLICTS= frr[78] openbgpd openospfd quagga zebra
GNU_CONFIGURE= yes
INSTALL_TARGET= install-strip
USE_LDCONFIG= yes
.endif
USE_GITHUB= yes
GH_ACCOUNT= FRRouting
.if defined(PYTHONTOOLS)
NO_BUILD= yes
NO_ARCH= yes
SHEBANG_FILES= tools/frr-reload.py \
tools/generate_support_bundle.py
PLIST= ${.CURDIR}/pkg-plist
PKGMESSAGE= ""
.else
INFO= frr
OPTIONS_DEFINE= BACKTRACE CONFIGROLLBACKS DATACENTER FPM LDPD MANPAGES \
MULTIPATH PAM RPKI SHARPD SHELLACCESS SNMP TCMALLOC
OPTIONS_DEFAULT= BACKTRACE FPM MANPAGES RPKI
OPTIONS_SUB= yes
BACKTRACE_DESC= Enable backtrace
CONFIGROLLBACKS_DESC= Enable configuration rollback support
DATACENTER_DESC= Use reduced BGP timers
FPM_DESC= Enable Forwarding Plane Manager support
LDPD_DESC= Build ldpd
MULTIPATH_DESC= Allow 64 multipath routes (16 default)
PAM_DESC= Use libpam for PAM support in vtysh
RPKI_DESC= Add BGP RPKI (RFC 6810) support
SHARPD_DESC= Build sharpd
SHELLACCESS_DESC= Allow users to access shell/telnet/ssh
SNMP_DESC= SNMP support
TCMALLOC_DESC= Use tcmalloc
USERS= frr
GROUPS= frr frrvty
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
# PIMD and PBRD compile but doesn't work on FreeBSD
CONFIGURE_ARGS= --enable-user=frr \
--enable-group=frr \
--enable-vty-group=frrvty \
--enable-vtysh \
--disable-doc-html \
--sysconfdir=${ETCDIR} \
--localstatedir=/var/run/frr \
--disable-nhrpd \
--disable-pathd \
--disable-ospfclient \
--disable-pimd \
--disable-pbrd \
--with-vtysh-pager=cat
BACKTRACE_LIB_DEPENDS= libunwind.so:devel/libunwind
BACKTRACE_CONFIGURE_ENABLE= backtrace
CONFIGROLLBACKS_LIB_DEPENDS= libsqlite3.so:databases/sqlite3
CONFIGROLLBACKS_CONFIGURE_ENABLE= config-rollbacks
DATACENTER_CONFIGURE_ENABLE= datacenter
FPM_CONFIGURE_ENABLE= fpm
LDPD_CONFIGURE_ENABLE= ldpd
MANPAGES_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR}
MANPAGES_CONFIGURE_OFF= --disable-doc
MULTIPATH_CONFIGURE_ON= --enable-multipath=64
PAM_CONFIGURE_WITH= libpam
RPKI_CONFIGURE_ENABLE= rpki
RPKI_LIB_DEPENDS= librtr.so:net-mgmt/rtrlib \
libssh.so:security/libssh
SHARPD_CONFIGURE_ENABLE= sharpd
SHELLACCESS_CONFIGURE_ENABLE= shell-access
SNMP_CONFIGURE_ENABLE= snmp
SNMP_LIB_DEPENDS= libnetsnmp.so:net-mgmt/net-snmp
SNMP_USES= ssl
TCMALLOC_CONFIGURE_ENABLE= tcmalloc
TCMALLOC_LIB_DEPENDS= libtcmalloc.so:devel/google-perftools
USE_RC_SUBR= frr watchfrr
SHEBANG_FILES= yang/embedmodel.py
post-patch:
@${REINPLACE_CMD} -e 's|/etc/frr|${ETCDIR}|g' \
-e 's|/usr/lib/|${PREFIX}/lib/|g' \
-e 's|frr-pythontools|frr9-pythontools|g' \
${WRKSRC}/tools/frr-reload
post-install:
${MKDIR} ${STAGEDIR}/var/run/frr
${INSTALL_SCRIPT} ${WRKSRC}/tools/frr-reload ${STAGEDIR}${PREFIX}/sbin
.endif
.include <bsd.port.mk>

3
net/frr9/distinfo Normal file
View file

@ -0,0 +1,3 @@
TIMESTAMP = 1694701143
SHA256 (FRRouting-frr-frr-9.0.1_GH0.tar.gz) = 3a371ece41cdf334b070811287f6733acabbadb442c8e693f8b66ec517592db7
SIZE (FRRouting-frr-frr-9.0.1_GH0.tar.gz) = 10334150

168
net/frr9/files/frr.in Normal file
View file

@ -0,0 +1,168 @@
#!/bin/sh
# PROVIDE: frr dynamicrouting
# REQUIRE: netif routing
# KEYWORD: nojailvnet shutdown
# Add the following line to /etc/rc.conf to enable frr:
# frr_enable="YES"
#
# You may also wish to use the following variables to fine-tune startup:
# Enable Integrated configuration mode (using the single configuration file
# frr.conf in place of one file for each dameon)
# frr_vtysh_boot="YES"
# Selecting limited set of daemons to run
# frr_daemons="zebra mgmtd babeld bfdd bgpd eigrpd fabricd isisd ospfd ospf6d ripd ripngd staticd"
# Global tuning
# frr_flags=""
# Per daemon tuning may be done with daemon_name_flags
# zebra_flags="-P 0"
# bgpd_flags="-nrP 0" and so on
# If you want to give the routing daemons a chance to catchup before
# continuing, set frr_wait_for to a "default" or certain prefix.
# frr_wait_for="default"
# Set the time limit for the wait.
# frr_wait_seconds="90"
#
# If the frr daemons require additional shared libraries to start,
# use the following variable to run ldconfig(8) in advance:
# frr_extralibs_path="/usr/local/lib ..."
#
# This RC script was adapted from the net/quagga port
. /etc/rc.subr
name=frr
rcvar=${name}_enable
start_postcmd=start_postcmd
stop_postcmd="rm -f $pidfile"
configtest_cmd=check_config
extra_commands=configtest
command_args="-d"
load_rc_config $name
: ${frr_enable:="NO"}
: ${frr_flags:=""}
: ${frr_daemons:="zebra mgmtd babeld bfdd bgpd eigrpd fabricd isisd ospfd ospf6d ripd ripngd staticd"}
: ${frr_vtysh_boot:="NO"}
: ${frr_wait_for:=""}
: ${frr_wait_seconds:="90"}
check_config()
{
echo "Checking $daemon.conf"
# pimd doesn't support -C
if [ "$daemon" = "pimd" ]; then
echo "Ignored"
else
$command $daemon_flags -C
result=$?
if [ "$result" -eq "0" ]; then
echo "OK"
else
echo "FAILED"
exit
fi
fi
}
start_postcmd()
{
local waited_for
waited_for=0
# Wait only when last daemon has started.
if [ "${frr_daemons}" = "${frr_daemons% ${name}}" ]; then
return;
fi
if [ -n "${frr_wait_for}" ]; then
echo Waiting for ${frr_wait_for} route...
while [ ${waited_for} -lt ${frr_wait_seconds} ]; do
/sbin/route -n get ${frr_wait_for} >/dev/null 2>&1 && break;
waited_for=$((waited_for+1))
sleep 1;
done
[ ${waited_for} -lt ${frr_wait_seconds} ] || echo Giving up...
fi
}
do_cmd()
{
local ret
ret=0
frr_cmd=$1
if checkyesno frr_vtysh_boot && ( [ ${frr_cmd} = "restart" ] || [ ${frr_cmd} = "start" ] ); then
echo "Checking intergrated config..."
daemon="vtysh"
daemon_flags=""
command=%%PREFIX%%/bin/${daemon}
if ! [ -f %%ETCDIR%%/vtysh.conf ]; then
touch %%ETCDIR%%/vtysh.conf
fi
check_config
fi
for daemon in ${frr_daemons}; do
command=%%PREFIX%%/sbin/${daemon}
pidfile=/var/run/frr/${daemon}.pid
if ! checkyesno frr_vtysh_boot; then
required_files=%%ETCDIR%%/${daemon}.conf
if [ ${frr_cmd} = "restart" ] || [ ${frr_cmd} = "start" ]; then
check_config
fi
if [ ${frr_cmd} = "start" ] && ! [ -f ${required_files} ]; then
continue
fi
fi
if [ ${frr_cmd} = "stop" ] && [ -z "$(check_process ${command})" ]; then
continue
fi
eval flags=\$\{${daemon}_flags:-\"${frr_flags}\"\}
name=${daemon}
_rc_restart_done=false
run_rc_command "$1" || ret=1
done
if checkyesno frr_vtysh_boot && ( [ ${frr_cmd} = "restart" ] || [ ${frr_cmd} = "start" ] ); then
echo "Booting for integrated-vtysh-config..."
%%PREFIX%%/bin/vtysh -b
fi
return ${ret}
}
frr_cmd=$1
case "$1" in
force*)
frr_cmd=${frr_cmd#force}
;;
fast*)
frr_cmd=${frr_cmd#fast}
;;
esac
shift
if [ $# -ge 1 -a "$1" != "all" ]; then
frr_daemons="$*"
fi
case "${frr_cmd}" in
start|quietstart)
if [ -n "${frr_extralibs_path}" ]; then
/sbin/ldconfig -m ${frr_extralibs_path}
fi
# Why should I need to add this check ?
checkyesno frr_enable && do_cmd "start"
;;
stop)
frr_daemons=$(reverse_list ${frr_daemons})
do_cmd "stop"
;;
restart)
frr_daemons=$(reverse_list ${frr_daemons})
do_cmd "stop"
frr_daemons=$(reverse_list ${frr_daemons})
checkyesno frr_enable && do_cmd "start"
;;
*)
do_cmd "${frr_cmd}"
;;
esac

View file

@ -0,0 +1,11 @@
--- Makefile.am.orig 2021-11-08 12:44:24.000000000 +0900
+++ Makefile.am 2021-12-23 09:23:13.400659000 +0900
@@ -168,7 +168,7 @@
include qpb/subdir.am
include fpm/subdir.am
include grpc/subdir.am
-include tools/subdir.am
+# include tools/subdir.am
include bgpd/subdir.am
include bgpd/rfp-example/librfp/subdir.am

View file

@ -0,0 +1,30 @@
#!/bin/sh
# PROVIDE: watchfrr
# REQUIRE: NETWORKING frr
# KEYWORD: nojailvtnet shutdown
# Add the following line to /etc/rc.conf to enable watchfrr:
# watchfrr_enable="YES"
#
# You may also wish to use the following variables to fine-tune startup:
# watchfrr_flags
# Example of flags usage:
# watchfrr_flags=" -d -r /usr/sbin/servicebBfrrbBrestartbB%s -s /usr/sbin/servicebBfrrbBstartbB%s -k /usr/sbin/servicebBfrrbBstopbB%s -b bB -t 30 zebra ripd ripngd ospfd ospf6d bgpd isisd eigrpd babeld bfdd staticd"
. /etc/rc.subr
name=watchfrr
rcvar=${name}_enable
load_rc_config $name
stop_postcmd="rm -f $pidfile"
watchfrr_enable=${watchfrr_enable:-"NO"}
watchfrr_flags=${watchfrr_flags:-"-d -r /usr/sbin/servicebBfrrbBrestartbB%s -s /usr/sbin/servicebBfrrbBstartbB%s -k /usr/sbin/servicebBfrrbBstopbB%s -b bB -t 30 zebra babeld bfdd bgpd eigrpd fabricd isisd ospfd ospf6d ripd ripngd staticd"}
command=%%PREFIX%%/sbin/watchfrr
pidfile=/var/run/frr/watchfrr.pid
run_rc_command "$1"

3
net/frr9/pkg-descr Normal file
View file

@ -0,0 +1,3 @@
FRRouting (FRR) is an IP routing protocol suite for Linux and Unix platforms
which includes protocol daemons for BGP, IS-IS, OSPF and RIP. FRR has its roots
in the Quagga project.

17
net/frr9/pkg-message Normal file
View file

@ -0,0 +1,17 @@
[
{ type: install
message: <<EOM
Beware that remote control of frr9 daemons over TCP sockets is enabled by
default.
Use daemon flags in /etc/rc.conf to disable it if unneeded, for example:
zebra_flags="-P0"
ospfd_flags="-P0"
FRR's OSPF daemons tries to allocate big socket buffer, so generate warning
messages like:
"setsockopt_so_sendbuf: fd 6: SO_SNDBUF set to 1048576 (requested 8388608)"
To prevent such message kern.ipc.maxsockbuf can be increased:
sysctl kern.ipc.maxsockbuf=16777216
EOM
}
]

253
net/frr9/pkg-plist Normal file
View file

@ -0,0 +1,253 @@
bin/vtysh
include/frr/admin_group.h
include/frr/affinitymap.h
include/frr/agg_table.h
include/frr/asn.h
include/frr/assert.h
include/frr/atomlist.h
include/frr/base64.h
include/frr/bfd.h
include/frr/bfdd/bfddp_packet.h
include/frr/bitfield.h
include/frr/buffer.h
include/frr/checksum.h
include/frr/command.h
include/frr/command_graph.h
include/frr/command_match.h
include/frr/compiler.h
include/frr/cspf.h
include/frr/csv.h
include/frr/darr.h
include/frr/db.h
include/frr/debug.h
include/frr/defaults.h
include/frr/distribute.h
include/frr/eigrpd/eigrp_dump.h
include/frr/eigrpd/eigrp_topology.h
include/frr/eigrpd/eigrpd.h
include/frr/ferr.h
include/frr/filter.h
include/frr/flex_algo.h
include/frr/freebsd-queue.h
include/frr/frr_pthread.h
include/frr/frratomic.h
include/frr/frrcu.h
include/frr/frrevent.h
include/frr/frrlua.h
include/frr/frrscript.h
include/frr/frrstr.h
include/frr/graph.h
include/frr/hash.h
include/frr/hook.h
include/frr/iana_afi.h
include/frr/id_alloc.h
include/frr/if.h
include/frr/if_rmap.h
include/frr/imsg.h
include/frr/ipaddr.h
include/frr/iso.h
include/frr/jhash.h
include/frr/json.h
include/frr/keychain.h
include/frr/ldp_sync.h
include/frr/lib_errors.h
include/frr/lib_vty.h
include/frr/libfrr.h
include/frr/libfrr_trace.h
include/frr/libospf.h
include/frr/link_state.h
include/frr/linklist.h
include/frr/log.h
include/frr/log_vty.h
include/frr/md5.h
include/frr/memory.h
include/frr/mgmt.pb-c.h
include/frr/mgmt_be_client.h
include/frr/mgmt_fe_client.h
include/frr/mgmt_msg.h
include/frr/mgmt_pb.h
include/frr/mgmtd/mgmt_defines.h
include/frr/mlag.h
include/frr/module.h
include/frr/monotime.h
include/frr/mpls.h
include/frr/network.h
include/frr/nexthop.h
include/frr/nexthop_group.h
include/frr/nexthop_group_private.h
include/frr/northbound.h
include/frr/northbound_cli.h
include/frr/northbound_db.h
include/frr/ns.h
include/frr/openbsd-queue.h
include/frr/openbsd-tree.h
include/frr/ospfd/ospf_api.h
include/frr/ospfd/ospf_asbr.h
include/frr/ospfd/ospf_dump.h
include/frr/ospfd/ospf_dump_api.h
include/frr/ospfd/ospf_ism.h
include/frr/ospfd/ospf_lsa.h
include/frr/ospfd/ospf_lsdb.h
include/frr/ospfd/ospf_nsm.h
include/frr/ospfd/ospf_opaque.h
include/frr/ospfd/ospfd.h
include/frr/pbr.h
include/frr/plist.h
include/frr/prefix.h
include/frr/printfrr.h
include/frr/privs.h
include/frr/ptm_lib.h
include/frr/pullwr.h
include/frr/pw.h
include/frr/qobj.h
include/frr/queue.h
include/frr/resolver.h
include/frr/ringbuf.h
include/frr/route_opaque.h
include/frr/route_types.h
include/frr/routemap.h
include/frr/routing_nb.h
include/frr/sbuf.h
include/frr/segment_routing.h
include/frr/seqlock.h
include/frr/sha256.h
include/frr/sigevent.h
include/frr/skiplist.h
include/frr/smux.h
include/frr/sockopt.h
include/frr/sockunion.h
include/frr/spf_backoff.h
include/frr/srcdest_table.h
include/frr/srte.h
include/frr/srv6.h
include/frr/stream.h
include/frr/systemd.h
include/frr/table.h
include/frr/tc.h
include/frr/termtable.h
include/frr/trace.h
include/frr/typerb.h
include/frr/typesafe.h
include/frr/vector.h
include/frr/version.h
include/frr/vlan.h
include/frr/vrf.h
include/frr/vrf_int.h
include/frr/vty.h
include/frr/vxlan.h
include/frr/wheel.h
include/frr/workqueue.h
include/frr/xref.h
include/frr/yang.h
include/frr/yang_translator.h
include/frr/yang_wrappers.h
include/frr/zclient.h
include/frr/zebra.h
include/frr/zlog.h
include/frr/zlog_5424.h
include/frr/zlog_live.h
include/frr/zlog_targets.h
lib/libfrr.a
lib/libfrr.so
lib/libfrr.so.0
lib/libfrr.so.0.0.0
lib/libfrr_pb.a
lib/libfrr_pb.so
lib/libfrr_pb.so.0
lib/libfrr_pb.so.0.0.0
lib/libfrrcares.a
lib/libfrrcares.so
lib/libfrrcares.so.0
lib/libfrrcares.so.0.0.0
%%FPM%%lib/libfrrfpm_pb.a
%%FPM%%lib/libfrrfpm_pb.so
%%FPM%%lib/libfrrfpm_pb.so.0
%%FPM%%lib/libfrrfpm_pb.so.0.0.0
%%SNMP%%lib/libfrrsnmp.a
%%SNMP%%lib/libfrrsnmp.so
%%SNMP%%lib/libfrrsnmp.so.0
%%SNMP%%lib/libfrrsnmp.so.0.0.0
lib/libmgmt_be_nb.a
lib/libmgmt_be_nb.so
lib/libmgmt_be_nb.so.0
lib/libmgmt_be_nb.so.0.0.0
%%SNMP%%lib/frr/modules/bgpd_bmp.so
%%RPKI%%lib/frr/modules/bgpd_rpki.so
%%SNMP%%lib/frr/modules/bgpd_snmp.so
%%SNMP%%lib/frr/modules/isisd_snmp.so
%%SNMP%%%%LDPD%%lib/frr/modules/ldpd_snmp.so
%%SNMP%%lib/frr/modules/ospf6d_snmp.so
%%SNMP%%lib/frr/modules/ospfd_snmp.so
%%SNMP%%lib/frr/modules/ripd_snmp.so
%%FPM%%lib/frr/modules/zebra_fpm.so
%%SNMP%%lib/frr/modules/zebra_snmp.so
%%MANPAGES%%man/man1/frr.1.gz
%%MANPAGES%%man/man8/frr-bfdd.8.gz
%%MANPAGES%%man/man8/frr-eigrpd.8.gz
%%MANPAGES%%man/man8/frr-isisd.8.gz
%%MANPAGES%%man/man8/frr-staticd.8.gz
%%MANPAGES%%man/man8/frr-watchfrr.8.gz
%%MANPAGES%%man/man1/vtysh.1.gz
%%MANPAGES%%man/man8/frr-bgpd.8.gz
%%MANPAGES%%%%LDPD%%man/man8/frr-ldpd.8.gz
%%MANPAGES%%man/man8/frr-ospf6d.8.gz
%%MANPAGES%%man/man8/frr-ospfd.8.gz
%%MANPAGES%%man/man8/frr-ripd.8.gz
%%MANPAGES%%man/man8/frr-ripngd.8.gz
%%MANPAGES%%%%SHARPD%%man/man8/frr-sharpd.8.gz
%%MANPAGES%%man/man8/frr-zebra.8.gz
sbin/babeld
sbin/bfdd
sbin/bgpd
sbin/eigrpd
sbin/fabricd
sbin/frr-reload
%%LDPD%%sbin/ldpd
sbin/isisd
sbin/mgmtd
sbin/ospf6d
sbin/ospfd
sbin/ripd
sbin/ripngd
%%SHARPD%%sbin/sharpd
sbin/staticd
sbin/watchfrr
sbin/zebra
share/yang/frr-affinity-map.yang
share/yang/frr-bfdd.yang
share/yang/frr-bgp-bmp.yang
share/yang/frr-bgp-common-multiprotocol.yang
share/yang/frr-bgp-common-structure.yang
share/yang/frr-bgp-common.yang
share/yang/frr-bgp-filter.yang
share/yang/frr-bgp-neighbor.yang
share/yang/frr-bgp-peer-group.yang
share/yang/frr-bgp-route-map.yang
share/yang/frr-bgp-rpki.yang
share/yang/frr-bgp-types.yang
share/yang/frr-bgp.yang
share/yang/frr-deviations-bgp-datacenter.yang
share/yang/frr-eigrpd.yang
share/yang/frr-filter.yang
share/yang/frr-if-rmap.yang
share/yang/frr-interface.yang
share/yang/frr-isisd.yang
share/yang/frr-module-translator.yang
share/yang/frr-nexthop.yang
share/yang/frr-ospf-route-map.yang
share/yang/frr-ospf6-route-map.yang
share/yang/frr-ospfd.yang
share/yang/frr-ripd.yang
share/yang/frr-ripngd.yang
share/yang/frr-route-map.yang
share/yang/frr-route-types.yang
share/yang/frr-routing.yang
share/yang/frr-staticd.yang
share/yang/frr-test-module.yang
share/yang/frr-vrf.yang
share/yang/frr-zebra-route-map.yang
share/yang/frr-zebra.yang
share/yang/ietf-bgp-types.yang
share/yang/ietf-interfaces.yang
share/yang/ietf-routing-types.yang
@dir(frr,frr,750) /var/run/frr