summaryrefslogtreecommitdiffstats
path: root/meta-networking/recipes-protocols/quagga
diff options
context:
space:
mode:
authorYi Zhao <yi.zhao@windriver.com>2016-12-29 14:11:23 +0800
committerMartin Jansa <Martin.Jansa@gmail.com>2017-01-19 09:26:15 +0100
commit807be0aeed9706f2c8b95340a9b4c391e8513200 (patch)
tree258b3cecac78704e0be6326801528ee8299b4a85 /meta-networking/recipes-protocols/quagga
parentc0ff097fae3c7ad35a7cbdf4170363875316271c (diff)
downloadmeta-openembedded-807be0aeed9706f2c8b95340a9b4c391e8513200.tar.gz
quagga: update to 1.1.0
* remove the following 3 patches which already fixed in upstream: 0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch quagga-Avoid-duplicate-connected-address.patch ripd-fix-two-bugs-after-received-SIGHUP.patch * inherit pkgconfig to fix configure errors: | configure.ac:97: error: possibly undefined macro: AC_MSG_RESULT | If this token and others are legitimate, please use m4_pattern_allow. | See the Autoconf documentation. * add user quagga to quaggavty supplementary group to fix startup error: Starting Quagga daemons: zebra privs_init: user(quagga) is not part of vty group specified(quaggavty) * remove babeld related code from initscript becasue it had been removed from quagga Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-networking/recipes-protocols/quagga')
-rw-r--r--meta-networking/recipes-protocols/quagga/files/0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch28
-rw-r--r--meta-networking/recipes-protocols/quagga/files/quagga-Avoid-duplicate-connected-address.patch54
-rw-r--r--meta-networking/recipes-protocols/quagga/files/quagga.default1
-rw-r--r--meta-networking/recipes-protocols/quagga/files/quagga.init2
-rw-r--r--meta-networking/recipes-protocols/quagga/files/ripd-fix-two-bugs-after-received-SIGHUP.patch50
-rw-r--r--meta-networking/recipes-protocols/quagga/quagga.inc6
-rw-r--r--meta-networking/recipes-protocols/quagga/quagga_1.0.20160315.bb10
-rw-r--r--meta-networking/recipes-protocols/quagga/quagga_1.1.0.bb6
8 files changed, 9 insertions, 148 deletions
diff --git a/meta-networking/recipes-protocols/quagga/files/0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch b/meta-networking/recipes-protocols/quagga/files/0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch
deleted file mode 100644
index f08bb572d..000000000
--- a/meta-networking/recipes-protocols/quagga/files/0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1Upstream-Status: Pending
2
3Subject: ospf6d: check ospf6 before using it in ospf6_clean
4
5The ospf6 variable might be 'NULL' causing segment fault error.
6Check it before referencing it.
7
8Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
9---
10 ospf6d/ospf6d.c | 2 ++
11 1 file changed, 2 insertions(+)
12
13diff --git a/ospf6d/ospf6d.c b/ospf6d/ospf6d.c
14index 3cdd5c1..e3bf1af 100644
15--- a/ospf6d/ospf6d.c
16+++ b/ospf6d/ospf6d.c
17@@ -1892,6 +1892,8 @@ ospf6_init (void)
18 void
19 ospf6_clean (void)
20 {
21+ if (ospf6 == NULL)
22+ return;
23 if (ospf6->route_table)
24 ospf6_route_remove_all (ospf6->route_table);
25 if (ospf6->brouter_table)
26--
271.9.1
28
diff --git a/meta-networking/recipes-protocols/quagga/files/quagga-Avoid-duplicate-connected-address.patch b/meta-networking/recipes-protocols/quagga/files/quagga-Avoid-duplicate-connected-address.patch
deleted file mode 100644
index a07e33f9f..000000000
--- a/meta-networking/recipes-protocols/quagga/files/quagga-Avoid-duplicate-connected-address.patch
+++ /dev/null
@@ -1,54 +0,0 @@
1quagga: Avoid duplicate connected address adding to the list
2
3commit 27ba970b9("quagga/ripd: Fix two bugs after received SIGHUP signal")
4introduces an regression: ifp->connected list is cleaned up when ripd is
5restarting, however, for interface addresses which are not specified in
6ripd configuration file, they are never to be added into ifp->connected
7again, this will lead to some abnormal behavior for route advertising.
8
9Instead of cleaning up the ifp->connected list to avoid duplicated
10connected address being added into this list, we can check this
11condition during interface address adding process and return early
12when an identical address has already been added.
13
14Upstream-Status: Pending
15
16Signed-off-by: Hu Yadi <Yadi.hu@windriver.com>
17Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
18Signed-off-by: Joe MacDonald <joe@deserted.net>
19---
20--- a/lib/if.c
21+++ b/lib/if.c
22@@ -738,6 +738,16 @@ connected_add_by_prefix (struct interfac
23 struct prefix *destination)
24 {
25 struct connected *ifc;
26+ struct listnode *cnode;
27+ struct connected *c;
28+ int ret = 0;
29+
30+ for (ALL_LIST_ELEMENTS_RO (ifp->connected, cnode, c))
31+ {
32+ ret = connected_same_prefix (p, (c->address));
33+ if(ret == 1)
34+ return NULL;
35+ }
36
37 /* Allocate new connected address. */
38 ifc = connected_new ();
39--- a/ripd/rip_interface.c
40+++ b/ripd/rip_interface.c
41@@ -516,13 +516,6 @@ rip_interface_clean (void)
42 thread_cancel (ri->t_wakeup);
43 ri->t_wakeup = NULL;
44 }
45-
46- for (conn_node = listhead (ifp->connected); conn_node; conn_node = next)
47- {
48- ifc = listgetdata (conn_node);
49- next = conn_node->next;
50- listnode_delete (ifp->connected, ifc);
51- }
52 }
53 }
54
diff --git a/meta-networking/recipes-protocols/quagga/files/quagga.default b/meta-networking/recipes-protocols/quagga/files/quagga.default
index 0c1ce6c04..4c4bc2307 100644
--- a/meta-networking/recipes-protocols/quagga/files/quagga.default
+++ b/meta-networking/recipes-protocols/quagga/files/quagga.default
@@ -4,7 +4,6 @@ vtysh_enable=yes
4 4
5# Bind all daemons to loopback only by default 5# Bind all daemons to loopback only by default
6zebra_options=" --daemon -A 127.0.0.1" 6zebra_options=" --daemon -A 127.0.0.1"
7babeld_options="--daemon -A 127.0.0.1"
8bgpd_options=" --daemon -A 127.0.0.1" 7bgpd_options=" --daemon -A 127.0.0.1"
9ospfd_options=" --daemon -A 127.0.0.1" 8ospfd_options=" --daemon -A 127.0.0.1"
10ospf6d_options="--daemon -A ::1" 9ospf6d_options="--daemon -A ::1"
diff --git a/meta-networking/recipes-protocols/quagga/files/quagga.init b/meta-networking/recipes-protocols/quagga/files/quagga.init
index 60b5ab01a..df1beb712 100644
--- a/meta-networking/recipes-protocols/quagga/files/quagga.init
+++ b/meta-networking/recipes-protocols/quagga/files/quagga.init
@@ -26,7 +26,7 @@ D_PATH=/usr/sbin
26C_PATH=/etc/quagga 26C_PATH=/etc/quagga
27 27
28# Keep zebra first and do not list watchquagga! 28# Keep zebra first and do not list watchquagga!
29DAEMONS="zebra bgpd ripd ripngd ospfd ospf6d isisd babeld" 29DAEMONS="zebra bgpd ripd ripngd ospfd ospf6d isisd"
30 30
31# Print the name of the pidfile. 31# Print the name of the pidfile.
32pidfile() 32pidfile()
diff --git a/meta-networking/recipes-protocols/quagga/files/ripd-fix-two-bugs-after-received-SIGHUP.patch b/meta-networking/recipes-protocols/quagga/files/ripd-fix-two-bugs-after-received-SIGHUP.patch
deleted file mode 100644
index 4b8c9a929..000000000
--- a/meta-networking/recipes-protocols/quagga/files/ripd-fix-two-bugs-after-received-SIGHUP.patch
+++ /dev/null
@@ -1,50 +0,0 @@
1ripd: Fix two bugs after received SIGHUP signal
2
3There are two problems for ripd implementation after received
4SIGHUP signal:
51). ripd didn't clean up ifp->connected list before reload
6 configuration file.
72). ripd reset ri->split_horizon flag to RIP_NO_SPLIT_HORIZON
8 which lead to the unnecessary route to be advertised.
9
10Upstream-Status: Submitted [http://patchwork.diac24.net/patch/604/]
11
12Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
13Signed-off-by: Joe MacDonald <joe@deserted.net>
14---
15--- a/ripd/rip_interface.c
16+++ b/ripd/rip_interface.c
17@@ -500,6 +500,8 @@
18 struct listnode *node;
19 struct interface *ifp;
20 struct rip_interface *ri;
21+ struct connected *ifc;
22+ struct listnode *conn_node, *next;
23
24 for (ALL_LIST_ELEMENTS_RO (iflist, node, ifp))
25 {
26@@ -514,6 +516,13 @@
27 thread_cancel (ri->t_wakeup);
28 ri->t_wakeup = NULL;
29 }
30+
31+ for (conn_node = listhead (ifp->connected); conn_node; conn_node = next)
32+ {
33+ ifc = listgetdata (conn_node);
34+ next = conn_node->next;
35+ listnode_delete (ifp->connected, ifc);
36+ }
37 }
38 }
39
40@@ -548,8 +557,8 @@
41 ri->key_chain = NULL;
42 }
43
44- ri->split_horizon = RIP_NO_SPLIT_HORIZON;
45- ri->split_horizon_default = RIP_NO_SPLIT_HORIZON;
46+ ri->split_horizon = RIP_SPLIT_HORIZON;
47+ ri->split_horizon_default = RIP_SPLIT_HORIZON;
48
49 ri->list[RIP_FILTER_IN] = NULL;
50 ri->list[RIP_FILTER_OUT] = NULL;
diff --git a/meta-networking/recipes-protocols/quagga/quagga.inc b/meta-networking/recipes-protocols/quagga/quagga.inc
index ae08a2d32..bf0b89efd 100644
--- a/meta-networking/recipes-protocols/quagga/quagga.inc
+++ b/meta-networking/recipes-protocols/quagga/quagga.inc
@@ -28,8 +28,6 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/quagga${QUAGGASUBDIR}/quagga-${PV}.tar.gz; \
28 file://watchquagga.default \ 28 file://watchquagga.default \
29 file://volatiles.03_quagga \ 29 file://volatiles.03_quagga \
30 file://quagga.pam \ 30 file://quagga.pam \
31 file://ripd-fix-two-bugs-after-received-SIGHUP.patch \
32 file://quagga-Avoid-duplicate-connected-address.patch \
33 file://bgpd.service \ 31 file://bgpd.service \
34 file://isisd.service \ 32 file://isisd.service \
35 file://ospf6d.service \ 33 file://ospf6d.service \
@@ -43,7 +41,7 @@ PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}
43PACKAGECONFIG[cap] = "--enable-capabilities,--disable-capabilities,libcap" 41PACKAGECONFIG[cap] = "--enable-capabilities,--disable-capabilities,libcap"
44PACKAGECONFIG[pam] = "--with-libpam, --without-libpam, libpam" 42PACKAGECONFIG[pam] = "--with-libpam, --without-libpam, libpam"
45 43
46inherit autotools update-rc.d useradd systemd 44inherit autotools update-rc.d useradd systemd pkgconfig
47 45
48SYSTEMD_PACKAGES = "${PN} ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd" 46SYSTEMD_PACKAGES = "${PN} ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd"
49SYSTEMD_SERVICE_${PN}-bgpd = "bgpd.service" 47SYSTEMD_SERVICE_${PN}-bgpd = "bgpd.service"
@@ -202,7 +200,7 @@ INITSCRIPT_PARAMS_${PN}-watchquagga = "defaults 90 10"
202# Add quagga's user and group 200# Add quagga's user and group
203USERADD_PACKAGES = "${PN}" 201USERADD_PACKAGES = "${PN}"
204GROUPADD_PARAM_${PN} = "--system quagga ; --system quaggavty" 202GROUPADD_PARAM_${PN} = "--system quagga ; --system quaggavty"
205USERADD_PARAM_${PN} = "--system --home ${localstatedir}/run/quagga/ -M -g quagga --shell /bin/false quagga" 203USERADD_PARAM_${PN} = "--system --home ${localstatedir}/run/quagga/ -M -g quagga -G quaggavty --shell /bin/false quagga"
206 204
207pkg_postinst_${PN} () { 205pkg_postinst_${PN} () {
208 if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then 206 if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
diff --git a/meta-networking/recipes-protocols/quagga/quagga_1.0.20160315.bb b/meta-networking/recipes-protocols/quagga/quagga_1.0.20160315.bb
deleted file mode 100644
index d1657818c..000000000
--- a/meta-networking/recipes-protocols/quagga/quagga_1.0.20160315.bb
+++ /dev/null
@@ -1,10 +0,0 @@
1require quagga.inc
2
3SRC_URI += " \
4 file://0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch \
5"
6
7SRC_URI[md5sum] = "e73d6e527fb80240f180de420cfe8042"
8SRC_URI[sha256sum] = "21ffb7bad0ef5f130f18dd299d219ea1cb4f5c03d473b6b32c83c340cd853263"
9
10QUAGGASUBDIR = ""
diff --git a/meta-networking/recipes-protocols/quagga/quagga_1.1.0.bb b/meta-networking/recipes-protocols/quagga/quagga_1.1.0.bb
new file mode 100644
index 000000000..1b5c34c87
--- /dev/null
+++ b/meta-networking/recipes-protocols/quagga/quagga_1.1.0.bb
@@ -0,0 +1,6 @@
1require quagga.inc
2
3SRC_URI[md5sum] = "daa303871e07ea5856aae6fd79e89722"
4SRC_URI[sha256sum] = "f7a43a9c59bfd3722002210530b2553c8d5cc05bfea5acd56d4f102b9f55dc63"
5
6QUAGGASUBDIR = ""