-> "disable-connected-check".
[merge from GNU Zebra]
-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
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;
&& 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);
&& 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);
"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,
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);
}
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)
}
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)
{ 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 }
};
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,
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)
#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) */