case AFI_L2VPN:
return BGP_EVPN_NODE;
case AFI_LINKSTATE:
- switch (safi) {
- case SAFI_LINKSTATE:
- return BGP_LS_NODE;
- case SAFI_LINKSTATE_VPN: /* Not yet supported */
- case SAFI_UNICAST:
- case SAFI_MULTICAST:
- case SAFI_LABELED_UNICAST:
- case SAFI_MPLS_VPN:
- case SAFI_FLOWSPEC:
- case SAFI_UNSPEC:
- case SAFI_ENCAP:
- case SAFI_EVPN:
- case SAFI_MAX:
- return BGP_IPV4_NODE;
- }
- break;
+ /* TODO */
case AFI_UNSPEC:
case AFI_MAX:
// We should never be here but to clarify the switch statement..
} else if (afi == AFI_L2VPN) {
if (safi == SAFI_EVPN)
return "L2VPN EVPN";
- } else if (afi == AFI_LINKSTATE) {
- if (safi == SAFI_LINKSTATE)
- return "Link State";
- if (safi == SAFI_LINKSTATE_VPN)
- return "Link State VPN";
}
return "Unknown";
} else if (afi == AFI_L2VPN) {
if (safi == SAFI_EVPN)
return "l2VpnEvpn";
- } else if (afi == AFI_LINKSTATE) {
- if (safi == SAFI_LINKSTATE)
- return "linkState";
- if (safi == SAFI_LINKSTATE_VPN)
- return "linkStateVPN";
}
return "Unknown";
case BGP_EVPN_NODE:
afi = AFI_L2VPN;
break;
- case BGP_LS_NODE:
- afi = AFI_LINKSTATE;
- break;
default:
afi = AFI_IP;
break;
case BGP_FLOWSPECV6_NODE:
safi = SAFI_FLOWSPEC;
break;
- case BGP_LS_NODE:
- safi = SAFI_LINKSTATE;
- break;
default:
safi = SAFI_UNICAST;
break;
safi = SAFI_LABELED_UNICAST;
else if (strmatch(safi_str, "flowspec"))
safi = SAFI_FLOWSPEC;
- else if (strmatch(safi_str, "link-state"))
- safi = SAFI_LINKSTATE;
- else if (strmatch(safi_str, "link-state-vpn"))
- safi = SAFI_LINKSTATE_VPN;
return safi;
}
}
break;
case AFI_LINKSTATE:
- switch (safi) {
- case SAFI_EVPN:
- case SAFI_UNICAST:
- case SAFI_MULTICAST:
- case SAFI_MPLS_VPN:
- case SAFI_ENCAP:
- case SAFI_LABELED_UNICAST:
- case SAFI_FLOWSPEC:
- case SAFI_UNSPEC:
- case SAFI_MAX:
- case SAFI_LINKSTATE:
- return "link-state";
- case SAFI_LINKSTATE_VPN:
- return "link-state-vpn";
- default:
- return "unknown-afi/safi";
- }
- break;
+ /* TODO */
case AFI_UNSPEC:
case AFI_MAX:
return "unknown-afi/safi";
return CMD_SUCCESS;
}
-DEFUN_NOSH(address_family_linkstate, address_family_linkstate_cmd,
- "address-family link-state link-state",
- "Enter Address Family command mode\n" BGP_AF_STR BGP_AF_MODIFIER_STR)
-{
- VTY_DECLVAR_CONTEXT(bgp, bgp);
- vty->node = BGP_LS_NODE;
- return CMD_SUCCESS;
-}
-
DEFUN_NOSH (bgp_segment_routing_srv6,
bgp_segment_routing_srv6_cmd,
"segment-routing srv6",
|| vty->node == BGP_IPV6L_NODE || vty->node == BGP_VPNV6_NODE
|| vty->node == BGP_EVPN_NODE
|| vty->node == BGP_FLOWSPECV4_NODE
- || vty->node == BGP_FLOWSPECV6_NODE
- || vty->node == BGP_LS_NODE)
+ || vty->node == BGP_FLOWSPECV6_NODE)
vty->node = BGP_NODE;
return CMD_SUCCESS;
}
} else if (afi == AFI_L2VPN) {
if (safi == SAFI_EVPN)
vty_frame(vty, "l2vpn evpn");
- } else if (afi == AFI_LINKSTATE) {
- if (safi == SAFI_LINKSTATE)
- vty_frame(vty, "link-state link-state");
- else if (safi == SAFI_LINKSTATE_VPN)
- vty_frame(vty, "link-state link-state-vpn");
}
vty_frame(vty, "\n");
/* EVPN configuration. */
bgp_config_write_family(vty, bgp, AFI_L2VPN, SAFI_EVPN);
- bgp_config_write_family(vty, bgp, AFI_LINKSTATE,
- SAFI_LINKSTATE);
- bgp_config_write_family(vty, bgp, AFI_LINKSTATE,
- SAFI_LINKSTATE_VPN);
-
hook_call(bgp_inst_config_write, bgp, vty);
#ifdef ENABLE_BGP_VNC
.prompt = "%s(config-router-srv6)# ",
};
-static struct cmd_node bgp_ls_node = {
- .name = "bgp link-state",
- .node = BGP_LS_NODE,
- .parent_node = BGP_NODE,
- .prompt = "%s(config-router-af-ls)# ",
-};
-
static void community_list_vty(void);
static void bgp_ac_peergroup(vector comps, struct cmd_token *token)
install_node(&bgp_flowspecv4_node);
install_node(&bgp_flowspecv6_node);
install_node(&bgp_srv6_node);
- install_node(&bgp_ls_node);
/* Install default VTY commands to new nodes. */
install_default(BGP_NODE);
install_default(BGP_EVPN_NODE);
install_default(BGP_EVPN_VNI_NODE);
install_default(BGP_SRV6_NODE);
- install_default(BGP_LS_NODE);
/* "global bgp inq-limit command */
install_element(CONFIG_NODE, &bgp_inq_limit_cmd);
install_element(BGP_IPV6L_NODE, &bgp_maxpaths_ibgp_cluster_cmd);
install_element(BGP_IPV6L_NODE, &no_bgp_maxpaths_ibgp_cmd);
- install_element(BGP_LS_NODE, &bgp_maxpaths_cmd);
- install_element(BGP_LS_NODE, &no_bgp_maxpaths_cmd);
- install_element(BGP_LS_NODE, &bgp_maxpaths_ibgp_cmd);
- install_element(BGP_LS_NODE, &no_bgp_maxpaths_ibgp_cmd);
- install_element(BGP_LS_NODE, &bgp_maxpaths_ibgp_cluster_cmd);
-
-
/* "timers bgp" commands. */
install_element(BGP_NODE, &bgp_timers_cmd);
install_element(BGP_NODE, &no_bgp_timers_cmd);
install_element(BGP_FLOWSPECV4_NODE, &neighbor_activate_cmd);
install_element(BGP_FLOWSPECV6_NODE, &neighbor_activate_cmd);
install_element(BGP_EVPN_NODE, &neighbor_activate_cmd);
- install_element(BGP_LS_NODE, &neighbor_activate_cmd);
/* "no neighbor activate" commands. */
install_element(BGP_NODE, &no_neighbor_activate_hidden_cmd);
install_element(BGP_FLOWSPECV4_NODE, &no_neighbor_activate_cmd);
install_element(BGP_FLOWSPECV6_NODE, &no_neighbor_activate_cmd);
install_element(BGP_EVPN_NODE, &no_neighbor_activate_cmd);
- install_element(BGP_LS_NODE, &no_neighbor_activate_cmd);
/* "neighbor peer-group" set commands. */
install_element(BGP_NODE, &neighbor_set_peer_group_cmd);
&neighbor_set_peer_group_hidden_cmd);
install_element(BGP_FLOWSPECV6_NODE,
&neighbor_set_peer_group_hidden_cmd);
- install_element(BGP_LS_NODE, &neighbor_set_peer_group_hidden_cmd);
-
/* "no neighbor peer-group unset" commands. */
install_element(BGP_NODE, &no_neighbor_set_peer_group_cmd);
&no_neighbor_set_peer_group_hidden_cmd);
install_element(BGP_FLOWSPECV6_NODE,
&no_neighbor_set_peer_group_hidden_cmd);
- install_element(BGP_LS_NODE, &no_neighbor_set_peer_group_hidden_cmd);
/* "neighbor softreconfiguration inbound" commands.*/
install_element(BGP_NODE, &neighbor_soft_reconfiguration_hidden_cmd);
&no_neighbor_soft_reconfiguration_cmd);
install_element(BGP_EVPN_NODE, &neighbor_soft_reconfiguration_cmd);
install_element(BGP_EVPN_NODE, &no_neighbor_soft_reconfiguration_cmd);
- install_element(BGP_LS_NODE, &neighbor_soft_reconfiguration_cmd);
- install_element(BGP_LS_NODE, &no_neighbor_soft_reconfiguration_cmd);
/* "neighbor attribute-unchanged" commands. */
install_element(BGP_NODE, &neighbor_attr_unchanged_hidden_cmd);
install_element(BGP_VPNV4_NODE, &no_neighbor_attr_unchanged_cmd);
install_element(BGP_VPNV6_NODE, &neighbor_attr_unchanged_cmd);
install_element(BGP_VPNV6_NODE, &no_neighbor_attr_unchanged_cmd);
+
install_element(BGP_EVPN_NODE, &neighbor_attr_unchanged_cmd);
install_element(BGP_EVPN_NODE, &no_neighbor_attr_unchanged_cmd);
- install_element(BGP_LS_NODE, &neighbor_attr_unchanged_cmd);
- install_element(BGP_LS_NODE, &no_neighbor_attr_unchanged_cmd);
install_element(BGP_FLOWSPECV4_NODE, &neighbor_attr_unchanged_cmd);
install_element(BGP_FLOWSPECV4_NODE, &no_neighbor_attr_unchanged_cmd);
install_element(BGP_VPNV6_NODE, &no_neighbor_nexthop_self_cmd);
install_element(BGP_EVPN_NODE, &neighbor_nexthop_self_cmd);
install_element(BGP_EVPN_NODE, &no_neighbor_nexthop_self_cmd);
- install_element(BGP_LS_NODE, &neighbor_nexthop_self_cmd);
- install_element(BGP_LS_NODE, &no_neighbor_nexthop_self_cmd);
/* "neighbor next-hop-self force" commands. */
install_element(BGP_NODE, &neighbor_nexthop_self_force_hidden_cmd);
&no_neighbor_nexthop_self_all_hidden_cmd);
install_element(BGP_EVPN_NODE, &neighbor_nexthop_self_force_cmd);
install_element(BGP_EVPN_NODE, &no_neighbor_nexthop_self_force_cmd);
- install_element(BGP_LS_NODE, &neighbor_nexthop_self_force_cmd);
- install_element(BGP_LS_NODE, &no_neighbor_nexthop_self_force_cmd);
/* "neighbor as-override" commands. */
install_element(BGP_NODE, &neighbor_as_override_hidden_cmd);
&neighbor_remove_private_as_all_replace_as_cmd);
install_element(BGP_VPNV6_NODE,
&no_neighbor_remove_private_as_all_replace_as_cmd);
- install_element(BGP_LS_NODE, &neighbor_remove_private_as_cmd);
- install_element(BGP_LS_NODE, &no_neighbor_remove_private_as_cmd);
- install_element(BGP_LS_NODE, &neighbor_remove_private_as_all_cmd);
- install_element(BGP_LS_NODE, &no_neighbor_remove_private_as_all_cmd);
- install_element(BGP_LS_NODE,
- &neighbor_remove_private_as_replace_as_cmd);
- install_element(BGP_LS_NODE,
- &no_neighbor_remove_private_as_replace_as_cmd);
- install_element(BGP_LS_NODE,
- &neighbor_remove_private_as_all_replace_as_cmd);
- install_element(BGP_LS_NODE,
- &no_neighbor_remove_private_as_all_replace_as_cmd);
/* "neighbor send-community" commands.*/
install_element(BGP_NODE, &neighbor_send_community_hidden_cmd);
install_element(BGP_VPNV6_NODE, &neighbor_send_community_type_cmd);
install_element(BGP_VPNV6_NODE, &no_neighbor_send_community_cmd);
install_element(BGP_VPNV6_NODE, &no_neighbor_send_community_type_cmd);
- install_element(BGP_LS_NODE, &neighbor_send_community_cmd);
- install_element(BGP_LS_NODE, &neighbor_send_community_type_cmd);
- install_element(BGP_LS_NODE, &no_neighbor_send_community_cmd);
- install_element(BGP_LS_NODE, &no_neighbor_send_community_type_cmd);
/* "neighbor route-reflector" commands.*/
install_element(BGP_NODE, &neighbor_route_reflector_client_hidden_cmd);
&no_neighbor_route_reflector_client_cmd);
install_element(BGP_EVPN_NODE, &neighbor_route_reflector_client_cmd);
install_element(BGP_EVPN_NODE, &no_neighbor_route_reflector_client_cmd);
- install_element(BGP_LS_NODE, &neighbor_route_reflector_client_cmd);
- install_element(BGP_LS_NODE, &no_neighbor_route_reflector_client_cmd);
/* "neighbor route-server" commands.*/
install_element(BGP_NODE, &neighbor_route_server_client_hidden_cmd);
install_element(BGP_FLOWSPECV6_NODE, &neighbor_route_server_client_cmd);
install_element(BGP_FLOWSPECV6_NODE,
&no_neighbor_route_server_client_cmd);
- install_element(BGP_LS_NODE, &neighbor_route_server_client_cmd);
- install_element(BGP_LS_NODE, &no_neighbor_route_server_client_cmd);
/* "neighbor disable-addpath-rx" commands. */
install_element(BGP_IPV4_NODE, &neighbor_disable_addpath_rx_cmd);
install_element(BGP_IPV6M_NODE, &no_neighbor_capability_orf_prefix_cmd);
install_element(BGP_IPV6L_NODE, &neighbor_capability_orf_prefix_cmd);
install_element(BGP_IPV6L_NODE, &no_neighbor_capability_orf_prefix_cmd);
- install_element(BGP_LS_NODE, &neighbor_capability_orf_prefix_cmd);
- install_element(BGP_LS_NODE, &no_neighbor_capability_orf_prefix_cmd);
/* "neighbor capability dynamic" commands.*/
install_element(BGP_NODE, &neighbor_capability_dynamic_cmd);
install_element(BGP_VPNV4_NODE, &no_neighbor_distribute_list_cmd);
install_element(BGP_VPNV6_NODE, &neighbor_distribute_list_cmd);
install_element(BGP_VPNV6_NODE, &no_neighbor_distribute_list_cmd);
- install_element(BGP_LS_NODE, &neighbor_distribute_list_cmd);
- install_element(BGP_LS_NODE, &no_neighbor_distribute_list_cmd);
/* "neighbor prefix-list" commands. */
install_element(BGP_NODE, &neighbor_prefix_list_hidden_cmd);
install_element(BGP_FLOWSPECV4_NODE, &no_neighbor_prefix_list_cmd);
install_element(BGP_FLOWSPECV6_NODE, &neighbor_prefix_list_cmd);
install_element(BGP_FLOWSPECV6_NODE, &no_neighbor_prefix_list_cmd);
- install_element(BGP_LS_NODE, &neighbor_prefix_list_cmd);
/* "neighbor filter-list" commands. */
install_element(BGP_NODE, &neighbor_filter_list_hidden_cmd);
install_element(BGP_FLOWSPECV4_NODE, &no_neighbor_filter_list_cmd);
install_element(BGP_FLOWSPECV6_NODE, &neighbor_filter_list_cmd);
install_element(BGP_FLOWSPECV6_NODE, &no_neighbor_filter_list_cmd);
- install_element(BGP_LS_NODE, &neighbor_filter_list_cmd);
- install_element(BGP_LS_NODE, &no_neighbor_filter_list_cmd);
/* "neighbor route-map" commands. */
install_element(BGP_NODE, &neighbor_route_map_hidden_cmd);
install_element(BGP_FLOWSPECV6_NODE, &no_neighbor_route_map_cmd);
install_element(BGP_EVPN_NODE, &neighbor_route_map_cmd);
install_element(BGP_EVPN_NODE, &no_neighbor_route_map_cmd);
- install_element(BGP_LS_NODE, &neighbor_route_map_cmd);
/* "neighbor unsuppress-map" commands. */
install_element(BGP_NODE, &neighbor_unsuppress_map_hidden_cmd);
install_element(BGP_VPNV4_NODE, &no_neighbor_unsuppress_map_cmd);
install_element(BGP_VPNV6_NODE, &neighbor_unsuppress_map_cmd);
install_element(BGP_VPNV6_NODE, &no_neighbor_unsuppress_map_cmd);
- install_element(BGP_LS_NODE, &neighbor_unsuppress_map_cmd);
- install_element(BGP_LS_NODE, &no_neighbor_unsuppress_map_cmd);
/* "neighbor advertise-map" commands. */
install_element(BGP_NODE, &bgp_condadv_period_cmd);
install_element(BGP_VPNV6_NODE,
&neighbor_maximum_prefix_threshold_restart_cmd);
install_element(BGP_VPNV6_NODE, &no_neighbor_maximum_prefix_cmd);
- install_element(BGP_LS_NODE, &neighbor_maximum_prefix_cmd);
- install_element(BGP_LS_NODE, &neighbor_maximum_prefix_threshold_cmd);
- install_element(BGP_LS_NODE, &neighbor_maximum_prefix_warning_cmd);
- install_element(BGP_LS_NODE,
- &neighbor_maximum_prefix_threshold_warning_cmd);
- install_element(BGP_LS_NODE, &neighbor_maximum_prefix_restart_cmd);
- install_element(BGP_LS_NODE,
- &neighbor_maximum_prefix_threshold_restart_cmd);
- install_element(BGP_LS_NODE, &no_neighbor_maximum_prefix_cmd);
/* "neighbor allowas-in" */
install_element(BGP_NODE, &neighbor_allowas_in_hidden_cmd);
install_element(BGP_VPNV6_NODE, &no_neighbor_allowas_in_cmd);
install_element(BGP_EVPN_NODE, &neighbor_allowas_in_cmd);
install_element(BGP_EVPN_NODE, &no_neighbor_allowas_in_cmd);
- install_element(BGP_LS_NODE, &neighbor_allowas_in_cmd);
- install_element(BGP_LS_NODE, &no_neighbor_allowas_in_cmd);
/* neighbor accept-own */
install_element(BGP_VPNV4_NODE, &neighbor_accept_own_cmd);
install_element(BGP_NODE, &address_family_evpn_cmd);
- install_element(BGP_NODE, &address_family_linkstate_cmd);
-
/* "exit-address-family" command. */
install_element(BGP_IPV4_NODE, &exit_address_family_cmd);
install_element(BGP_IPV4M_NODE, &exit_address_family_cmd);
install_element(BGP_FLOWSPECV4_NODE, &exit_address_family_cmd);
install_element(BGP_FLOWSPECV6_NODE, &exit_address_family_cmd);
install_element(BGP_EVPN_NODE, &exit_address_family_cmd);
- install_element(BGP_LS_NODE, &exit_address_family_cmd);
/* BGP retain all route-target */
install_element(BGP_VPNV4_NODE, &bgp_retain_route_target_cmd);