aboutsummaryrefslogtreecommitdiffstats
path: root/main/quagga/1001-bgpd-implement-next-hop-self-all.patch
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2014-08-27 08:30:38 +0300
committerTimo Teräs <timo.teras@iki.fi>2014-08-27 08:33:44 +0300
commit3cc3cc2a0c120341060d6098c1d320e18df49474 (patch)
treed6b7e946d61162ac304dc74fc6be6fe03152771a /main/quagga/1001-bgpd-implement-next-hop-self-all.patch
parent292070ca1e8abc925d46bb9396b320bfb02384b9 (diff)
downloadaports-3cc3cc2a0c120341060d6098c1d320e18df49474.tar.bz2
aports-3cc3cc2a0c120341060d6098c1d320e18df49474.tar.xz
main/quagga: upgrade to 0.99.23.1
remove upstreamed patches, autoreconf no longer needed. 'next-hop-self all' patch refreshed to the upstream master git commit.
Diffstat (limited to 'main/quagga/1001-bgpd-implement-next-hop-self-all.patch')
-rw-r--r--main/quagga/1001-bgpd-implement-next-hop-self-all.patch55
1 files changed, 35 insertions, 20 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
index d8efde4980..dd5e3e1aa1 100644
--- a/main/quagga/1001-bgpd-implement-next-hop-self-all.patch
+++ b/main/quagga/1001-bgpd-implement-next-hop-self-all.patch
@@ -1,7 +1,7 @@
-From a672a1b8cacc0353d08770763461bc2a38cfa2cc Mon Sep 17 00:00:00 2001
+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 v2] bgpd: implement "next-hop-self all"
+Subject: [PATCH] bgpd: implement "next-hop-self all"
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -17,23 +17,18 @@ http://blog.ipspace.net/2014/04/changes-in-ibgp-next-hop-processing.html
Signed-off-by: Timo Teräs <timo.teras@iki.fi>
---
-Update to work have similar semantics as Cisco. The 'no' prefixed forms all cancel
-any active next-hop-self. And the regular form can be updated to change the form
-that is active.
-
-Also some stylistic improvements done.
-
bgpd/bgp_route.c | 3 ++-
bgpd/bgp_vty.c | 30 +++++++++++++++++++++++-------
bgpd/bgpd.c | 5 ++++-
bgpd/bgpd.h | 1 +
- 4 files changed, 30 insertions(+), 9 deletions(-)
+ doc/bgpd.texi | 8 +++++---
+ 5 files changed, 35 insertions(+), 12 deletions(-)
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
-index 335543e..e0ecd36 100644
+index f421ca5..232a6a1 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
-@@ -962,7 +962,8 @@ bgp_announce_check (struct bgp_info *ri, struct peer *peer, struct prefix *p,
+@@ -976,7 +976,8 @@ bgp_announce_check (struct bgp_info *ri, struct peer *peer, struct prefix *p,
}
/* next-hop-set */
@@ -44,10 +39,10 @@ index 335543e..e0ecd36 100644
&& ((p->family == AF_INET && attr->nexthop.s_addr)
#ifdef HAVE_IPV6
diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c
-index 0f28894..fcbe8e4 100644
+index 3c6973b..a818fe7 100644
--- a/bgpd/bgp_vty.c
+++ b/bgpd/bgp_vty.c
-@@ -2061,25 +2061,41 @@ DEFUN (no_neighbor_capability_orf_prefix,
+@@ -2093,25 +2093,41 @@ DEFUN (no_neighbor_capability_orf_prefix,
/* neighbor next-hop-self. */
DEFUN (neighbor_nexthop_self,
neighbor_nexthop_self_cmd,
@@ -94,13 +89,13 @@ index 0f28894..fcbe8e4 100644
+ 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 c9a04ff..fbc40df 100644
+index 19b96fa..4d374cc 100644
--- a/bgpd/bgpd.c
+++ b/bgpd/bgpd.c
-@@ -2331,6 +2331,7 @@ static const struct peer_flag_action peer_af_flag_action_list[] =
+@@ -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 },
@@ -108,7 +103,7 @@ index c9a04ff..fbc40df 100644
{ 0, 0, 0 }
};
-@@ -4965,7 +4966,9 @@ bgp_config_write_peer (struct vty *vty, struct bgp *bgp,
+@@ -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])
@@ -120,10 +115,10 @@ index c9a04ff..fbc40df 100644
/* 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 0746f0d..1e41c00 100644
+index a1b1273..eae803d 100644
--- a/bgpd/bgpd.h
+++ b/bgpd/bgpd.h
-@@ -405,6 +405,7 @@ struct peer
+@@ -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 */
@@ -131,6 +126,26 @@ index 0746f0d..1e41c00 100644
/* 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>}} {}
--
-1.9.2
+2.1.0