summaryrefslogtreecommitdiffstats
path: root/meta-networking/recipes-protocols
diff options
context:
space:
mode:
authorKai Kang <kai.kang@windriver.com>2016-08-15 11:23:14 +0800
committerJoe MacDonald <joe_macdonald@mentor.com>2016-08-16 21:26:11 -0400
commitfcdd7e2c6fec1f00e7473707b235bf883ccdd9f7 (patch)
treee8f39d935d37dab61606e2c449de9be13389682c /meta-networking/recipes-protocols
parent74d994ed27e53370101a3a44f25cd07327d774ad (diff)
downloadmeta-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>
Diffstat (limited to 'meta-networking/recipes-protocols')
-rw-r--r--meta-networking/recipes-protocols/quagga/files/Zebra-sync-zebra-routing-table-with-the-kernel-one.patch48
-rw-r--r--meta-networking/recipes-protocols/quagga/files/babel-close-the-stdout-stderr-as-in-other-daemons.patch50
-rw-r--r--meta-networking/recipes-protocols/quagga/files/babeld.service14
-rw-r--r--meta-networking/recipes-protocols/quagga/quagga.inc23
-rw-r--r--meta-networking/recipes-protocols/quagga/quagga_0.99.24.1.bb10
-rw-r--r--meta-networking/recipes-protocols/quagga/quagga_1.0.20160315.bb10
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 @@
1sync zebra routing table with the kernel one when interface is down
2
3Add router to kernel main router table with "ip", then you can see
4a router item in kernel main router table. Also can see this router
5item in zebra router table. If down the interface, this router item
6will be deleted from kernel main router table, but it will not be
7deleted from zebra router table, just set as inactive.
8
9This patch is adopted from [1].
10[1] http://www.gossamer-threads.com/lists/quagga/dev/22609
11
12Upstream-Status: Pending
13
14Signed-of-by: Aws Ismail <aws.ismail@windriver.com>
15Signed-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
21diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c
22index 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--
471.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 @@
1From ba71f768e6dbb1f2ac72ed3bd880bff75a48d345 Mon Sep 17 00:00:00 2001
2From: Roy Li <rongqing.li@windriver.com>
3Date: Wed, 19 Feb 2014 14:13:40 +0800
4Subject: [PATCH] babeld: close stdout once the background daemon is created
5
6Upstream-Status: pending
7
8Once babald becomes a background daemon, it should not output information to
9stdout, so need to close stdout.
10
11In fact, other daemons close their stdout when they run into background, like
12ospfd, isisd and bgpd, by calling daemon() which is in lib/daemon.c
13
14Closing the stdout can fix a tee hang issue { #/usr/sbin/babeld -d |tee tmp }
15
16Signed-off-by: Roy Li <rongqing.li@windriver.com>
17---
18 babeld/util.c | 10 +++++++++-
19 1 file changed, 9 insertions(+), 1 deletion(-)
20
21diff --git a/babeld/util.c b/babeld/util.c
22index 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--
491.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]
2Description=Babel routing daemon
3BindTo=zebra.service
4After=zebra.service
5ConditionPathExists=@SYSCONFDIR@/quagga/babeld.conf
6
7[Service]
8Type=forking
9EnvironmentFile=-@SYSCONFDIR@/default/quagga
10ExecStart=@SBINDIR@/babeld -d $babeld_options -f /etc/quagga/babeld.conf
11Restart=on-abort
12
13[Install]
14WantedBy=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.
24SRC_URI = "${SAVANNAH_GNU_MIRROR}/quagga${QUAGGASUBDIR}/quagga-${PV}.tar.gz; \ 24SRC_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
48inherit autotools update-rc.d useradd systemd 46inherit autotools update-rc.d useradd systemd
49 47
50SYSTEMD_PACKAGES = "${PN} ${PN}-babeld ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd" 48SYSTEMD_PACKAGES = "${PN} ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd"
51SYSTEMD_SERVICE_${PN}-babeld = "babeld.service"
52SYSTEMD_SERVICE_${PN}-bgpd = "bgpd.service" 49SYSTEMD_SERVICE_${PN}-bgpd = "bgpd.service"
53SYSTEMD_SERVICE_${PN}-isisd = "isisd.service" 50SYSTEMD_SERVICE_${PN}-isisd = "isisd.service"
54SYSTEMD_SERVICE_${PN}-ospf6d = "ospf6d.service" 51SYSTEMD_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
163PACKAGE_BEFORE_PN = "${PN}-ospfd ${PN}-ospf6d ${PN}-babeld ${PN}-bgpd \ 158PACKAGE_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
167RDEPENDS_${PN} += "${PN}-babeld ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd" 162RDEPENDS_${PN} += "${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd"
168 163
169FILES_${PN}-ospfd = "${sbindir}/ospfd ${libdir}/libospf.so.*" 164FILES_${PN}-ospfd = "${sbindir}/ospfd ${libdir}/libospf.so.*"
170FILES_${PN}-ospf6d = "${sbindir}/ospf6d" 165FILES_${PN}-ospf6d = "${sbindir}/ospf6d"
171FILES_${PN}-babeld = "${sbindir}/babeld"
172FILES_${PN}-bgpd = "${sbindir}/bgpd" 166FILES_${PN}-bgpd = "${sbindir}/bgpd"
173FILES_${PN}-ripd = "${sbindir}/ripd" 167FILES_${PN}-ripd = "${sbindir}/ripd"
174FILES_${PN}-ripngd = "${sbindir}/ripngd" 168FILES_${PN}-ripngd = "${sbindir}/ripngd"
@@ -181,7 +175,6 @@ FILES_${PN}-watchquagga = "${sbindir}/watchquagga ${sysconfdir}/default/watchqua
181CONFFILES_${PN} = "${sysconfdir}/default/quagga \ 175CONFFILES_${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
233pkg_prerm_${PN}-babeld () {
234 ${sysconfdir}/init.d/quagga stop babeld
235}
236
237pkg_prerm_${PN}-bgpd () { 226pkg_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 @@
1require quagga.inc
2
3SRC_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
7SRC_URI[md5sum] = "7986bdc2fe6027d4c9216f7f5791e718"
8SRC_URI[sha256sum] = "84ae1a47df085119a8fcab6c43ccea9efb9bc3112388b1dece5a9f0a0262754f"
9
10QUAGGASUBDIR = ""
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 @@
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 = ""