diff options
author | Yi Zhao <yi.zhao@windriver.com> | 2016-12-29 14:11:23 +0800 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2017-01-19 09:26:15 +0100 |
commit | 807be0aeed9706f2c8b95340a9b4c391e8513200 (patch) | |
tree | 258b3cecac78704e0be6326801528ee8299b4a85 /meta-networking/recipes-protocols | |
parent | c0ff097fae3c7ad35a7cbdf4170363875316271c (diff) | |
download | meta-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')
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 @@ | |||
1 | Upstream-Status: Pending | ||
2 | |||
3 | Subject: ospf6d: check ospf6 before using it in ospf6_clean | ||
4 | |||
5 | The ospf6 variable might be 'NULL' causing segment fault error. | ||
6 | Check it before referencing it. | ||
7 | |||
8 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
9 | --- | ||
10 | ospf6d/ospf6d.c | 2 ++ | ||
11 | 1 file changed, 2 insertions(+) | ||
12 | |||
13 | diff --git a/ospf6d/ospf6d.c b/ospf6d/ospf6d.c | ||
14 | index 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 | -- | ||
27 | 1.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 @@ | |||
1 | quagga: Avoid duplicate connected address adding to the list | ||
2 | |||
3 | commit 27ba970b9("quagga/ripd: Fix two bugs after received SIGHUP signal") | ||
4 | introduces an regression: ifp->connected list is cleaned up when ripd is | ||
5 | restarting, however, for interface addresses which are not specified in | ||
6 | ripd configuration file, they are never to be added into ifp->connected | ||
7 | again, this will lead to some abnormal behavior for route advertising. | ||
8 | |||
9 | Instead of cleaning up the ifp->connected list to avoid duplicated | ||
10 | connected address being added into this list, we can check this | ||
11 | condition during interface address adding process and return early | ||
12 | when an identical address has already been added. | ||
13 | |||
14 | Upstream-Status: Pending | ||
15 | |||
16 | Signed-off-by: Hu Yadi <Yadi.hu@windriver.com> | ||
17 | Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com> | ||
18 | Signed-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 |
6 | zebra_options=" --daemon -A 127.0.0.1" | 6 | zebra_options=" --daemon -A 127.0.0.1" |
7 | babeld_options="--daemon -A 127.0.0.1" | ||
8 | bgpd_options=" --daemon -A 127.0.0.1" | 7 | bgpd_options=" --daemon -A 127.0.0.1" |
9 | ospfd_options=" --daemon -A 127.0.0.1" | 8 | ospfd_options=" --daemon -A 127.0.0.1" |
10 | ospf6d_options="--daemon -A ::1" | 9 | ospf6d_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 | |||
26 | C_PATH=/etc/quagga | 26 | C_PATH=/etc/quagga |
27 | 27 | ||
28 | # Keep zebra first and do not list watchquagga! | 28 | # Keep zebra first and do not list watchquagga! |
29 | DAEMONS="zebra bgpd ripd ripngd ospfd ospf6d isisd babeld" | 29 | DAEMONS="zebra bgpd ripd ripngd ospfd ospf6d isisd" |
30 | 30 | ||
31 | # Print the name of the pidfile. | 31 | # Print the name of the pidfile. |
32 | pidfile() | 32 | pidfile() |
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 @@ | |||
1 | ripd: Fix two bugs after received SIGHUP signal | ||
2 | |||
3 | There are two problems for ripd implementation after received | ||
4 | SIGHUP signal: | ||
5 | 1). ripd didn't clean up ifp->connected list before reload | ||
6 | configuration file. | ||
7 | 2). ripd reset ri->split_horizon flag to RIP_NO_SPLIT_HORIZON | ||
8 | which lead to the unnecessary route to be advertised. | ||
9 | |||
10 | Upstream-Status: Submitted [http://patchwork.diac24.net/patch/604/] | ||
11 | |||
12 | Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com> | ||
13 | Signed-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)} | |||
43 | PACKAGECONFIG[cap] = "--enable-capabilities,--disable-capabilities,libcap" | 41 | PACKAGECONFIG[cap] = "--enable-capabilities,--disable-capabilities,libcap" |
44 | PACKAGECONFIG[pam] = "--with-libpam, --without-libpam, libpam" | 42 | PACKAGECONFIG[pam] = "--with-libpam, --without-libpam, libpam" |
45 | 43 | ||
46 | inherit autotools update-rc.d useradd systemd | 44 | inherit autotools update-rc.d useradd systemd pkgconfig |
47 | 45 | ||
48 | SYSTEMD_PACKAGES = "${PN} ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd" | 46 | SYSTEMD_PACKAGES = "${PN} ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd" |
49 | SYSTEMD_SERVICE_${PN}-bgpd = "bgpd.service" | 47 | SYSTEMD_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 |
203 | USERADD_PACKAGES = "${PN}" | 201 | USERADD_PACKAGES = "${PN}" |
204 | GROUPADD_PARAM_${PN} = "--system quagga ; --system quaggavty" | 202 | GROUPADD_PARAM_${PN} = "--system quagga ; --system quaggavty" |
205 | USERADD_PARAM_${PN} = "--system --home ${localstatedir}/run/quagga/ -M -g quagga --shell /bin/false quagga" | 203 | USERADD_PARAM_${PN} = "--system --home ${localstatedir}/run/quagga/ -M -g quagga -G quaggavty --shell /bin/false quagga" |
206 | 204 | ||
207 | pkg_postinst_${PN} () { | 205 | pkg_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 @@ | |||
1 | require quagga.inc | ||
2 | |||
3 | SRC_URI += " \ | ||
4 | file://0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch \ | ||
5 | " | ||
6 | |||
7 | SRC_URI[md5sum] = "e73d6e527fb80240f180de420cfe8042" | ||
8 | SRC_URI[sha256sum] = "21ffb7bad0ef5f130f18dd299d219ea1cb4f5c03d473b6b32c83c340cd853263" | ||
9 | |||
10 | QUAGGASUBDIR = "" | ||
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 @@ | |||
1 | require quagga.inc | ||
2 | |||
3 | SRC_URI[md5sum] = "daa303871e07ea5856aae6fd79e89722" | ||
4 | SRC_URI[sha256sum] = "f7a43a9c59bfd3722002210530b2553c8d5cc05bfea5acd56d4f102b9f55dc63" | ||
5 | |||
6 | QUAGGASUBDIR = "" | ||