diff --git a/bgpd/bgp_open.c b/bgpd/bgp_open.c index 0dd5463979..84f770f7db 100644 --- a/bgpd/bgp_open.c +++ b/bgpd/bgp_open.c @@ -36,8 +36,6 @@ static const struct message capcode_str[] = { {CAPABILITY_CODE_ADDPATH, "AddPath"}, {CAPABILITY_CODE_DYNAMIC, "Dynamic"}, {CAPABILITY_CODE_ENHE, "Extended Next Hop Encoding"}, - {CAPABILITY_CODE_DYNAMIC_OLD, "Dynamic (Old)"}, - {CAPABILITY_CODE_REFRESH_OLD, "Route Refresh (Old)"}, {CAPABILITY_CODE_ORF_OLD, "ORF (Old)"}, {CAPABILITY_CODE_FQDN, "FQDN"}, {CAPABILITY_CODE_ENHANCED_RR, "Enhanced Route Refresh"}, @@ -56,9 +54,7 @@ static const size_t cap_minsizes[] = { [CAPABILITY_CODE_AS4] = CAPABILITY_CODE_AS4_LEN, [CAPABILITY_CODE_ADDPATH] = CAPABILITY_CODE_ADDPATH_LEN, [CAPABILITY_CODE_DYNAMIC] = CAPABILITY_CODE_DYNAMIC_LEN, - [CAPABILITY_CODE_DYNAMIC_OLD] = CAPABILITY_CODE_DYNAMIC_LEN, [CAPABILITY_CODE_ENHE] = CAPABILITY_CODE_ENHE_LEN, - [CAPABILITY_CODE_REFRESH_OLD] = CAPABILITY_CODE_REFRESH_LEN, [CAPABILITY_CODE_ORF_OLD] = CAPABILITY_CODE_ORF_LEN, [CAPABILITY_CODE_FQDN] = CAPABILITY_CODE_MIN_FQDN_LEN, [CAPABILITY_CODE_ENHANCED_RR] = CAPABILITY_CODE_ENHANCED_LEN, @@ -81,9 +77,7 @@ static const size_t cap_modsizes[] = { [CAPABILITY_CODE_AS4] = 4, [CAPABILITY_CODE_ADDPATH] = 4, [CAPABILITY_CODE_DYNAMIC] = 1, - [CAPABILITY_CODE_DYNAMIC_OLD] = 1, [CAPABILITY_CODE_ENHE] = 6, - [CAPABILITY_CODE_REFRESH_OLD] = 1, [CAPABILITY_CODE_ORF_OLD] = 1, [CAPABILITY_CODE_FQDN] = 1, [CAPABILITY_CODE_ENHANCED_RR] = 1, @@ -1011,14 +1005,12 @@ static int bgp_capability_parse(struct peer *peer, size_t length, switch (caphdr.code) { case CAPABILITY_CODE_MP: case CAPABILITY_CODE_REFRESH: - case CAPABILITY_CODE_REFRESH_OLD: case CAPABILITY_CODE_ORF: case CAPABILITY_CODE_ORF_OLD: case CAPABILITY_CODE_RESTART: case CAPABILITY_CODE_AS4: case CAPABILITY_CODE_ADDPATH: case CAPABILITY_CODE_DYNAMIC: - case CAPABILITY_CODE_DYNAMIC_OLD: case CAPABILITY_CODE_ENHE: case CAPABILITY_CODE_FQDN: case CAPABILITY_CODE_ENHANCED_RR: @@ -1076,15 +1068,12 @@ static int bgp_capability_parse(struct peer *peer, size_t length, } } break; case CAPABILITY_CODE_ENHANCED_RR: - case CAPABILITY_CODE_REFRESH: - case CAPABILITY_CODE_REFRESH_OLD: { + case CAPABILITY_CODE_REFRESH: { /* BGP refresh capability */ if (caphdr.code == CAPABILITY_CODE_ENHANCED_RR) SET_FLAG(peer->cap, PEER_CAP_ENHANCED_RR_RCV); - else if (caphdr.code == CAPABILITY_CODE_REFRESH_OLD) - SET_FLAG(peer->cap, PEER_CAP_REFRESH_OLD_RCV); else - SET_FLAG(peer->cap, PEER_CAP_REFRESH_NEW_RCV); + SET_FLAG(peer->cap, PEER_CAP_REFRESH_RCV); } break; case CAPABILITY_CODE_ORF: case CAPABILITY_CODE_ORF_OLD: @@ -1097,7 +1086,6 @@ static int bgp_capability_parse(struct peer *peer, size_t length, ret = bgp_capability_llgr(peer, &caphdr); break; case CAPABILITY_CODE_DYNAMIC: - case CAPABILITY_CODE_DYNAMIC_OLD: SET_FLAG(peer->cap, PEER_CAP_DYNAMIC_RCV); break; case CAPABILITY_CODE_AS4: @@ -1769,11 +1757,6 @@ uint16_t bgp_open_capability(struct stream *s, struct peer *peer, /* Route refresh. */ SET_FLAG(peer->cap, PEER_CAP_REFRESH_ADV); stream_putc(s, BGP_OPEN_OPT_CAP); - ext_opt_params ? stream_putw(s, CAPABILITY_CODE_REFRESH_LEN + 2) - : stream_putc(s, CAPABILITY_CODE_REFRESH_LEN + 2); - stream_putc(s, CAPABILITY_CODE_REFRESH_OLD); - stream_putc(s, CAPABILITY_CODE_REFRESH_LEN); - stream_putc(s, BGP_OPEN_OPT_CAP); ext_opt_params ? stream_putw(s, CAPABILITY_CODE_REFRESH_LEN + 2) : stream_putc(s, CAPABILITY_CODE_REFRESH_LEN + 2); stream_putc(s, CAPABILITY_CODE_REFRESH); @@ -1910,12 +1893,6 @@ uint16_t bgp_open_capability(struct stream *s, struct peer *peer, if (CHECK_FLAG(peer->flags, PEER_FLAG_DYNAMIC_CAPABILITY)) { SET_FLAG(peer->cap, PEER_CAP_DYNAMIC_ADV); stream_putc(s, BGP_OPEN_OPT_CAP); - ext_opt_params - ? stream_putw(s, CAPABILITY_CODE_DYNAMIC_LEN + 2) - : stream_putc(s, CAPABILITY_CODE_DYNAMIC_LEN + 2); - stream_putc(s, CAPABILITY_CODE_DYNAMIC_OLD); - stream_putc(s, CAPABILITY_CODE_DYNAMIC_LEN); - stream_putc(s, BGP_OPEN_OPT_CAP); ext_opt_params ? stream_putw(s, CAPABILITY_CODE_DYNAMIC_LEN + 2) : stream_putc(s, CAPABILITY_CODE_DYNAMIC_LEN + 2); diff --git a/bgpd/bgp_open.h b/bgpd/bgp_open.h index 7e3d07876d..c767100293 100644 --- a/bgpd/bgp_open.h +++ b/bgpd/bgp_open.h @@ -31,7 +31,6 @@ struct graceful_restart_af { #define CAPABILITY_CODE_ORF 3 /* Cooperative Route Filtering Capability */ #define CAPABILITY_CODE_RESTART 64 /* Graceful Restart Capability */ #define CAPABILITY_CODE_AS4 65 /* 4-octet AS number Capability */ -#define CAPABILITY_CODE_DYNAMIC_OLD 66 /* Dynamic Capability, deprecated since 2003 */ #define CAPABILITY_CODE_DYNAMIC 67 /* Dynamic Capability */ #define CAPABILITY_CODE_ADDPATH 69 /* Addpath Capability */ #define CAPABILITY_CODE_ENHANCED_RR 70 /* Enhanced Route Refresh capability */ @@ -39,7 +38,6 @@ struct graceful_restart_af { #define CAPABILITY_CODE_FQDN 73 /* Advertise hostname capability */ #define CAPABILITY_CODE_SOFT_VERSION 75 /* Software Version capability */ #define CAPABILITY_CODE_ENHE 5 /* Extended Next Hop Encoding */ -#define CAPABILITY_CODE_REFRESH_OLD 128 /* Route Refresh Capability(cisco) */ #define CAPABILITY_CODE_ORF_OLD 130 /* Cooperative Route Filtering Capability(cisco) */ #define CAPABILITY_CODE_EXT_MESSAGE 6 /* Extended Message Support */ #define CAPABILITY_CODE_ROLE 9 /* Role Capability */ diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c index 0cac58ade1..d30ba68347 100644 --- a/bgpd/bgp_packet.c +++ b/bgpd/bgp_packet.c @@ -1103,7 +1103,7 @@ void bgp_route_refresh_send(struct peer *peer, afi_t afi, safi_t safi, s = stream_new(peer->max_packet_size); /* Make BGP update packet. */ - if (CHECK_FLAG(peer->cap, PEER_CAP_REFRESH_NEW_RCV)) + if (CHECK_FLAG(peer->cap, PEER_CAP_REFRESH_RCV)) bgp_packet_set_marker(s, BGP_MSG_ROUTE_REFRESH_NEW); else bgp_packet_set_marker(s, BGP_MSG_ROUTE_REFRESH_OLD); diff --git a/bgpd/bgp_routemap.c b/bgpd/bgp_routemap.c index 2f6480b753..c0365d8e3b 100644 --- a/bgpd/bgp_routemap.c +++ b/bgpd/bgp_routemap.c @@ -4192,10 +4192,7 @@ static void bgp_route_map_process_peer(const char *rmap_name, safi2str(safi), peer->host); bgp_soft_reconfig_in(peer, afi, safi); - } else if (CHECK_FLAG(peer->cap, - PEER_CAP_REFRESH_OLD_RCV) - || CHECK_FLAG(peer->cap, - PEER_CAP_REFRESH_NEW_RCV)) { + } else if (CHECK_FLAG(peer->cap, PEER_CAP_REFRESH_RCV)) { if (bgp_debug_update(peer, NULL, NULL, 1)) zlog_debug( "Processing route_map %s(%s:%s) update on peer %s (inbound, route-refresh)", diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c index e1cc59a318..cf74919e97 100644 --- a/bgpd/bgp_vty.c +++ b/bgpd/bgp_vty.c @@ -14015,46 +14015,19 @@ static void bgp_show_peer(struct vty *vty, struct peer *p, bool use_json, /* Route Refresh */ if (CHECK_FLAG(p->cap, PEER_CAP_REFRESH_ADV) || - CHECK_FLAG(p->cap, PEER_CAP_REFRESH_NEW_RCV) || - CHECK_FLAG(p->cap, PEER_CAP_REFRESH_OLD_RCV)) { + CHECK_FLAG(p->cap, PEER_CAP_REFRESH_RCV)) { if (CHECK_FLAG(p->cap, PEER_CAP_REFRESH_ADV) && - (CHECK_FLAG(p->cap, - PEER_CAP_REFRESH_NEW_RCV) || - CHECK_FLAG(p->cap, - PEER_CAP_REFRESH_OLD_RCV))) { - if (CHECK_FLAG( - p->cap, - PEER_CAP_REFRESH_OLD_RCV) && - CHECK_FLAG( - p->cap, - PEER_CAP_REFRESH_NEW_RCV)) - json_object_string_add( - json_cap, - "routeRefresh", - "advertisedAndReceivedOldNew"); - else { - if (CHECK_FLAG( - p->cap, - PEER_CAP_REFRESH_OLD_RCV)) - json_object_string_add( - json_cap, - "routeRefresh", - "advertisedAndReceivedOld"); - else - json_object_string_add( - json_cap, - "routeRefresh", - "advertisedAndReceivedNew"); - } - } else if (CHECK_FLAG(p->cap, - PEER_CAP_REFRESH_ADV)) + CHECK_FLAG(p->cap, PEER_CAP_REFRESH_RCV)) + json_object_string_add(json_cap, + "routeRefresh", + "advertisedAndReceived"); + else if (CHECK_FLAG(p->cap, + PEER_CAP_REFRESH_ADV)) json_object_string_add(json_cap, "routeRefresh", "advertised"); else if (CHECK_FLAG(p->cap, - PEER_CAP_REFRESH_NEW_RCV) || - CHECK_FLAG(p->cap, - PEER_CAP_REFRESH_OLD_RCV)) + PEER_CAP_REFRESH_RCV)) json_object_string_add(json_cap, "routeRefresh", "received"); @@ -14456,33 +14429,16 @@ static void bgp_show_peer(struct vty *vty, struct peer *p, bool use_json, /* Route Refresh */ if (CHECK_FLAG(p->cap, PEER_CAP_REFRESH_ADV) || - CHECK_FLAG(p->cap, PEER_CAP_REFRESH_NEW_RCV) || - CHECK_FLAG(p->cap, PEER_CAP_REFRESH_OLD_RCV)) { + CHECK_FLAG(p->cap, PEER_CAP_REFRESH_RCV)) { vty_out(vty, " Route refresh:"); if (CHECK_FLAG(p->cap, PEER_CAP_REFRESH_ADV)) vty_out(vty, " advertised"); - if (CHECK_FLAG(p->cap, - PEER_CAP_REFRESH_NEW_RCV) || - CHECK_FLAG(p->cap, - PEER_CAP_REFRESH_OLD_RCV)) - vty_out(vty, " %sreceived(%s)", + if (CHECK_FLAG(p->cap, PEER_CAP_REFRESH_RCV)) + vty_out(vty, " %sreceived", CHECK_FLAG(p->cap, PEER_CAP_REFRESH_ADV) ? "and " - : "", - (CHECK_FLAG( - p->cap, - PEER_CAP_REFRESH_OLD_RCV) && - CHECK_FLAG( - p->cap, - PEER_CAP_REFRESH_NEW_RCV)) - ? "old & new" - : CHECK_FLAG( - p->cap, - PEER_CAP_REFRESH_OLD_RCV) - ? "old" - : "new"); - + : ""); vty_out(vty, "\n"); } diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c index 5690b032cf..5544c59df8 100644 --- a/bgpd/bgpd.c +++ b/bgpd/bgpd.c @@ -4414,8 +4414,7 @@ void peer_change_action(struct peer *peer, afi_t afi, safi_t safi, bgp_notify_send(peer, BGP_NOTIFY_CEASE, BGP_NOTIFY_CEASE_CONFIG_CHANGE); } else if (type == peer_change_reset_in) { - if (CHECK_FLAG(peer->cap, PEER_CAP_REFRESH_OLD_RCV) - || CHECK_FLAG(peer->cap, PEER_CAP_REFRESH_NEW_RCV)) + if (CHECK_FLAG(peer->cap, PEER_CAP_REFRESH_RCV)) bgp_route_refresh_send(peer, afi, safi, 0, 0, 0, BGP_ROUTE_REFRESH_NORMAL); else { @@ -5718,8 +5717,7 @@ void peer_on_policy_change(struct peer *peer, afi_t afi, safi_t safi, if (bgp_soft_reconfig_in(peer, afi, safi)) return; - if (CHECK_FLAG(peer->cap, PEER_CAP_REFRESH_OLD_RCV) || - CHECK_FLAG(peer->cap, PEER_CAP_REFRESH_NEW_RCV)) + if (CHECK_FLAG(peer->cap, PEER_CAP_REFRESH_RCV)) bgp_route_refresh_send(peer, afi, safi, 0, 0, 0, BGP_ROUTE_REFRESH_NORMAL); } @@ -7986,8 +7984,7 @@ int peer_clear_soft(struct peer *peer, afi_t afi, safi_t safi, /* If neighbor has route refresh capability, send route refresh message to the peer. */ - if (CHECK_FLAG(peer->cap, PEER_CAP_REFRESH_OLD_RCV) - || CHECK_FLAG(peer->cap, PEER_CAP_REFRESH_NEW_RCV)) + if (CHECK_FLAG(peer->cap, PEER_CAP_REFRESH_RCV)) bgp_route_refresh_send( peer, afi, safi, 0, 0, 0, BGP_ROUTE_REFRESH_NORMAL); diff --git a/bgpd/bgpd.h b/bgpd/bgpd.h index 50cd9d17f7..b8208cecee 100644 --- a/bgpd/bgpd.h +++ b/bgpd/bgpd.h @@ -1242,8 +1242,7 @@ struct peer { /* Capability flags (reset in bgp_stop) */ uint32_t cap; #define PEER_CAP_REFRESH_ADV (1U << 0) /* refresh advertised */ -#define PEER_CAP_REFRESH_OLD_RCV (1U << 1) /* refresh old received */ -#define PEER_CAP_REFRESH_NEW_RCV (1U << 2) /* refresh rfc received */ +#define PEER_CAP_REFRESH_RCV (1U << 2) /* refresh rfc received */ #define PEER_CAP_DYNAMIC_ADV (1U << 3) /* dynamic advertised */ #define PEER_CAP_DYNAMIC_RCV (1U << 4) /* dynamic received */ #define PEER_CAP_RESTART_ADV (1U << 5) /* restart advertised */