mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-05-19 02:04:09 +00:00
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
0abf6796c3
* 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>
This commit is contained in:
parent
74d994ed27
commit
fcdd7e2c6f
@ -1,48 +0,0 @@
|
||||
sync zebra routing table with the kernel one when interface is down
|
||||
|
||||
Add router to kernel main router table with "ip", then you can see
|
||||
a router item in kernel main router table. Also can see this router
|
||||
item in zebra router table. If down the interface, this router item
|
||||
will be deleted from kernel main router table, but it will not be
|
||||
deleted from zebra router table, just set as inactive.
|
||||
|
||||
This patch is adopted from [1].
|
||||
[1] http://www.gossamer-threads.com/lists/quagga/dev/22609
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-of-by: Aws Ismail <aws.ismail@windriver.com>
|
||||
Signed-of-by: Roy.Li <rongqing.li@windriver.com>
|
||||
|
||||
---
|
||||
zebra/zebra_rib.c | 7 +++++++
|
||||
1 files changed, 7 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c
|
||||
index 154e8d5..63434d0 100644
|
||||
--- a/zebra/zebra_rib.c
|
||||
+++ b/zebra/zebra_rib.c
|
||||
@@ -765,6 +765,9 @@ rib_match_ipv6 (struct in6_addr *addr)
|
||||
#define RIB_SYSTEM_ROUTE(R) \
|
||||
((R)->type == ZEBRA_ROUTE_KERNEL || (R)->type == ZEBRA_ROUTE_CONNECT)
|
||||
|
||||
+#define RIB_KERNEL_ROUTE(R) \
|
||||
+ ((R)->type == ZEBRA_ROUTE_KERNEL)
|
||||
+
|
||||
/* This function verifies reachability of one given nexthop, which can be
|
||||
* numbered or unnumbered, IPv4 or IPv6. The result is unconditionally stored
|
||||
* in nexthop->flags field. If the 4th parameter, 'set', is non-zero,
|
||||
@@ -1135,6 +1138,10 @@ rib_process (struct route_node *rn)
|
||||
redistribute_delete (&rn->p, fib);
|
||||
if (! RIB_SYSTEM_ROUTE (fib))
|
||||
rib_uninstall_kernel (rn, fib);
|
||||
+#ifdef GNU_LINUX
|
||||
+ else if(RIB_KERNEL_ROUTE (fib) && !if_is_up(if_lookup_by_index(fib->nexthop->ifindex)))
|
||||
+ del=fib;
|
||||
+#endif
|
||||
UNSET_FLAG (fib->flags, ZEBRA_FLAG_SELECTED);
|
||||
|
||||
/* Set real nexthop. */
|
||||
--
|
||||
1.7.4.1
|
||||
|
||||
@ -1,50 +0,0 @@
|
||||
From ba71f768e6dbb1f2ac72ed3bd880bff75a48d345 Mon Sep 17 00:00:00 2001
|
||||
From: Roy Li <rongqing.li@windriver.com>
|
||||
Date: Wed, 19 Feb 2014 14:13:40 +0800
|
||||
Subject: [PATCH] babeld: close stdout once the background daemon is created
|
||||
|
||||
Upstream-Status: pending
|
||||
|
||||
Once babald becomes a background daemon, it should not output information to
|
||||
stdout, so need to close stdout.
|
||||
|
||||
In fact, other daemons close their stdout when they run into background, like
|
||||
ospfd, isisd and bgpd, by calling daemon() which is in lib/daemon.c
|
||||
|
||||
Closing the stdout can fix a tee hang issue { #/usr/sbin/babeld -d |tee tmp }
|
||||
|
||||
Signed-off-by: Roy Li <rongqing.li@windriver.com>
|
||||
---
|
||||
babeld/util.c | 10 +++++++++-
|
||||
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/babeld/util.c b/babeld/util.c
|
||||
index 011f382..76203bc 100644
|
||||
--- a/babeld/util.c
|
||||
+++ b/babeld/util.c
|
||||
@@ -425,7 +425,7 @@ uchar_to_in6addr(struct in6_addr *dest, const unsigned char *src)
|
||||
int
|
||||
daemonise()
|
||||
{
|
||||
- int rc;
|
||||
+ int rc, fd;
|
||||
|
||||
fflush(stdout);
|
||||
fflush(stderr);
|
||||
@@ -441,5 +441,13 @@ daemonise()
|
||||
if(rc < 0)
|
||||
return -1;
|
||||
|
||||
+ fd = open("/dev/null", O_RDWR, 0);
|
||||
+ if (fd != -1)
|
||||
+ {
|
||||
+ dup2(fd, STDOUT_FILENO);
|
||||
+ if (fd > 2)
|
||||
+ close(fd);
|
||||
+ }
|
||||
+
|
||||
return 1;
|
||||
}
|
||||
--
|
||||
1.7.10.4
|
||||
|
||||
@ -1,14 +0,0 @@
|
||||
[Unit]
|
||||
Description=Babel routing daemon
|
||||
BindTo=zebra.service
|
||||
After=zebra.service
|
||||
ConditionPathExists=@SYSCONFDIR@/quagga/babeld.conf
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
EnvironmentFile=-@SYSCONFDIR@/default/quagga
|
||||
ExecStart=@SBINDIR@/babeld -d $babeld_options -f /etc/quagga/babeld.conf
|
||||
Restart=on-abort
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@ -22,7 +22,6 @@ QUAGGASUBDIR = ""
|
||||
# ${QUAGGASUBDIR} is deal with old versions. Set to "/attic" for old
|
||||
# versions and leave it empty for recent versions.
|
||||
SRC_URI = "${SAVANNAH_GNU_MIRROR}/quagga${QUAGGASUBDIR}/quagga-${PV}.tar.gz; \
|
||||
file://Zebra-sync-zebra-routing-table-with-the-kernel-one.patch \
|
||||
file://quagga.init \
|
||||
file://quagga.default \
|
||||
file://watchquagga.init \
|
||||
@ -31,7 +30,6 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/quagga${QUAGGASUBDIR}/quagga-${PV}.tar.gz; \
|
||||
file://quagga.pam \
|
||||
file://ripd-fix-two-bugs-after-received-SIGHUP.patch \
|
||||
file://quagga-Avoid-duplicate-connected-address.patch \
|
||||
file://babeld.service \
|
||||
file://bgpd.service \
|
||||
file://isisd.service \
|
||||
file://ospf6d.service \
|
||||
@ -47,8 +45,7 @@ PACKAGECONFIG[pam] = "--with-libpam, --without-libpam, libpam"
|
||||
|
||||
inherit autotools update-rc.d useradd systemd
|
||||
|
||||
SYSTEMD_PACKAGES = "${PN} ${PN}-babeld ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd"
|
||||
SYSTEMD_SERVICE_${PN}-babeld = "babeld.service"
|
||||
SYSTEMD_PACKAGES = "${PN} ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd"
|
||||
SYSTEMD_SERVICE_${PN}-bgpd = "bgpd.service"
|
||||
SYSTEMD_SERVICE_${PN}-isisd = "isisd.service"
|
||||
SYSTEMD_SERVICE_${PN}-ospf6d = "ospf6d.service"
|
||||
@ -63,8 +60,6 @@ EXTRA_OECONF = "--sysconfdir=${sysconfdir}/quagga \
|
||||
--enable-vtysh \
|
||||
--enable-isisd \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '--enable-watchquagga', '--disable-watchquagga', d)} \
|
||||
--enable-ospf-te \
|
||||
--enable-opaque-lsa \
|
||||
--enable-ospfclient=yes \
|
||||
--enable-multipath=64 \
|
||||
--enable-user=quagga \
|
||||
@ -88,11 +83,11 @@ do_install () {
|
||||
install -m 0644 ${WORKDIR}/volatiles.03_quagga ${D}${sysconfdir}/default/volatiles/volatiles.03_quagga
|
||||
|
||||
# Install sample configurations for the daemons
|
||||
for f in bgpd vtysh babeld isisd ospfd ripngd zebra ripd ospf6d; do
|
||||
for f in bgpd vtysh isisd ospfd ripngd zebra ripd ospf6d; do
|
||||
install -m 0640 ${S}/$f/$f.conf.sample ${D}${sysconfdir}/quagga/$f.conf.sample
|
||||
done
|
||||
|
||||
for f in bgpd vtysh babeld isisd ospfd ripngd zebra ripd ospf6d; do
|
||||
for f in bgpd vtysh isisd ospfd ripngd zebra ripd ospf6d; do
|
||||
touch ${D}${sysconfdir}/quagga/$f.conf
|
||||
done
|
||||
chown quagga:quaggavty ${D}${sysconfdir}/quagga
|
||||
@ -138,7 +133,7 @@ do_install () {
|
||||
fi
|
||||
|
||||
install -d ${D}${systemd_unitdir}/system
|
||||
for i in babeld bgpd isisd ospf6d ospfd ripd ripngd zebra; do
|
||||
for i in bgpd isisd ospf6d ospfd ripd ripngd zebra; do
|
||||
install -m 0644 ${WORKDIR}/$i.service ${D}${systemd_unitdir}/system
|
||||
done
|
||||
sed -e 's,@BASE_SBINDIR@,${base_sbindir},g' \
|
||||
@ -160,15 +155,14 @@ pkg_postinst_${PN} () {
|
||||
}
|
||||
|
||||
# Split into a main package and separate per-protocol packages
|
||||
PACKAGE_BEFORE_PN = "${PN}-ospfd ${PN}-ospf6d ${PN}-babeld ${PN}-bgpd \
|
||||
PACKAGE_BEFORE_PN = "${PN}-ospfd ${PN}-ospf6d ${PN}-bgpd \
|
||||
${PN}-ripd ${PN}-ripngd ${PN}-isisd \
|
||||
${PN}-ospfclient ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '${PN}-watchquagga', '', d)}"
|
||||
|
||||
RDEPENDS_${PN} += "${PN}-babeld ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd"
|
||||
RDEPENDS_${PN} += "${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd"
|
||||
|
||||
FILES_${PN}-ospfd = "${sbindir}/ospfd ${libdir}/libospf.so.*"
|
||||
FILES_${PN}-ospf6d = "${sbindir}/ospf6d"
|
||||
FILES_${PN}-babeld = "${sbindir}/babeld"
|
||||
FILES_${PN}-bgpd = "${sbindir}/bgpd"
|
||||
FILES_${PN}-ripd = "${sbindir}/ripd"
|
||||
FILES_${PN}-ripngd = "${sbindir}/ripngd"
|
||||
@ -181,7 +175,6 @@ FILES_${PN}-watchquagga = "${sbindir}/watchquagga ${sysconfdir}/default/watchqua
|
||||
CONFFILES_${PN} = "${sysconfdir}/default/quagga \
|
||||
${sysconfdir}/quagga/bgpd.conf \
|
||||
${sysconfdir}/quagga/vtysh.conf \
|
||||
${sysconfdir}/quagga/babeld.conf \
|
||||
${sysconfdir}/quagga/isisd.conf \
|
||||
${sysconfdir}/quagga/ospfd.conf \
|
||||
${sysconfdir}/quagga/ripngd.conf \
|
||||
@ -230,10 +223,6 @@ pkg_prerm_${PN}-ospf6d () {
|
||||
${sysconfdir}/init.d/quagga stop ospf6d
|
||||
}
|
||||
|
||||
pkg_prerm_${PN}-babeld () {
|
||||
${sysconfdir}/init.d/quagga stop babeld
|
||||
}
|
||||
|
||||
pkg_prerm_${PN}-bgpd () {
|
||||
${sysconfdir}/init.d/quagga stop bgpd
|
||||
}
|
||||
|
||||
@ -1,10 +0,0 @@
|
||||
require quagga.inc
|
||||
|
||||
SRC_URI += "file://babel-close-the-stdout-stderr-as-in-other-daemons.patch \
|
||||
file://0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "7986bdc2fe6027d4c9216f7f5791e718"
|
||||
SRC_URI[sha256sum] = "84ae1a47df085119a8fcab6c43ccea9efb9bc3112388b1dece5a9f0a0262754f"
|
||||
|
||||
QUAGGASUBDIR = ""
|
||||
@ -0,0 +1,10 @@
|
||||
require quagga.inc
|
||||
|
||||
SRC_URI += " \
|
||||
file://0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "e73d6e527fb80240f180de420cfe8042"
|
||||
SRC_URI[sha256sum] = "21ffb7bad0ef5f130f18dd299d219ea1cb4f5c03d473b6b32c83c340cd853263"
|
||||
|
||||
QUAGGASUBDIR = ""
|
||||
Loading…
x
Reference in New Issue
Block a user