BGP support default IPV4 unicast capability.
Change-Id: Id9ad101e82a9148ddf029fdcf6404173a9574539
diff --git a/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpOpenMsgVer4.java b/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpOpenMsgVer4.java
index 2cc9f7a..76f54fe 100644
--- a/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpOpenMsgVer4.java
+++ b/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpOpenMsgVer4.java
@@ -292,6 +292,7 @@
private short asNumber;
private boolean isBgpIdSet = false;
private int bgpId;
+ private boolean isIpV4UnicastCapabilityTlvSet = true;
private boolean isLargeAsCapabilityTlvSet = false;
private boolean isLsCapabilityTlvSet = false;
private boolean isFlowSpecCapabilityTlvSet = false;
@@ -312,6 +313,13 @@
throw new BgpParseException("BGPID is not set (mandatory)");
}
+ if (this.isIpV4UnicastCapabilityTlvSet) {
+ BgpValueType tlv;
+ tlv = new MultiProtocolExtnCapabilityTlv((short) Constants.AFI_IPV4_UNICAST, RES,
+ (byte) Constants.SAFI_IPV4_UNICAST);
+ this.capabilityTlv.add(tlv);
+ }
+
if (this.isLargeAsCapabilityTlvSet) {
BgpValueType tlv;
int value = this.asNumber;
diff --git a/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/util/Constants.java b/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/util/Constants.java
index 4c8c7df..33fdfc8 100644
--- a/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/util/Constants.java
+++ b/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/util/Constants.java
@@ -34,7 +34,8 @@
public static final short AFI_VALUE = 16388;
public static final byte VPN_SAFI_VALUE = (byte) 0x80;
public static final byte SAFI_VALUE = 71;
-
+ public static final short AFI_IPV4_UNICAST = 1;
+ public static final byte SAFI_IPV4_UNICAST = 1;
public static final short AFI_FLOWSPEC_VALUE = 1;
public static final byte SAFI_FLOWSPEC_VALUE = (byte) 133;
public static final byte VPN_SAFI_FLOWSPEC_VALUE = (byte) 134;