]> git.proxmox.com Git - mirror_frr.git/commitdiff
* bgp_route.c, bgp_vty.c, bgp_zebra.c, bgpd.[ch]: "enforce-multihop"
authorhasso <hasso>
Wed, 2 Feb 2005 14:50:11 +0000 (14:50 +0000)
committerhasso <hasso>
Wed, 2 Feb 2005 14:50:11 +0000 (14:50 +0000)
  -> "disable-connected-check".

[merge from GNU Zebra]

bgpd/ChangeLog
bgpd/bgp_route.c
bgpd/bgp_vty.c
bgpd/bgp_zebra.c
bgpd/bgpd.c
bgpd/bgpd.h

index c867b9fd0e74b189183021269f2a1c2b5d46f34b..0e2d528265c40b4b1716062f302026f5df4e79fa 100644 (file)
@@ -1,4 +1,9 @@
-2005-02-02 Akihiro Mizutani <mizutani@net-chef.net
+2005-02-02 Akihiro Mizutani <mizutani@net-chef.net>
+
+       * bgp_route.c, bgp_vty.c, bgp_zebra.c, bgpd.[ch]: "enforce-multihop"
+         -> "disable-connected-check".
+
+2005-02-02 Akihiro Mizutani <mizutani@net-chef.net>
 
        * bgp_fsm.c, bgp_open.c, bgp_packet.c, bgp_route.[ch], bgp_vty.c,
          bgpd.[ch]: Add BGP_INFO_STALE flag and end-of-rib support. "bgp
index 2453cffc7e9970844b25793fc559238c6c2a718c..a3be9f0d8a21aa9ac2e87adac1a1b3e403e3025d 100644 (file)
@@ -1726,7 +1726,7 @@ bgp_update_main (struct peer *peer, struct prefix *p, struct attr *attr,
         discard it.  */
       if (peer_sort (peer) == BGP_PEER_EBGP && peer->ttl == 1
          && ! bgp_nexthop_check_ebgp (afi, &new_attr)
-         && ! CHECK_FLAG (peer->flags, PEER_FLAG_ENFORCE_MULTIHOP))
+         && ! CHECK_FLAG (peer->flags, PEER_FLAG_DISABLE_CONNECTED_CHECK))
        {
          reason = "non-connected next-hop;";
          goto filtered;
@@ -1852,7 +1852,7 @@ bgp_update_main (struct peer *peer, struct prefix *p, struct attr *attr,
          && safi == SAFI_UNICAST 
          && (peer_sort (peer) == BGP_PEER_IBGP
              || (peer_sort (peer) == BGP_PEER_EBGP && peer->ttl != 1)
-             || CHECK_FLAG (peer->flags, PEER_FLAG_ENFORCE_MULTIHOP)))
+             || CHECK_FLAG (peer->flags, PEER_FLAG_DISABLE_CONNECTED_CHECK)))
        {
          if (bgp_nexthop_lookup (afi, peer, ri, NULL, NULL))
            SET_FLAG (ri->flags, BGP_INFO_VALID);
@@ -1899,7 +1899,7 @@ bgp_update_main (struct peer *peer, struct prefix *p, struct attr *attr,
       && safi == SAFI_UNICAST
       && (peer_sort (peer) == BGP_PEER_IBGP
          || (peer_sort (peer) == BGP_PEER_EBGP && peer->ttl != 1)
-         || CHECK_FLAG (peer->flags, PEER_FLAG_ENFORCE_MULTIHOP)))
+         || CHECK_FLAG (peer->flags, PEER_FLAG_DISABLE_CONNECTED_CHECK)))
     {
       if (bgp_nexthop_lookup (afi, peer, new, NULL, NULL))
        SET_FLAG (new->flags, BGP_INFO_VALID);
index 8ee47c7e9c1cbeac64e62a72b7add7767f048f5d..58aec8ed7fd34a407a87e6a5f91c9d42065b7425 100644 (file)
@@ -2604,27 +2604,44 @@ ALIAS (no_neighbor_ebgp_multihop,
        "Allow EBGP neighbors not on directly connected networks\n"
        "maximum hop count\n")
 \f
+/* disable-connected-check */
+DEFUN (neighbor_disable_connected_check,
+       neighbor_disable_connected_check_cmd,
+       NEIGHBOR_CMD2 "disable-connected-check",
+       NEIGHBOR_STR
+       NEIGHBOR_ADDR_STR2
+       "one-hop away EBGP peer using loopback address\n")
+{
+  return peer_flag_set_vty (vty, argv[0], PEER_FLAG_DISABLE_CONNECTED_CHECK);
+}
+
+DEFUN (no_neighbor_disable_connected_check,
+       no_neighbor_disable_connected_check_cmd,
+       NO_NEIGHBOR_CMD2 "disable-connected-check",
+       NO_STR
+       NEIGHBOR_STR
+       NEIGHBOR_ADDR_STR2
+       "one-hop away EBGP peer using loopback address\n")
+{
+  return peer_flag_unset_vty (vty, argv[0], PEER_FLAG_DISABLE_CONNECTED_CHECK);
+}
+
 /* Enforce multihop.  */
-DEFUN (neighbor_enforce_multihop,
+ALIAS (neighbor_disable_connected_check,
        neighbor_enforce_multihop_cmd,
        NEIGHBOR_CMD2 "enforce-multihop",
        NEIGHBOR_STR
        NEIGHBOR_ADDR_STR2
-       "Enforce EBGP neighbors perform multihop\n")
-{
-  return peer_flag_set_vty (vty, argv[0], PEER_FLAG_ENFORCE_MULTIHOP);
-}
+       "Enforce EBGP neighbors perform multihop\n");
 
-DEFUN (no_neighbor_enforce_multihop,
+/* Enforce multihop.  */
+ALIAS (no_neighbor_disable_connected_check,
        no_neighbor_enforce_multihop_cmd,
        NO_NEIGHBOR_CMD2 "enforce-multihop",
        NO_STR
        NEIGHBOR_STR
        NEIGHBOR_ADDR_STR2
-       "Enforce EBGP neighbors perform multihop\n")
-{
-  return peer_flag_unset_vty (vty, argv[0], PEER_FLAG_ENFORCE_MULTIHOP);
-}
+       "Enforce EBGP neighbors perform multihop\n");
 \f
 DEFUN (neighbor_description,
        neighbor_description_cmd,
@@ -8918,7 +8935,9 @@ bgp_vty_init ()
   install_element (BGP_NODE, &no_neighbor_ebgp_multihop_cmd);
   install_element (BGP_NODE, &no_neighbor_ebgp_multihop_ttl_cmd);
 
-  /* "neighbor enforce-multihop" commands.  */
+  /* "neighbor disable-connected-check" commands.  */
+  install_element (BGP_NODE, &neighbor_disable_connected_check_cmd);
+  install_element (BGP_NODE, &no_neighbor_disable_connected_check_cmd);
   install_element (BGP_NODE, &neighbor_enforce_multihop_cmd);
   install_element (BGP_NODE, &no_neighbor_enforce_multihop_cmd);
 
index 752617d4c2d723647096e6d903aaa3d33d2b6d4e..f54608a3762efa0139bd6bb884ce6be503cf9c9f 100644 (file)
@@ -635,7 +635,7 @@ bgp_zebra_announce (struct prefix *p, struct bgp_info *info, struct bgp *bgp)
     }
 
   if ((peer_sort (peer) == BGP_PEER_EBGP && peer->ttl != 1)
-      || CHECK_FLAG (peer->flags, PEER_FLAG_ENFORCE_MULTIHOP))
+      || CHECK_FLAG (peer->flags, PEER_FLAG_DISABLE_CONNECTED_CHECK))
     SET_FLAG (flags, ZEBRA_FLAG_INTERNAL);
 
   if (p->family == AF_INET)
@@ -746,7 +746,7 @@ bgp_zebra_withdraw (struct prefix *p, struct bgp_info *info)
     }
 
   if ((peer_sort (peer) == BGP_PEER_EBGP && peer->ttl != 1)
-      || CHECK_FLAG (peer->flags, PEER_FLAG_ENFORCE_MULTIHOP))
+      || CHECK_FLAG (peer->flags, PEER_FLAG_DISABLE_CONNECTED_CHECK))
     SET_FLAG (flags, ZEBRA_FLAG_INTERNAL);
 
   if (p->family == AF_INET)
index 279c54671b00ce52f08e0b8c983eca47be098064..f3caf46e9bc06dd326f89ea17bd229c8149cfa33 100644 (file)
@@ -2101,7 +2101,7 @@ struct peer_flag_action peer_flag_action_list[] =
     { PEER_FLAG_OVERRIDE_CAPABILITY,      0, peer_change_none },
     { PEER_FLAG_STRICT_CAP_MATCH,         0, peer_change_none },
     { PEER_FLAG_DYNAMIC_CAPABILITY,       0, peer_change_reset },
-    { PEER_FLAG_ENFORCE_MULTIHOP,         0, peer_change_reset },
+    { PEER_FLAG_DISABLE_CONNECTED_CHECK,  0, peer_change_reset },
     { 0, 0, 0 }
   };
 
@@ -2214,7 +2214,7 @@ peer_flag_modify_action (struct peer *peer, u_int32_t flag)
        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)
+      else if (flag == PEER_FLAG_DISABLE_CONNECTED_CHECK)
        peer->last_reset = PEER_DOWN_MULTIHOP_CHANGE;
 
       bgp_notify_send (peer, BGP_NOTIFY_CEASE,
@@ -4331,11 +4331,11 @@ bgp_config_write_peer (struct vty *vty, struct bgp *bgp,
          vty_out (vty, " neighbor %s ebgp-multihop %d%s", addr, peer->ttl,
                   VTY_NEWLINE);
 
-      /* Enforce multihop.  */
-      if (CHECK_FLAG (peer->flags, PEER_FLAG_ENFORCE_MULTIHOP))
+      /* disable-connected-check.  */
+      if (CHECK_FLAG (peer->flags, PEER_FLAG_DISABLE_CONNECTED_CHECK))
        if (! peer_group_active (peer) ||
-           ! CHECK_FLAG (g_peer->flags, PEER_FLAG_ENFORCE_MULTIHOP))
-         vty_out (vty, " neighbor %s enforce-multihop%s", addr, VTY_NEWLINE);
+           ! CHECK_FLAG (g_peer->flags, PEER_FLAG_DISABLE_CONNECTED_CHECK))
+         vty_out (vty, " neighbor %s disable-connected-check%s", addr, VTY_NEWLINE);
 
       /* Update-source. */
       if (peer->update_if)
index f8a362749a48907efcc70c77ce5ea6bd225180ff..a6c11ffae7a8c9ec7a6ca1940703bbdd63bb8fff 100644 (file)
@@ -329,7 +329,7 @@ struct peer
 #define PEER_FLAG_OVERRIDE_CAPABILITY       (1 << 3) /* override-capability */
 #define PEER_FLAG_STRICT_CAP_MATCH          (1 << 4) /* strict-match */
 #define PEER_FLAG_DYNAMIC_CAPABILITY        (1 << 5) /* dynamic capability */
-#define PEER_FLAG_ENFORCE_MULTIHOP          (1 << 6) /* enforce-multihop */
+#define PEER_FLAG_DISABLE_CONNECTED_CHECK   (1 << 6) /* disable-connected-check */
 #define PEER_FLAG_LOCAL_AS_NO_PREPEND       (1 << 7) /* local-as no-prepend */
 
   /* NSF mode (graceful restart) */