diff options
author | Timo Teräs <timo.teras@iki.fi> | 2015-03-09 08:47:56 +0000 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2015-03-09 08:47:56 +0000 |
commit | 7d838dd9aca6cf3a75a393ae1b3529cfe4aa86d2 (patch) | |
tree | 040863b8f53fb1bea4494fd4d67bc3d1a2a495fc /main | |
parent | df5ebae46140fd1eac79b18e9c87b269d375f380 (diff) | |
download | aports-7d838dd9aca6cf3a75a393ae1b3529cfe4aa86d2.tar.bz2 aports-7d838dd9aca6cf3a75a393ae1b3529cfe4aa86d2.tar.xz |
main/quagga: upgrade to 0.99.24.1
enable pimd, remove deprecated configure options and upstreamed patch
Diffstat (limited to 'main')
-rw-r--r-- | main/quagga/1001-bgpd-implement-next-hop-self-all.patch | 151 | ||||
-rw-r--r-- | main/quagga/APKBUILD | 16 |
2 files changed, 6 insertions, 161 deletions
diff --git a/main/quagga/1001-bgpd-implement-next-hop-self-all.patch b/main/quagga/1001-bgpd-implement-next-hop-self-all.patch deleted file mode 100644 index dd5e3e1aa1..0000000000 --- a/main/quagga/1001-bgpd-implement-next-hop-self-all.patch +++ /dev/null @@ -1,151 +0,0 @@ -From 9e7a53c179f6897128b24435452b5d3d0f8c715a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> -Date: Thu, 24 Apr 2014 10:22:37 +0300 -Subject: [PATCH] bgpd: implement "next-hop-self all" -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -As specified in: -http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/iproute_bgp/command/irg-cr-book/bgp-m1.html#wp4972925610 - -This allows overriding next-hop for ibgp learned routes on an -RR for reflected routes. - -Especially useful for using iBGP in DMVPN setups. See: -http://blog.ipspace.net/2014/04/changes-in-ibgp-next-hop-processing.html - -Signed-off-by: Timo Teräs <timo.teras@iki.fi> ---- - bgpd/bgp_route.c | 3 ++- - bgpd/bgp_vty.c | 30 +++++++++++++++++++++++------- - bgpd/bgpd.c | 5 ++++- - bgpd/bgpd.h | 1 + - doc/bgpd.texi | 8 +++++--- - 5 files changed, 35 insertions(+), 12 deletions(-) - -diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c -index f421ca5..232a6a1 100644 ---- a/bgpd/bgp_route.c -+++ b/bgpd/bgp_route.c -@@ -976,7 +976,8 @@ bgp_announce_check (struct bgp_info *ri, struct peer *peer, struct prefix *p, - } - - /* next-hop-set */ -- if (transparent || reflect -+ if (transparent -+ || (reflect && ! CHECK_FLAG (peer->af_flags[afi][safi], PEER_FLAG_NEXTHOP_SELF_ALL)) - || (CHECK_FLAG (peer->af_flags[afi][safi], PEER_FLAG_NEXTHOP_UNCHANGED) - && ((p->family == AF_INET && attr->nexthop.s_addr) - #ifdef HAVE_IPV6 -diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c -index 3c6973b..a818fe7 100644 ---- a/bgpd/bgp_vty.c -+++ b/bgpd/bgp_vty.c -@@ -2093,25 +2093,41 @@ DEFUN (no_neighbor_capability_orf_prefix, - /* neighbor next-hop-self. */ - DEFUN (neighbor_nexthop_self, - neighbor_nexthop_self_cmd, -- NEIGHBOR_CMD2 "next-hop-self", -+ NEIGHBOR_CMD2 "next-hop-self {all}", - NEIGHBOR_STR - NEIGHBOR_ADDR_STR2 -- "Disable the next hop calculation for this neighbor\n") -+ "Disable the next hop calculation for this neighbor\n" -+ "Apply also to ibgp-learned routes when acting as a route reflector\n") - { -- return peer_af_flag_set_vty (vty, argv[0], bgp_node_afi (vty), -- bgp_node_safi (vty), PEER_FLAG_NEXTHOP_SELF); -+ u_int32_t flags = PEER_FLAG_NEXTHOP_SELF, unset = 0; -+ int rc; -+ -+ /* Check if "all" is specified */ -+ if (argv[1] != NULL) -+ flags |= PEER_FLAG_NEXTHOP_SELF_ALL; -+ else -+ unset |= PEER_FLAG_NEXTHOP_SELF_ALL; -+ -+ rc = peer_af_flag_set_vty (vty, argv[0], bgp_node_afi (vty), -+ bgp_node_safi (vty), flags); -+ if ( rc == CMD_SUCCESS && unset ) -+ rc = peer_af_flag_unset_vty (vty, argv[0], bgp_node_afi (vty), -+ bgp_node_safi (vty), unset); -+ return rc; - } - - DEFUN (no_neighbor_nexthop_self, - no_neighbor_nexthop_self_cmd, -- NO_NEIGHBOR_CMD2 "next-hop-self", -+ NO_NEIGHBOR_CMD2 "next-hop-self {all}", - NO_STR - NEIGHBOR_STR - NEIGHBOR_ADDR_STR2 -- "Disable the next hop calculation for this neighbor\n") -+ "Disable the next hop calculation for this neighbor\n" -+ "Apply also to ibgp-learned routes when acting as a route reflector\n") - { - return peer_af_flag_unset_vty (vty, argv[0], bgp_node_afi (vty), -- bgp_node_safi (vty), PEER_FLAG_NEXTHOP_SELF); -+ bgp_node_safi (vty), -+ PEER_FLAG_NEXTHOP_SELF|PEER_FLAG_NEXTHOP_SELF_ALL); - } - - /* neighbor remove-private-AS. */ -diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c -index 19b96fa..4d374cc 100644 ---- a/bgpd/bgpd.c -+++ b/bgpd/bgpd.c -@@ -2355,6 +2355,7 @@ static const struct peer_flag_action peer_af_flag_action_list[] = - { PEER_FLAG_ORF_PREFIX_SM, 1, peer_change_reset }, - { PEER_FLAG_ORF_PREFIX_RM, 1, peer_change_reset }, - { PEER_FLAG_NEXTHOP_LOCAL_UNCHANGED, 0, peer_change_reset_out }, -+ { PEER_FLAG_NEXTHOP_SELF_ALL, 1, peer_change_reset_out }, - { 0, 0, 0 } - }; - -@@ -4990,7 +4991,9 @@ bgp_config_write_peer (struct vty *vty, struct bgp *bgp, - /* Nexthop self. */ - if (peer_af_flag_check (peer, afi, safi, PEER_FLAG_NEXTHOP_SELF) - && ! peer->af_group[afi][safi]) -- vty_out (vty, " neighbor %s next-hop-self%s", addr, VTY_NEWLINE); -+ vty_out (vty, " neighbor %s next-hop-self%s%s", addr, -+ peer_af_flag_check (peer, afi, safi, PEER_FLAG_NEXTHOP_SELF_ALL) ? -+ " all" : "", VTY_NEWLINE); - - /* Remove private AS. */ - if (peer_af_flag_check (peer, afi, safi, PEER_FLAG_REMOVE_PRIVATE_AS) -diff --git a/bgpd/bgpd.h b/bgpd/bgpd.h -index a1b1273..eae803d 100644 ---- a/bgpd/bgpd.h -+++ b/bgpd/bgpd.h -@@ -412,6 +412,7 @@ struct peer - #define PEER_FLAG_MAX_PREFIX (1 << 14) /* maximum prefix */ - #define PEER_FLAG_MAX_PREFIX_WARNING (1 << 15) /* maximum prefix warning-only */ - #define PEER_FLAG_NEXTHOP_LOCAL_UNCHANGED (1 << 16) /* leave link-local nexthop unchanged */ -+#define PEER_FLAG_NEXTHOP_SELF_ALL (1 << 17) /* next-hop-self all */ - - /* MD5 password */ - char *password; -diff --git a/doc/bgpd.texi b/doc/bgpd.texi -index cb9789b..de70970 100644 ---- a/doc/bgpd.texi -+++ b/doc/bgpd.texi -@@ -299,10 +299,12 @@ This command is deprecated and may be removed in a future release. Its - use should be avoided. - @end deffn - --@deffn {BGP} {neighbor @var{peer} next-hop-self} {} --@deffnx {BGP} {no neighbor @var{peer} next-hop-self} {} -+@deffn {BGP} {neighbor @var{peer} next-hop-self [all]} {} -+@deffnx {BGP} {no neighbor @var{peer} next-hop-self [all]} {} - This command specifies an announced route's nexthop as being equivalent --to the address of the bgp router. -+to the address of the bgp router if it is learned via eBGP. -+If the optional keyword @code{all} is specified the modifiation is done -+also for routes learned via iBGP. - @end deffn - - @deffn {BGP} {neighbor @var{peer} update-source @var{<ifname|address>}} {} --- -2.1.0 - diff --git a/main/quagga/APKBUILD b/main/quagga/APKBUILD index 82fa25a6ad..3ee86fb181 100644 --- a/main/quagga/APKBUILD +++ b/main/quagga/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=quagga -pkgver=0.99.23.1 -pkgrel=1 +pkgver=0.99.24.1 +pkgrel=0 pkgdesc="A free routing daemon replacing Zebra supporting RIP, OSPF and BGP." url="http://quagga.net/" arch="all" @@ -13,7 +13,6 @@ subpackages="$pkgname-dev $pkgname-doc $pkgname-dbg" pkgusers="quagga" pkggroups="quagga" source="http://download.savannah.gnu.org/releases/quagga/quagga-$pkgver.tar.xz - 1001-bgpd-implement-next-hop-self-all.patch bgpd-gr-route-selection-fix.patch bgpd.initd zebra.initd @@ -38,7 +37,6 @@ build() { --host=$CHOST \ --prefix=/usr \ --disable-static \ - --enable-ipv6 \ --enable-ospf6d \ --enable-rtadv \ --enable-user=quagga \ @@ -47,6 +45,7 @@ build() { --enable-vtysh \ --enable-snmp \ --enable-multipath=64 \ + --enable-pimd \ --sysconfdir=/etc/quagga \ --enable-exampledir=/usr/share/doc/quagga/ \ --localstatedir=/var/run/quagga \ @@ -71,20 +70,17 @@ package() { install -Dm644 "$srcdir/zebra.confd" "$pkgdir"/etc/conf.d/zebra install -o quagga -g quagga -d -m755 "$pkgdir"/etc/quagga } -md5sums="da14aed6ae4be582486816f3eac2a46f quagga-0.99.23.1.tar.xz -cb97c9d7e192ca05b64c9da909daa97a 1001-bgpd-implement-next-hop-self-all.patch +md5sums="b168db69435100ee04564c4fb39c7413 quagga-0.99.24.1.tar.xz 1fbfcff69bc7df56f9e6682012261004 bgpd-gr-route-selection-fix.patch e80a3df594eba8b09e19aa28d9283698 bgpd.initd 33d0e34f11460881161ab930d3d3b987 zebra.initd 34e06a1d2bc602ce691abc9ed169dd15 zebra.confd" -sha256sums="202e8b7fbec810f28a84e3fbb6aafdaf08a3b51527c258807abc8a74ed617eb8 quagga-0.99.23.1.tar.xz -cd1a3cebe2e666fe95036dac5fe0b4c19772dc1d39859f5390c5c5d84695b8b3 1001-bgpd-implement-next-hop-self-all.patch +sha256sums="6fd6baadb136a801c29c1dd72d0fe69da9f19ae498e87bff7057778361e43b14 quagga-0.99.24.1.tar.xz 66de5b7c097aeb1767001547e219af51e43f968bd241dec7f0c71b68b54855de bgpd-gr-route-selection-fix.patch 41471bfda120cb57bc0f40e87ec23a4f150d2b97c97ececdda6c408eab7cf9a3 bgpd.initd d6cc9280df63859ba711ad2071b38b9ce317d718c34840a2b101debef3fa7b56 zebra.initd f7a52d383f60270a5a8fee5d4ac522c5c0ec2b7c4b5252cff54e260f32d9b323 zebra.confd" -sha512sums="7a222d4a5aa41deeb233f2e9ce922e5c29787c2f74c1b99177089e3183b69d3c0e4db5846676485a1990b728e007e687070ba4cecab67aa61f8be6c0851581cc quagga-0.99.23.1.tar.xz -a8b7c2f8c4e31841b735f17e2476adfc5d0b9caee4808ade19774fedf8abf935f0afda1bf43e79606dd5aca821a11435b69c84eec3cd6860c24e35775ff0bc3e 1001-bgpd-implement-next-hop-self-all.patch +sha512sums="71c340ce0f4e52c69892d8fed82d30956161b09b029fb0a82ba774664aa2303b493068664ea057870bec3c7c2a1ffea0a68fba0c400d6868efef691d7b055d2a quagga-0.99.24.1.tar.xz 3e3e1862739ed47da38720d87669ee0bfa2d6e2c2c65388727c92a22cad8b5bf9f4c302701cbd0cf3ac0186eeb1498aefed74c85d8f43ced41c78680fdbbc2ac bgpd-gr-route-selection-fix.patch d2bf7e8f2da49d0b039e72e76a77860b5b49d41a80550d6dc84791bbdec1d52e579393c5d42b45aa615991742421fef53ec1b92a5e740779b6060e20f5dd0413 bgpd.initd a4955fe54729ec8cb17b72f3d2205d0a4ba814a51a5eb3635a85339de9a2d2342e4814ef8b1e011803fa1dc3c6f9a23b178848e0812576876343104854feb723 zebra.initd |