]> git.puffer.fish Git - mirror/frr.git/commitdiff
* bgp_open.c, bgp_packet.c, bgp_vty.c, bgpd.[ch]: Remove "no neighbor
authorhasso <hasso>
Tue, 1 Feb 2005 22:01:48 +0000 (22:01 +0000)
committerhasso <hasso>
Tue, 1 Feb 2005 22:01:48 +0000 (22:01 +0000)
  capability route-refresh" commands. Route refresh capability is sent
  anyway now. Preserve dummy deprecated commands.

[merge from GNU Zebra]

bgpd/ChangeLog
bgpd/bgp_open.c
bgpd/bgp_packet.c
bgpd/bgp_vty.c
bgpd/bgpd.c
bgpd/bgpd.h

index 10ccdf4e6361462c1d22a6d77d9356150ef6f6dd..67da8ff87bdddcd22fa64790cb7f266bcd87b1de 100644 (file)
@@ -1,3 +1,9 @@
+2005-02-01 Akihiro Mizutani <mizutani@net-chef.net>
+
+       * bgp_open.c, bgp_packet.c, bgp_vty.c, bgpd.[ch]: Remove "no neighbor
+         capability route-refresh" commands. Route refresh capability is sent
+         anyway now. Preserve dummy deprecated commands.
+
 2005-02-01 Akihiro Mizutani <mizutani@net-chef.net>
 
        * bgp_attr.c, bgp_snmp.c, bgp_vty.c, bgpd.[ch]: Remove support for old
index 86f48c44fca02f7220e3428889cb14d5500910bf..8321bcfacea29bc454bfa50c68077c597f58a951 100644 (file)
@@ -745,23 +745,6 @@ bgp_open_capability (struct stream *s, struct peer *peer)
       || CHECK_FLAG (peer->flags, PEER_FLAG_DONT_CAPABILITY))
     return;
 
-  /* When the peer is IPv4 unicast only, do not send capability. */
-  if (! peer->afc[AFI_IP][SAFI_MULTICAST] 
-      && ! peer->afc[AFI_IP][SAFI_MPLS_VPN]
-      && ! peer->afc[AFI_IP6][SAFI_UNICAST] 
-      && ! peer->afc[AFI_IP6][SAFI_MULTICAST]
-      && CHECK_FLAG (peer->flags, PEER_FLAG_NO_ROUTE_REFRESH_CAP)
-      && ! CHECK_FLAG (peer->af_flags[AFI_IP][SAFI_UNICAST],
-                      PEER_FLAG_ORF_PREFIX_SM)
-      && ! CHECK_FLAG (peer->af_flags[AFI_IP][SAFI_UNICAST],
-                      PEER_FLAG_ORF_PREFIX_RM)
-      && ! CHECK_FLAG (peer->af_flags[AFI_IP][SAFI_MULTICAST],
-                      PEER_FLAG_ORF_PREFIX_SM)
-      && ! CHECK_FLAG (peer->af_flags[AFI_IP][SAFI_MULTICAST],
-                      PEER_FLAG_ORF_PREFIX_RM)
-      && ! CHECK_FLAG (peer->flags, PEER_FLAG_DYNAMIC_CAPABILITY))
-    return;
-
   /* IPv4 unicast. */
   if (peer->afc[AFI_IP][SAFI_UNICAST])
     {
@@ -826,18 +809,15 @@ bgp_open_capability (struct stream *s, struct peer *peer)
 #endif /* HAVE_IPV6 */
 
   /* Route refresh. */
-  if (! CHECK_FLAG (peer->flags, PEER_FLAG_NO_ROUTE_REFRESH_CAP))
-    {
-      SET_FLAG (peer->cap, PEER_CAP_REFRESH_ADV);
-      stream_putc (s, BGP_OPEN_OPT_CAP);
-      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);
-      stream_putc (s, CAPABILITY_CODE_REFRESH_LEN + 2);
-      stream_putc (s, CAPABILITY_CODE_REFRESH);
-      stream_putc (s, CAPABILITY_CODE_REFRESH_LEN);
-    }
+  SET_FLAG (peer->cap, PEER_CAP_REFRESH_ADV);
+  stream_putc (s, BGP_OPEN_OPT_CAP);
+  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);
+  stream_putc (s, CAPABILITY_CODE_REFRESH_LEN + 2);
+  stream_putc (s, CAPABILITY_CODE_REFRESH);
+  stream_putc (s, CAPABILITY_CODE_REFRESH_LEN);
 
   /* ORF capability. */
   for (afi = AFI_IP ; afi < AFI_MAX ; afi++)
index 04e5bd30bc1edaf18854342922defdb05d6ea109..854b32cdf9dd83358a89639c16261e3213829bd3 100644 (file)
@@ -1037,22 +1037,6 @@ bgp_capability_send (struct peer *peer, afi_t afi, safi_t safi,
                   "Advertising" : "Removing", afi, safi);
     }
 
-  /* Encode Route Refresh capability. */
-  if (capability_code == CAPABILITY_CODE_REFRESH)
-    {
-      stream_putc (s, action);
-      stream_putc (s, CAPABILITY_CODE_REFRESH);
-      stream_putc (s, CAPABILITY_CODE_REFRESH_LEN);
-      stream_putc (s, action);
-      stream_putc (s, CAPABILITY_CODE_REFRESH_OLD);
-      stream_putc (s, CAPABILITY_CODE_REFRESH_LEN);
-
-      if (BGP_DEBUG (normal, NORMAL))
-        zlog_debug ("%s sending CAPABILITY has %s ROUTE-REFRESH capability",
-                  peer->host, action == CAPABILITY_ACTION_SET ?
-                  "Advertising" : "Removing");
-    }
-
   /* Set packet size. */
   length = bgp_packet_set_size (s);
 
@@ -2025,42 +2009,6 @@ bgp_capability_msg_parse (struct peer *peer, u_char *pnt, bgp_size_t length)
                } 
            }
         }
-      else if (cap.code == CAPABILITY_CODE_REFRESH
-              || cap.code == CAPABILITY_CODE_REFRESH_OLD)
-        {
-          /* Check length. */
-          if (cap.length != 0)
-            {
-              zlog_info ("%s Route Refresh Capability length error %d",
-                         peer->host, cap.length);
-              bgp_notify_send (peer, BGP_NOTIFY_CEASE, 0);
-              return -1;
-            }
-         
-          if (BGP_DEBUG (normal, NORMAL))
-            zlog_debug ("%s CAPABILITY has %s ROUTE-REFRESH capability(%s) for all address-families",
-                      peer->host,
-                      action == CAPABILITY_ACTION_SET
-                      ? "Advertising" : "Removing",
-                      cap.code == CAPABILITY_CODE_REFRESH_OLD
-                      ? "old" : "new");
-         
-          /* BGP refresh capability */
-         if (action == CAPABILITY_ACTION_SET)
-           {
-             if (cap.code == CAPABILITY_CODE_REFRESH_OLD)
-               SET_FLAG (peer->cap, PEER_CAP_REFRESH_OLD_RCV);
-             else
-               SET_FLAG (peer->cap, PEER_CAP_REFRESH_NEW_RCV);
-           }
-         else
-           {
-             if (cap.code == CAPABILITY_CODE_REFRESH_OLD)
-               UNSET_FLAG (peer->cap, PEER_CAP_REFRESH_OLD_RCV);
-             else
-               UNSET_FLAG (peer->cap, PEER_CAP_REFRESH_NEW_RCV);
-           }
-        }
       else
         {
           zlog_warn ("%s unrecognized capability code: %d - ignored",
index dcca1a395694009a302bc10d4b6dfb828f1c57c0..be57c126ebef99a62c6e439ff94cb560c4febc29 100644 (file)
@@ -1594,28 +1594,28 @@ DEFUN (no_neighbor_shutdown,
   return peer_flag_unset_vty (vty, argv[0], PEER_FLAG_SHUTDOWN);
 }
 \f
-/* neighbor capability route-refresh. */
-DEFUN (neighbor_capability_route_refresh,
-       neighbor_capability_route_refresh_cmd,
-       NEIGHBOR_CMD2 "capability route-refresh",
-       NEIGHBOR_STR
-       NEIGHBOR_ADDR_STR2
-       "Advertise capability to the peer\n"
-       "Advertise route-refresh capability to this neighbor\n")
+/* Deprecated neighbor capability route-refresh. */
+DEFUN_DEPRECATED (neighbor_capability_route_refresh,
+                 neighbor_capability_route_refresh_cmd,
+                 NEIGHBOR_CMD2 "capability route-refresh",
+                 NEIGHBOR_STR
+                 NEIGHBOR_ADDR_STR2
+                 "Advertise capability to the peer\n"
+                 "Advertise route-refresh capability to this neighbor\n")
 {
-  return peer_flag_unset_vty (vty, argv[0], PEER_FLAG_NO_ROUTE_REFRESH_CAP);
+  return CMD_SUCCESS;
 }
 
-DEFUN (no_neighbor_capability_route_refresh,
-       no_neighbor_capability_route_refresh_cmd,
-       NO_NEIGHBOR_CMD2 "capability route-refresh",
-       NO_STR
-       NEIGHBOR_STR
-       NEIGHBOR_ADDR_STR2
-       "Advertise capability to the peer\n"
-       "Advertise route-refresh capability to this neighbor\n")
+DEFUN_DEPRECATED (no_neighbor_capability_route_refresh,
+                 no_neighbor_capability_route_refresh_cmd,
+                 NO_NEIGHBOR_CMD2 "capability route-refresh",
+                 NO_STR
+                 NEIGHBOR_STR
+                 NEIGHBOR_ADDR_STR2
+                 "Advertise capability to the peer\n"
+                 "Advertise route-refresh capability to this neighbor\n")
 {
-  return peer_flag_set_vty (vty, argv[0], PEER_FLAG_NO_ROUTE_REFRESH_CAP);
+  return CMD_SUCCESS;
 }
 \f
 /* neighbor capability dynamic. */
@@ -8783,7 +8783,7 @@ bgp_vty_init ()
   install_element (BGP_NODE, &neighbor_shutdown_cmd);
   install_element (BGP_NODE, &no_neighbor_shutdown_cmd);
 
-  /* "neighbor capability route-refresh" commands.*/
+  /* Deprecated "neighbor capability route-refresh" commands.*/
   install_element (BGP_NODE, &neighbor_capability_route_refresh_cmd);
   install_element (BGP_NODE, &no_neighbor_capability_route_refresh_cmd);
 
index 1cce8c5e55c35797f8bfca46cdd4427681c63ab3..1a504767f9a0d462aaf469c0a706add804e9cf2a 100644 (file)
@@ -2067,7 +2067,6 @@ struct peer_flag_action peer_flag_action_list[] =
     { PEER_FLAG_DONT_CAPABILITY,          0, peer_change_none },
     { PEER_FLAG_OVERRIDE_CAPABILITY,      0, peer_change_none },
     { PEER_FLAG_STRICT_CAP_MATCH,         0, peer_change_none },
-    { PEER_FLAG_NO_ROUTE_REFRESH_CAP,     0, peer_change_reset },
     { PEER_FLAG_DYNAMIC_CAPABILITY,       0, peer_change_reset },
     { PEER_FLAG_ENFORCE_MULTIHOP,         0, peer_change_reset },
     { 0, 0, 0 }
@@ -2172,33 +2171,15 @@ peer_flag_modify_action (struct peer *peer, u_int32_t flag)
     }
   else if (peer->status == Established)
     {
-      if (flag == PEER_FLAG_NO_ROUTE_REFRESH_CAP
-         && CHECK_FLAG (peer->cap, PEER_CAP_DYNAMIC_RCV))
-       {
-         if (CHECK_FLAG (peer->flags, flag))
-           UNSET_FLAG (peer->cap, PEER_CAP_REFRESH_ADV);
-         else
-           SET_FLAG (peer->cap, PEER_CAP_REFRESH_ADV);
-
-         bgp_capability_send (peer, AFI_IP, SAFI_UNICAST,
-                              CAPABILITY_CODE_REFRESH,
-                              CHECK_FLAG (peer->flags, flag) ?
-                              CAPABILITY_ACTION_UNSET : CAPABILITY_ACTION_SET);
-       }
-      else
-       {
-         if (flag == PEER_FLAG_NO_ROUTE_REFRESH_CAP)
-           peer->last_reset = PEER_DOWN_CAPABILITY_CHANGE;
-         else if (flag == PEER_FLAG_DYNAMIC_CAPABILITY)
-           peer->last_reset = PEER_DOWN_CAPABILITY_CHANGE;
-         else if (flag == PEER_FLAG_PASSIVE)
-           peer->last_reset = PEER_DOWN_PASSIVE_CHANGE;
-         else if (flag == PEER_FLAG_ENFORCE_MULTIHOP)
-           peer->last_reset = PEER_DOWN_MULTIHOP_CHANGE;
+      if (flag == PEER_FLAG_DYNAMIC_CAPABILITY)
+       peer->last_reset = PEER_DOWN_CAPABILITY_CHANGE;
+      else if (flag == PEER_FLAG_PASSIVE)
+       peer->last_reset = PEER_DOWN_PASSIVE_CHANGE;
+      else if (flag == PEER_FLAG_ENFORCE_MULTIHOP)
+       peer->last_reset = PEER_DOWN_MULTIHOP_CHANGE;
 
-         bgp_notify_send (peer, BGP_NOTIFY_CEASE,
-                          BGP_NOTIFY_CEASE_CONFIG_CHANGE);
-       }
+      bgp_notify_send (peer, BGP_NOTIFY_CEASE,
+                      BGP_NOTIFY_CEASE_CONFIG_CHANGE);
     }
   else
     BGP_EVENT_ADD (peer, BGP_Stop);
@@ -4353,13 +4334,6 @@ bgp_config_write_peer (struct vty *vty, struct bgp *bgp,
          vty_out (vty, " neighbor %s weight %d%s", addr, peer->weight,
                   VTY_NEWLINE);
 
-      /* Route refresh. */
-      if (CHECK_FLAG (peer->flags, PEER_FLAG_NO_ROUTE_REFRESH_CAP))
-        if (! peer_group_active (peer) ||
-           ! CHECK_FLAG (g_peer->flags, PEER_FLAG_NO_ROUTE_REFRESH_CAP))
-         vty_out (vty, " no neighbor %s capability route-refresh%s", addr,
-         VTY_NEWLINE);
-
       /* Dynamic capability.  */
       if (CHECK_FLAG (peer->flags, PEER_FLAG_DYNAMIC_CAPABILITY))
         if (! peer_group_active (peer) ||
index 6fb66d3fae0956d69ec49c80859b40d66b4027d3..e14a8ad3c31ecc2c426b74be304df090e5bedaa0 100644 (file)
@@ -330,10 +330,9 @@ struct peer
 #define PEER_FLAG_DONT_CAPABILITY           (1 << 2) /* dont-capability */
 #define PEER_FLAG_OVERRIDE_CAPABILITY       (1 << 3) /* override-capability */
 #define PEER_FLAG_STRICT_CAP_MATCH          (1 << 4) /* strict-match */
-#define PEER_FLAG_NO_ROUTE_REFRESH_CAP      (1 << 5) /* route-refresh */
-#define PEER_FLAG_DYNAMIC_CAPABILITY        (1 << 6) /* dynamic capability */
-#define PEER_FLAG_ENFORCE_MULTIHOP          (1 << 7) /* enforce-multihop */
-#define PEER_FLAG_LOCAL_AS_NO_PREPEND       (1 << 8) /* local-as no-prepend */
+#define PEER_FLAG_DYNAMIC_CAPABILITY        (1 << 5) /* dynamic capability */
+#define PEER_FLAG_ENFORCE_MULTIHOP          (1 << 6) /* enforce-multihop */
+#define PEER_FLAG_LOCAL_AS_NO_PREPEND       (1 << 7) /* local-as no-prepend */
 
   /* Per AF configuration flags. */
   u_int32_t af_flags[AFI_MAX][SAFI_MAX];