From 3cc3cc2a0c120341060d6098c1d320e18df49474 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= Date: Wed, 27 Aug 2014 08:30:38 +0300 Subject: 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. --- .../1001-bgpd-implement-next-hop-self-all.patch | 55 ++++++++++++++-------- 1 file changed, 35 insertions(+), 20 deletions(-) (limited to 'main/quagga/1001-bgpd-implement-next-hop-self-all.patch') 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?= 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 --- -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{}} {} -- -1.9.2 +2.1.0 -- cgit v1.2.3