diff options
author | Kai Kang <kai.kang@windriver.com> | 2016-08-15 11:23:14 +0800 |
---|---|---|
committer | Joe MacDonald <joe_macdonald@mentor.com> | 2016-08-16 21:26:11 -0400 |
commit | fcdd7e2c6fec1f00e7473707b235bf883ccdd9f7 (patch) | |
tree | e8f39d935d37dab61606e2c449de9be13389682c | |
parent | 74d994ed27e53370101a3a44f25cd07327d774ad (diff) | |
download | meta-openembedded-fcdd7e2c6fec1f00e7473707b235bf883ccdd9f7.tar.gz |
quagga: 0.99.24.1 -> 1.0.20160315
Upgrade quagga from 0.99.24.1 to 1.0.20160315.
* babeld was removed from quagga, so remove babeld related code, service
file and patch and from recipe
* remove Zebra-sync-zebra-routing-table-with-the-kernel-one.patch which
is obsoleted that quagga update the logic, see
https://github.com/Quagga/quagga/commit/0abf6796c3d8ae8f5ea8624668424bc1554de25e
* remove configure options '--enable-ospf-te' and '--enable-opaque-lsa'
which are set by default and removed from configure.ac already
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
6 files changed, 16 insertions, 139 deletions
diff --git a/meta-networking/recipes-protocols/quagga/files/Zebra-sync-zebra-routing-table-with-the-kernel-one.patch b/meta-networking/recipes-protocols/quagga/files/Zebra-sync-zebra-routing-table-with-the-kernel-one.patch deleted file mode 100644 index 35f4637d8..000000000 --- a/meta-networking/recipes-protocols/quagga/files/Zebra-sync-zebra-routing-table-with-the-kernel-one.patch +++ /dev/null | |||
@@ -1,48 +0,0 @@ | |||
1 | sync zebra routing table with the kernel one when interface is down | ||
2 | |||
3 | Add router to kernel main router table with "ip", then you can see | ||
4 | a router item in kernel main router table. Also can see this router | ||
5 | item in zebra router table. If down the interface, this router item | ||
6 | will be deleted from kernel main router table, but it will not be | ||
7 | deleted from zebra router table, just set as inactive. | ||
8 | |||
9 | This patch is adopted from [1]. | ||
10 | [1] http://www.gossamer-threads.com/lists/quagga/dev/22609 | ||
11 | |||
12 | Upstream-Status: Pending | ||
13 | |||
14 | Signed-of-by: Aws Ismail <aws.ismail@windriver.com> | ||
15 | Signed-of-by: Roy.Li <rongqing.li@windriver.com> | ||
16 | |||
17 | --- | ||
18 | zebra/zebra_rib.c | 7 +++++++ | ||
19 | 1 files changed, 7 insertions(+), 0 deletions(-) | ||
20 | |||
21 | diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c | ||
22 | index 154e8d5..63434d0 100644 | ||
23 | --- a/zebra/zebra_rib.c | ||
24 | +++ b/zebra/zebra_rib.c | ||
25 | @@ -765,6 +765,9 @@ rib_match_ipv6 (struct in6_addr *addr) | ||
26 | #define RIB_SYSTEM_ROUTE(R) \ | ||
27 | ((R)->type == ZEBRA_ROUTE_KERNEL || (R)->type == ZEBRA_ROUTE_CONNECT) | ||
28 | |||
29 | +#define RIB_KERNEL_ROUTE(R) \ | ||
30 | + ((R)->type == ZEBRA_ROUTE_KERNEL) | ||
31 | + | ||
32 | /* This function verifies reachability of one given nexthop, which can be | ||
33 | * numbered or unnumbered, IPv4 or IPv6. The result is unconditionally stored | ||
34 | * in nexthop->flags field. If the 4th parameter, 'set', is non-zero, | ||
35 | @@ -1135,6 +1138,10 @@ rib_process (struct route_node *rn) | ||
36 | redistribute_delete (&rn->p, fib); | ||
37 | if (! RIB_SYSTEM_ROUTE (fib)) | ||
38 | rib_uninstall_kernel (rn, fib); | ||
39 | +#ifdef GNU_LINUX | ||
40 | + else if(RIB_KERNEL_ROUTE (fib) && !if_is_up(if_lookup_by_index(fib->nexthop->ifindex))) | ||
41 | + del=fib; | ||
42 | +#endif | ||
43 | UNSET_FLAG (fib->flags, ZEBRA_FLAG_SELECTED); | ||
44 | |||
45 | /* Set real nexthop. */ | ||
46 | -- | ||
47 | 1.7.4.1 | ||
48 | |||
diff --git a/meta-networking/recipes-protocols/quagga/files/babel-close-the-stdout-stderr-as-in-other-daemons.patch b/meta-networking/recipes-protocols/quagga/files/babel-close-the-stdout-stderr-as-in-other-daemons.patch deleted file mode 100644 index c2757a2fb..000000000 --- a/meta-networking/recipes-protocols/quagga/files/babel-close-the-stdout-stderr-as-in-other-daemons.patch +++ /dev/null | |||
@@ -1,50 +0,0 @@ | |||
1 | From ba71f768e6dbb1f2ac72ed3bd880bff75a48d345 Mon Sep 17 00:00:00 2001 | ||
2 | From: Roy Li <rongqing.li@windriver.com> | ||
3 | Date: Wed, 19 Feb 2014 14:13:40 +0800 | ||
4 | Subject: [PATCH] babeld: close stdout once the background daemon is created | ||
5 | |||
6 | Upstream-Status: pending | ||
7 | |||
8 | Once babald becomes a background daemon, it should not output information to | ||
9 | stdout, so need to close stdout. | ||
10 | |||
11 | In fact, other daemons close their stdout when they run into background, like | ||
12 | ospfd, isisd and bgpd, by calling daemon() which is in lib/daemon.c | ||
13 | |||
14 | Closing the stdout can fix a tee hang issue { #/usr/sbin/babeld -d |tee tmp } | ||
15 | |||
16 | Signed-off-by: Roy Li <rongqing.li@windriver.com> | ||
17 | --- | ||
18 | babeld/util.c | 10 +++++++++- | ||
19 | 1 file changed, 9 insertions(+), 1 deletion(-) | ||
20 | |||
21 | diff --git a/babeld/util.c b/babeld/util.c | ||
22 | index 011f382..76203bc 100644 | ||
23 | --- a/babeld/util.c | ||
24 | +++ b/babeld/util.c | ||
25 | @@ -425,7 +425,7 @@ uchar_to_in6addr(struct in6_addr *dest, const unsigned char *src) | ||
26 | int | ||
27 | daemonise() | ||
28 | { | ||
29 | - int rc; | ||
30 | + int rc, fd; | ||
31 | |||
32 | fflush(stdout); | ||
33 | fflush(stderr); | ||
34 | @@ -441,5 +441,13 @@ daemonise() | ||
35 | if(rc < 0) | ||
36 | return -1; | ||
37 | |||
38 | + fd = open("/dev/null", O_RDWR, 0); | ||
39 | + if (fd != -1) | ||
40 | + { | ||
41 | + dup2(fd, STDOUT_FILENO); | ||
42 | + if (fd > 2) | ||
43 | + close(fd); | ||
44 | + } | ||
45 | + | ||
46 | return 1; | ||
47 | } | ||
48 | -- | ||
49 | 1.7.10.4 | ||
50 | |||
diff --git a/meta-networking/recipes-protocols/quagga/files/babeld.service b/meta-networking/recipes-protocols/quagga/files/babeld.service deleted file mode 100644 index dd344b0b3..000000000 --- a/meta-networking/recipes-protocols/quagga/files/babeld.service +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | [Unit] | ||
2 | Description=Babel routing daemon | ||
3 | BindTo=zebra.service | ||
4 | After=zebra.service | ||
5 | ConditionPathExists=@SYSCONFDIR@/quagga/babeld.conf | ||
6 | |||
7 | [Service] | ||
8 | Type=forking | ||
9 | EnvironmentFile=-@SYSCONFDIR@/default/quagga | ||
10 | ExecStart=@SBINDIR@/babeld -d $babeld_options -f /etc/quagga/babeld.conf | ||
11 | Restart=on-abort | ||
12 | |||
13 | [Install] | ||
14 | WantedBy=multi-user.target | ||
diff --git a/meta-networking/recipes-protocols/quagga/quagga.inc b/meta-networking/recipes-protocols/quagga/quagga.inc index 4244fdf9e..dc5f01727 100644 --- a/meta-networking/recipes-protocols/quagga/quagga.inc +++ b/meta-networking/recipes-protocols/quagga/quagga.inc | |||
@@ -22,7 +22,6 @@ QUAGGASUBDIR = "" | |||
22 | # ${QUAGGASUBDIR} is deal with old versions. Set to "/attic" for old | 22 | # ${QUAGGASUBDIR} is deal with old versions. Set to "/attic" for old |
23 | # versions and leave it empty for recent versions. | 23 | # versions and leave it empty for recent versions. |
24 | SRC_URI = "${SAVANNAH_GNU_MIRROR}/quagga${QUAGGASUBDIR}/quagga-${PV}.tar.gz; \ | 24 | SRC_URI = "${SAVANNAH_GNU_MIRROR}/quagga${QUAGGASUBDIR}/quagga-${PV}.tar.gz; \ |
25 | file://Zebra-sync-zebra-routing-table-with-the-kernel-one.patch \ | ||
26 | file://quagga.init \ | 25 | file://quagga.init \ |
27 | file://quagga.default \ | 26 | file://quagga.default \ |
28 | file://watchquagga.init \ | 27 | file://watchquagga.init \ |
@@ -31,7 +30,6 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/quagga${QUAGGASUBDIR}/quagga-${PV}.tar.gz; \ | |||
31 | file://quagga.pam \ | 30 | file://quagga.pam \ |
32 | file://ripd-fix-two-bugs-after-received-SIGHUP.patch \ | 31 | file://ripd-fix-two-bugs-after-received-SIGHUP.patch \ |
33 | file://quagga-Avoid-duplicate-connected-address.patch \ | 32 | file://quagga-Avoid-duplicate-connected-address.patch \ |
34 | file://babeld.service \ | ||
35 | file://bgpd.service \ | 33 | file://bgpd.service \ |
36 | file://isisd.service \ | 34 | file://isisd.service \ |
37 | file://ospf6d.service \ | 35 | file://ospf6d.service \ |
@@ -47,8 +45,7 @@ PACKAGECONFIG[pam] = "--with-libpam, --without-libpam, libpam" | |||
47 | 45 | ||
48 | inherit autotools update-rc.d useradd systemd | 46 | inherit autotools update-rc.d useradd systemd |
49 | 47 | ||
50 | SYSTEMD_PACKAGES = "${PN} ${PN}-babeld ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd" | 48 | SYSTEMD_PACKAGES = "${PN} ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd" |
51 | SYSTEMD_SERVICE_${PN}-babeld = "babeld.service" | ||
52 | SYSTEMD_SERVICE_${PN}-bgpd = "bgpd.service" | 49 | SYSTEMD_SERVICE_${PN}-bgpd = "bgpd.service" |
53 | SYSTEMD_SERVICE_${PN}-isisd = "isisd.service" | 50 | SYSTEMD_SERVICE_${PN}-isisd = "isisd.service" |
54 | SYSTEMD_SERVICE_${PN}-ospf6d = "ospf6d.service" | 51 | SYSTEMD_SERVICE_${PN}-ospf6d = "ospf6d.service" |
@@ -63,8 +60,6 @@ EXTRA_OECONF = "--sysconfdir=${sysconfdir}/quagga \ | |||
63 | --enable-vtysh \ | 60 | --enable-vtysh \ |
64 | --enable-isisd \ | 61 | --enable-isisd \ |
65 | ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '--enable-watchquagga', '--disable-watchquagga', d)} \ | 62 | ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '--enable-watchquagga', '--disable-watchquagga', d)} \ |
66 | --enable-ospf-te \ | ||
67 | --enable-opaque-lsa \ | ||
68 | --enable-ospfclient=yes \ | 63 | --enable-ospfclient=yes \ |
69 | --enable-multipath=64 \ | 64 | --enable-multipath=64 \ |
70 | --enable-user=quagga \ | 65 | --enable-user=quagga \ |
@@ -88,11 +83,11 @@ do_install () { | |||
88 | install -m 0644 ${WORKDIR}/volatiles.03_quagga ${D}${sysconfdir}/default/volatiles/volatiles.03_quagga | 83 | install -m 0644 ${WORKDIR}/volatiles.03_quagga ${D}${sysconfdir}/default/volatiles/volatiles.03_quagga |
89 | 84 | ||
90 | # Install sample configurations for the daemons | 85 | # Install sample configurations for the daemons |
91 | for f in bgpd vtysh babeld isisd ospfd ripngd zebra ripd ospf6d; do | 86 | for f in bgpd vtysh isisd ospfd ripngd zebra ripd ospf6d; do |
92 | install -m 0640 ${S}/$f/$f.conf.sample ${D}${sysconfdir}/quagga/$f.conf.sample | 87 | install -m 0640 ${S}/$f/$f.conf.sample ${D}${sysconfdir}/quagga/$f.conf.sample |
93 | done | 88 | done |
94 | 89 | ||
95 | for f in bgpd vtysh babeld isisd ospfd ripngd zebra ripd ospf6d; do | 90 | for f in bgpd vtysh isisd ospfd ripngd zebra ripd ospf6d; do |
96 | touch ${D}${sysconfdir}/quagga/$f.conf | 91 | touch ${D}${sysconfdir}/quagga/$f.conf |
97 | done | 92 | done |
98 | chown quagga:quaggavty ${D}${sysconfdir}/quagga | 93 | chown quagga:quaggavty ${D}${sysconfdir}/quagga |
@@ -138,7 +133,7 @@ do_install () { | |||
138 | fi | 133 | fi |
139 | 134 | ||
140 | install -d ${D}${systemd_unitdir}/system | 135 | install -d ${D}${systemd_unitdir}/system |
141 | for i in babeld bgpd isisd ospf6d ospfd ripd ripngd zebra; do | 136 | for i in bgpd isisd ospf6d ospfd ripd ripngd zebra; do |
142 | install -m 0644 ${WORKDIR}/$i.service ${D}${systemd_unitdir}/system | 137 | install -m 0644 ${WORKDIR}/$i.service ${D}${systemd_unitdir}/system |
143 | done | 138 | done |
144 | sed -e 's,@BASE_SBINDIR@,${base_sbindir},g' \ | 139 | sed -e 's,@BASE_SBINDIR@,${base_sbindir},g' \ |
@@ -160,15 +155,14 @@ pkg_postinst_${PN} () { | |||
160 | } | 155 | } |
161 | 156 | ||
162 | # Split into a main package and separate per-protocol packages | 157 | # Split into a main package and separate per-protocol packages |
163 | PACKAGE_BEFORE_PN = "${PN}-ospfd ${PN}-ospf6d ${PN}-babeld ${PN}-bgpd \ | 158 | PACKAGE_BEFORE_PN = "${PN}-ospfd ${PN}-ospf6d ${PN}-bgpd \ |
164 | ${PN}-ripd ${PN}-ripngd ${PN}-isisd \ | 159 | ${PN}-ripd ${PN}-ripngd ${PN}-isisd \ |
165 | ${PN}-ospfclient ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '${PN}-watchquagga', '', d)}" | 160 | ${PN}-ospfclient ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '${PN}-watchquagga', '', d)}" |
166 | 161 | ||
167 | RDEPENDS_${PN} += "${PN}-babeld ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd" | 162 | RDEPENDS_${PN} += "${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd" |
168 | 163 | ||
169 | FILES_${PN}-ospfd = "${sbindir}/ospfd ${libdir}/libospf.so.*" | 164 | FILES_${PN}-ospfd = "${sbindir}/ospfd ${libdir}/libospf.so.*" |
170 | FILES_${PN}-ospf6d = "${sbindir}/ospf6d" | 165 | FILES_${PN}-ospf6d = "${sbindir}/ospf6d" |
171 | FILES_${PN}-babeld = "${sbindir}/babeld" | ||
172 | FILES_${PN}-bgpd = "${sbindir}/bgpd" | 166 | FILES_${PN}-bgpd = "${sbindir}/bgpd" |
173 | FILES_${PN}-ripd = "${sbindir}/ripd" | 167 | FILES_${PN}-ripd = "${sbindir}/ripd" |
174 | FILES_${PN}-ripngd = "${sbindir}/ripngd" | 168 | FILES_${PN}-ripngd = "${sbindir}/ripngd" |
@@ -181,7 +175,6 @@ FILES_${PN}-watchquagga = "${sbindir}/watchquagga ${sysconfdir}/default/watchqua | |||
181 | CONFFILES_${PN} = "${sysconfdir}/default/quagga \ | 175 | CONFFILES_${PN} = "${sysconfdir}/default/quagga \ |
182 | ${sysconfdir}/quagga/bgpd.conf \ | 176 | ${sysconfdir}/quagga/bgpd.conf \ |
183 | ${sysconfdir}/quagga/vtysh.conf \ | 177 | ${sysconfdir}/quagga/vtysh.conf \ |
184 | ${sysconfdir}/quagga/babeld.conf \ | ||
185 | ${sysconfdir}/quagga/isisd.conf \ | 178 | ${sysconfdir}/quagga/isisd.conf \ |
186 | ${sysconfdir}/quagga/ospfd.conf \ | 179 | ${sysconfdir}/quagga/ospfd.conf \ |
187 | ${sysconfdir}/quagga/ripngd.conf \ | 180 | ${sysconfdir}/quagga/ripngd.conf \ |
@@ -230,10 +223,6 @@ pkg_prerm_${PN}-ospf6d () { | |||
230 | ${sysconfdir}/init.d/quagga stop ospf6d | 223 | ${sysconfdir}/init.d/quagga stop ospf6d |
231 | } | 224 | } |
232 | 225 | ||
233 | pkg_prerm_${PN}-babeld () { | ||
234 | ${sysconfdir}/init.d/quagga stop babeld | ||
235 | } | ||
236 | |||
237 | pkg_prerm_${PN}-bgpd () { | 226 | pkg_prerm_${PN}-bgpd () { |
238 | ${sysconfdir}/init.d/quagga stop bgpd | 227 | ${sysconfdir}/init.d/quagga stop bgpd |
239 | } | 228 | } |
diff --git a/meta-networking/recipes-protocols/quagga/quagga_0.99.24.1.bb b/meta-networking/recipes-protocols/quagga/quagga_0.99.24.1.bb deleted file mode 100644 index cecf4385c..000000000 --- a/meta-networking/recipes-protocols/quagga/quagga_0.99.24.1.bb +++ /dev/null | |||
@@ -1,10 +0,0 @@ | |||
1 | require quagga.inc | ||
2 | |||
3 | SRC_URI += "file://babel-close-the-stdout-stderr-as-in-other-daemons.patch \ | ||
4 | file://0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch \ | ||
5 | " | ||
6 | |||
7 | SRC_URI[md5sum] = "7986bdc2fe6027d4c9216f7f5791e718" | ||
8 | SRC_URI[sha256sum] = "84ae1a47df085119a8fcab6c43ccea9efb9bc3112388b1dece5a9f0a0262754f" | ||
9 | |||
10 | QUAGGASUBDIR = "" | ||
diff --git a/meta-networking/recipes-protocols/quagga/quagga_1.0.20160315.bb b/meta-networking/recipes-protocols/quagga/quagga_1.0.20160315.bb new file mode 100644 index 000000000..d1657818c --- /dev/null +++ b/meta-networking/recipes-protocols/quagga/quagga_1.0.20160315.bb | |||
@@ -0,0 +1,10 @@ | |||
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 = "" | ||