summaryrefslogtreecommitdiff
path: root/bgpd/bgp_open.c
diff options
context:
space:
mode:
Diffstat (limited to 'bgpd/bgp_open.c')
-rw-r--r--bgpd/bgp_open.c30
1 files changed, 29 insertions, 1 deletions
diff --git a/bgpd/bgp_open.c b/bgpd/bgp_open.c
index 6ee5b5dc5c..8a202b480a 100644
--- a/bgpd/bgp_open.c
+++ b/bgpd/bgp_open.c
@@ -147,6 +147,12 @@ void bgp_capability_vty_out(struct vty *vty, struct peer *peer, bool use_json,
"capabilityErrorMultiProtocolAfi",
"L2VPN");
break;
+ case AFI_LINKSTATE:
+ json_object_string_add(
+ json_cap,
+ "capabilityErrorMultiProtocolAfi",
+ "Link State");
+ break;
case AFI_UNSPEC:
case AFI_MAX:
json_object_int_add(
@@ -198,6 +204,18 @@ void bgp_capability_vty_out(struct vty *vty, struct peer *peer, bool use_json,
"capabilityErrorMultiProtocolSafi",
"flowspec");
break;
+ case SAFI_LINKSTATE:
+ json_object_string_add(
+ json_cap,
+ "capabilityErrorMultiProtocolSafi",
+ "Link State");
+ break;
+ case SAFI_LINKSTATE_VPN:
+ json_object_string_add(
+ json_cap,
+ "capabilityErrorMultiProtocolSafi",
+ "Link State VPN");
+ break;
case SAFI_UNSPEC:
case SAFI_MAX:
json_object_int_add(
@@ -219,6 +237,9 @@ void bgp_capability_vty_out(struct vty *vty, struct peer *peer, bool use_json,
case AFI_L2VPN:
vty_out(vty, "AFI L2VPN, ");
break;
+ case AFI_LINKSTATE:
+ vty_out(vty, "AFI Link State, ");
+ break;
case AFI_UNSPEC:
case AFI_MAX:
vty_out(vty, "AFI Unknown %d, ",
@@ -247,6 +268,12 @@ void bgp_capability_vty_out(struct vty *vty, struct peer *peer, bool use_json,
case SAFI_EVPN:
vty_out(vty, "SAFI EVPN");
break;
+ case SAFI_LINKSTATE:
+ vty_out(vty, "SAFI LINK STATE");
+ break;
+ case SAFI_LINKSTATE_VPN:
+ vty_out(vty, "SAFI LINK STATE VPN");
+ break;
case SAFI_UNSPEC:
case SAFI_MAX:
vty_out(vty, "SAFI Unknown %d ",
@@ -1414,7 +1441,8 @@ int bgp_open_option_parse(struct peer *peer, uint16_t length,
&& !peer->afc_nego[AFI_IP6][SAFI_MPLS_VPN]
&& !peer->afc_nego[AFI_IP6][SAFI_ENCAP]
&& !peer->afc_nego[AFI_IP6][SAFI_FLOWSPEC]
- && !peer->afc_nego[AFI_L2VPN][SAFI_EVPN]) {
+ && !peer->afc_nego[AFI_L2VPN][SAFI_EVPN]
+ && !peer->afc_nego[AFI_LINKSTATE][SAFI_LINKSTATE]) {
flog_err(EC_BGP_PKT_OPEN,
"%s [Error] Configured AFI/SAFIs do not overlap with received MP capabilities",
peer->host);