summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--babeld/babel_main.c5
-rw-r--r--snapcraft/defaults/babeld.conf.default0
-rw-r--r--snapcraft/defaults/eigrpd.conf.default0
-rw-r--r--snapcraft/defaults/pbrd.conf.default0
-rw-r--r--snapcraft/scripts/Makefile3
-rw-r--r--snapcraft/scripts/babeld-service13
-rw-r--r--snapcraft/scripts/eigrpd-service13
-rw-r--r--snapcraft/scripts/pbrd-service13
-rw-r--r--snapcraft/snapcraft.yaml.in50
9 files changed, 92 insertions, 5 deletions
diff --git a/babeld/babel_main.c b/babeld/babel_main.c
index 48f6994d82..9ea123c8f9 100644
--- a/babeld/babel_main.c
+++ b/babeld/babel_main.c
@@ -73,7 +73,6 @@ int protocol_port; /* babel's port */
int protocol_socket = -1; /* socket: communicate with others babeld */
static char babel_config_default[] = SYSCONFDIR BABEL_DEFAULT_CONFIG;
-static char *babel_config_file = NULL;
static char *babel_vty_addr = NULL;
static int babel_vty_port = BABEL_VTY_PORT;
@@ -198,7 +197,7 @@ main(int argc, char **argv)
babelz_zebra_init ();
/* Get zebra configuration file. */
- vty_read_config (babel_config_file, babel_config_default);
+ vty_read_config (babeld_di.config_file, babel_config_default);
/* init buffer */
rc = resize_receive_buffer(1500);
@@ -389,7 +388,7 @@ show_babel_main_configuration (struct vty *vty)
"id = %s\n"
"kernel_metric = %d\n",
state_file,
- babel_config_file ? babel_config_file : babel_config_default,
+ babeld_di.config_file ? babeld_di.config_file : babel_config_default,
format_address(protocol_group),
protocol_port,
babel_vty_addr ? babel_vty_addr : "None",
diff --git a/snapcraft/defaults/babeld.conf.default b/snapcraft/defaults/babeld.conf.default
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/snapcraft/defaults/babeld.conf.default
diff --git a/snapcraft/defaults/eigrpd.conf.default b/snapcraft/defaults/eigrpd.conf.default
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/snapcraft/defaults/eigrpd.conf.default
diff --git a/snapcraft/defaults/pbrd.conf.default b/snapcraft/defaults/pbrd.conf.default
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/snapcraft/defaults/pbrd.conf.default
diff --git a/snapcraft/scripts/Makefile b/snapcraft/scripts/Makefile
index 966623d11d..110f4b2878 100644
--- a/snapcraft/scripts/Makefile
+++ b/snapcraft/scripts/Makefile
@@ -12,6 +12,9 @@ install:
install -D -m 0755 pimd-service $(DESTDIR)/bin/
install -D -m 0755 ldpd-service $(DESTDIR)/bin/
install -D -m 0755 nhrpd-service $(DESTDIR)/bin/
+ install -D -m 0755 babeld-service $(DESTDIR)/bin/
+ install -D -m 0755 eigrpd-service $(DESTDIR)/bin/
+ install -D -m 0755 pbrd-service $(DESTDIR)/bin/
install -D -m 0755 set-options $(DESTDIR)/bin/
install -D -m 0755 show_version $(DESTDIR)/bin/
diff --git a/snapcraft/scripts/babeld-service b/snapcraft/scripts/babeld-service
new file mode 100644
index 0000000000..9e022f8569
--- /dev/null
+++ b/snapcraft/scripts/babeld-service
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e -x
+
+if ! [ -e $SNAP_DATA/babeld.conf ]; then
+ cp $SNAP/etc/frr/babeld.conf.default $SNAP_DATA/babeld.conf
+fi
+exec $SNAP/sbin/babeld \
+ -f $SNAP_DATA/babeld.conf \
+ --pid_file $SNAP_DATA/babeld.pid \
+ --socket $SNAP_DATA/zsock \
+ --vty_socket $SNAP_DATA
+
diff --git a/snapcraft/scripts/eigrpd-service b/snapcraft/scripts/eigrpd-service
new file mode 100644
index 0000000000..fe945e5f7d
--- /dev/null
+++ b/snapcraft/scripts/eigrpd-service
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e -x
+
+if ! [ -e $SNAP_DATA/eigrpd.conf ]; then
+ cp $SNAP/etc/frr/eigrpd.conf.default $SNAP_DATA/eigrpd.conf
+fi
+exec $SNAP/sbin/eigrpd \
+ -f $SNAP_DATA/eigrpd.conf \
+ --pid_file $SNAP_DATA/eigrpd.pid \
+ --socket $SNAP_DATA/zsock \
+ --vty_socket $SNAP_DATA
+
diff --git a/snapcraft/scripts/pbrd-service b/snapcraft/scripts/pbrd-service
new file mode 100644
index 0000000000..a9265a1ae6
--- /dev/null
+++ b/snapcraft/scripts/pbrd-service
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e -x
+
+if ! [ -e $SNAP_DATA/pbrd.conf ]; then
+ cp $SNAP/etc/frr/pbrd.conf.default $SNAP_DATA/pbrd.conf
+fi
+exec $SNAP/sbin/pbrd \
+ -f $SNAP_DATA/pbrd.conf \
+ --pid_file $SNAP_DATA/pbrd.pid \
+ --socket $SNAP_DATA/zsock \
+ --vty_socket $SNAP_DATA
+
diff --git a/snapcraft/snapcraft.yaml.in b/snapcraft/snapcraft.yaml.in
index 17fabb16f8..b4e1812c86 100644
--- a/snapcraft/snapcraft.yaml.in
+++ b/snapcraft/snapcraft.yaml.in
@@ -4,7 +4,8 @@ summary: FRRouting BGP/OSPFv2/OSPFv3/ISIS/RIP/RIPng/PIM/LDP routing daemon
description: BGP/OSPFv2/OSPFv3/ISIS/RIP/RIPng/PIM routing daemon
FRRouting (FRR) is free software which manages TCP/IP based routing
protocols. It supports BGP4, BGP4+, OSPFv2, OSPFv3, IS-IS, RIPv1, RIPv2,
- RIPng, PIM and LDP as well as the IPv6 versions of these.
+ RIPng, PIM, LDP, Babel, EIGRP and PBR (Policy-based routing) as well as
+ the IPv6 versions of these.
FRRouting (frr) is a fork of Quagga.
confinement: strict
grade: devel
@@ -91,6 +92,27 @@ apps:
- network
- network-bind
- network-control
+ babeld:
+ command: bin/babeld-service
+ daemon: simple
+ plugs:
+ - network
+ - network-bind
+ - network-control
+ eigrpd:
+ command: bin/eigrpd-service
+ daemon: simple
+ plugs:
+ - network
+ - network-bind
+ - network-control
+ pbrd:
+ command: bin/pbrd-service
+ daemon: simple
+ plugs:
+ - network
+ - network-bind
+ - network-control
set:
command: bin/set-options
zebra-debug:
@@ -153,7 +175,25 @@ apps:
- network
- network-bind
- network-control
-
+ babeld-debug:
+ command: sbin/babeld -f $SNAP_DATA/babeld.conf --pid_file $SNAP_DATA/babeld.pid --socket $SNAP_DATA/zsock --vty_socket $SNAP_DATA
+ plugs:
+ - network
+ - network-bind
+ - network-control
+ eigrpd-debug:
+ command: sbin/eigrpd -f $SNAP_DATA/eigrpd.conf --pid_file $SNAP_DATA/eigrpd.pid --socket $SNAP_DATA/zsock --vty_socket $SNAP_DATA
+ plugs:
+ - network
+ - network-bind
+ - network-control
+ pbrd-debug:
+ command: sbin/pbrd -f $SNAP_DATA/pbrd.conf --pid_file $SNAP_DATA/pbrd.pid --socket $SNAP_DATA/zsock --vty_socket $SNAP_DATA
+ plugs:
+ - network
+ - network-bind
+ - network-control
+
parts:
frr:
build-packages:
@@ -190,6 +230,9 @@ parts:
- libtinfo5
- libreadline6
- libjson-c2
+ - libc-ares2
+ - libatm1
+ - libprotobuf-c1
plugin: autotools
source: ../frr-@PACKAGE_VERSION@.tar.gz
configflags:
@@ -228,6 +271,9 @@ parts:
ripngd.conf.default: etc/frr/ripngd.conf.default
ldpd.conf.default: etc/frr/ldpd.conf.default
nhrpd.conf.default: etc/frr/nhrpd.conf.default
+ babeld.conf.default: etc/frr/babeld.conf.default
+ eigrpd.conf.default: etc/frr/eigrpd.conf.default
+ pbrd.conf.default: etc/frr/pbrd.conf.default
vtysh.conf.default: etc/frr/vtysh.conf.default
frr-scripts:
plugin: make