Committed by
Gerrit Code Review
Adj-In RIB code fix
Change-Id: Ice870ab1aff068cc27a5337a3f4ff7090a53d84d
Showing
54 changed files
with
560 additions
and
106 deletions
| ... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
| 15 | */ | 15 | */ |
| 16 | package org.onosproject.bgpio.protocol; | 16 | package org.onosproject.bgpio.protocol; |
| 17 | 17 | ||
| 18 | -import java.util.LinkedList; | 18 | +import java.util.List; |
| 19 | 19 | ||
| 20 | import org.onosproject.bgpio.types.BgpValueType; | 20 | import org.onosproject.bgpio.types.BgpValueType; |
| 21 | import org.onosproject.bgpio.protocol.linkstate.NodeDescriptors; | 21 | import org.onosproject.bgpio.protocol.linkstate.NodeDescriptors; |
| ... | @@ -36,5 +36,5 @@ public interface BgpPrefixLSNlri extends BgpLSNlri { | ... | @@ -36,5 +36,5 @@ public interface BgpPrefixLSNlri extends BgpLSNlri { |
| 36 | * | 36 | * |
| 37 | * @return list of Prefix descriptor | 37 | * @return list of Prefix descriptor |
| 38 | */ | 38 | */ |
| 39 | - LinkedList<BgpValueType> getPrefixdescriptor(); | 39 | + List<BgpValueType> getPrefixdescriptor(); |
| 40 | } | 40 | } | ... | ... |
bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpLinkLSIdentifier.java
100755 → 100644
| ... | @@ -18,6 +18,7 @@ package org.onosproject.bgpio.protocol.linkstate; | ... | @@ -18,6 +18,7 @@ package org.onosproject.bgpio.protocol.linkstate; |
| 18 | import java.util.Iterator; | 18 | import java.util.Iterator; |
| 19 | import java.util.LinkedList; | 19 | import java.util.LinkedList; |
| 20 | import java.util.List; | 20 | import java.util.List; |
| 21 | +import java.util.ListIterator; | ||
| 21 | import java.util.Objects; | 22 | import java.util.Objects; |
| 22 | 23 | ||
| 23 | import org.jboss.netty.buffer.ChannelBuffer; | 24 | import org.jboss.netty.buffer.ChannelBuffer; |
| ... | @@ -28,6 +29,7 @@ import org.onosproject.bgpio.types.IPv4AddressTlv; | ... | @@ -28,6 +29,7 @@ import org.onosproject.bgpio.types.IPv4AddressTlv; |
| 28 | import org.onosproject.bgpio.types.IPv6AddressTlv; | 29 | import org.onosproject.bgpio.types.IPv6AddressTlv; |
| 29 | import org.onosproject.bgpio.types.LinkLocalRemoteIdentifiersTlv; | 30 | import org.onosproject.bgpio.types.LinkLocalRemoteIdentifiersTlv; |
| 30 | import org.onosproject.bgpio.types.attr.BgpAttrNodeMultiTopologyId; | 31 | import org.onosproject.bgpio.types.attr.BgpAttrNodeMultiTopologyId; |
| 32 | +import org.onosproject.bgpio.util.Constants; | ||
| 31 | import org.onosproject.bgpio.util.UnSupportedAttribute; | 33 | import org.onosproject.bgpio.util.UnSupportedAttribute; |
| 32 | import org.slf4j.Logger; | 34 | import org.slf4j.Logger; |
| 33 | import org.slf4j.LoggerFactory; | 35 | import org.slf4j.LoggerFactory; |
| ... | @@ -38,13 +40,12 @@ import com.google.common.base.Preconditions; | ... | @@ -38,13 +40,12 @@ import com.google.common.base.Preconditions; |
| 38 | /** | 40 | /** |
| 39 | * Implementation of local node descriptors, remote node descriptors and link descriptors. | 41 | * Implementation of local node descriptors, remote node descriptors and link descriptors. |
| 40 | */ | 42 | */ |
| 41 | -public class BgpLinkLSIdentifier { | 43 | +public class BgpLinkLSIdentifier implements Comparable<Object> { |
| 42 | private static final Logger log = LoggerFactory.getLogger(BgpLinkLSIdentifier.class); | 44 | private static final Logger log = LoggerFactory.getLogger(BgpLinkLSIdentifier.class); |
| 43 | public static final short IPV4_INTERFACE_ADDRESS_TYPE = 259; | 45 | public static final short IPV4_INTERFACE_ADDRESS_TYPE = 259; |
| 44 | public static final short IPV4_NEIGHBOR_ADDRESS_TYPE = 260; | 46 | public static final short IPV4_NEIGHBOR_ADDRESS_TYPE = 260; |
| 45 | public static final short IPV6_INTERFACE_ADDRESS_TYPE = 261; | 47 | public static final short IPV6_INTERFACE_ADDRESS_TYPE = 261; |
| 46 | public static final short IPV6_NEIGHBOR_ADDRESS_TYPE = 262; | 48 | public static final short IPV6_NEIGHBOR_ADDRESS_TYPE = 262; |
| 47 | - public static final int TYPE_AND_LEN = 4; | ||
| 48 | 49 | ||
| 49 | private NodeDescriptors localNodeDescriptors; | 50 | private NodeDescriptors localNodeDescriptors; |
| 50 | private NodeDescriptors remoteNodeDescriptors; | 51 | private NodeDescriptors remoteNodeDescriptors; |
| ... | @@ -107,12 +108,13 @@ public class BgpLinkLSIdentifier { | ... | @@ -107,12 +108,13 @@ public class BgpLinkLSIdentifier { |
| 107 | */ | 108 | */ |
| 108 | public static NodeDescriptors parseNodeDescriptors(ChannelBuffer cb, short desType, byte protocolId) | 109 | public static NodeDescriptors parseNodeDescriptors(ChannelBuffer cb, short desType, byte protocolId) |
| 109 | throws BgpParseException { | 110 | throws BgpParseException { |
| 110 | - ChannelBuffer tempBuf = cb; | 111 | + log.debug("parse Node descriptors"); |
| 112 | + ChannelBuffer tempBuf = cb.copy(); | ||
| 111 | short type = cb.readShort(); | 113 | short type = cb.readShort(); |
| 112 | short length = cb.readShort(); | 114 | short length = cb.readShort(); |
| 113 | if (cb.readableBytes() < length) { | 115 | if (cb.readableBytes() < length) { |
| 114 | throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.OPTIONAL_ATTRIBUTE_ERROR, | 116 | throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.OPTIONAL_ATTRIBUTE_ERROR, |
| 115 | - tempBuf.readBytes(cb.readableBytes() + TYPE_AND_LEN)); | 117 | + tempBuf.readBytes(cb.readableBytes() + Constants.TYPE_AND_LEN_AS_SHORT)); |
| 116 | } | 118 | } |
| 117 | NodeDescriptors nodeIdentifier = new NodeDescriptors(); | 119 | NodeDescriptors nodeIdentifier = new NodeDescriptors(); |
| 118 | ChannelBuffer tempCb = cb.readBytes(length); | 120 | ChannelBuffer tempCb = cb.readBytes(length); |
| ... | @@ -138,12 +140,12 @@ public class BgpLinkLSIdentifier { | ... | @@ -138,12 +140,12 @@ public class BgpLinkLSIdentifier { |
| 138 | int count = 0; | 140 | int count = 0; |
| 139 | 141 | ||
| 140 | while (cb.readableBytes() > 0) { | 142 | while (cb.readableBytes() > 0) { |
| 141 | - ChannelBuffer tempBuf = cb; | 143 | + ChannelBuffer tempBuf = cb.copy(); |
| 142 | short type = cb.readShort(); | 144 | short type = cb.readShort(); |
| 143 | short length = cb.readShort(); | 145 | short length = cb.readShort(); |
| 144 | if (cb.readableBytes() < length) { | 146 | if (cb.readableBytes() < length) { |
| 145 | throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.OPTIONAL_ATTRIBUTE_ERROR, | 147 | throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.OPTIONAL_ATTRIBUTE_ERROR, |
| 146 | - tempBuf.readBytes(cb.readableBytes() + TYPE_AND_LEN)); | 148 | + tempBuf.readBytes(cb.readableBytes() + Constants.TYPE_AND_LEN_AS_SHORT)); |
| 147 | } | 149 | } |
| 148 | ChannelBuffer tempCb = cb.readBytes(length); | 150 | ChannelBuffer tempCb = cb.readBytes(length); |
| 149 | switch (type) { | 151 | switch (type) { |
| ... | @@ -170,7 +172,7 @@ public class BgpLinkLSIdentifier { | ... | @@ -170,7 +172,7 @@ public class BgpLinkLSIdentifier { |
| 170 | //length + 4 implies data contains type, length and value | 172 | //length + 4 implies data contains type, length and value |
| 171 | throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, | 173 | throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, |
| 172 | BgpErrorType.OPTIONAL_ATTRIBUTE_ERROR, tempBuf.readBytes(length | 174 | BgpErrorType.OPTIONAL_ATTRIBUTE_ERROR, tempBuf.readBytes(length |
| 173 | - + TYPE_AND_LEN)); | 175 | + + Constants.TYPE_AND_LEN_AS_SHORT)); |
| 174 | } | 176 | } |
| 175 | break; | 177 | break; |
| 176 | default: | 178 | default: |
| ... | @@ -231,8 +233,12 @@ public class BgpLinkLSIdentifier { | ... | @@ -231,8 +233,12 @@ public class BgpLinkLSIdentifier { |
| 231 | } else { | 233 | } else { |
| 232 | while (objListIterator.hasNext() && isCommonSubTlv) { | 234 | while (objListIterator.hasNext() && isCommonSubTlv) { |
| 233 | BgpValueType subTlv = objListIterator.next(); | 235 | BgpValueType subTlv = objListIterator.next(); |
| 234 | - isCommonSubTlv = Objects.equals(linkDescriptor.contains(subTlv), | 236 | + if (linkDescriptor.contains(subTlv) && other.linkDescriptor.contains(subTlv)) { |
| 235 | - other.linkDescriptor.contains(subTlv)); | 237 | + isCommonSubTlv = Objects.equals(linkDescriptor.get(linkDescriptor.indexOf(subTlv)), |
| 238 | + other.linkDescriptor.get(other.linkDescriptor.indexOf(subTlv))); | ||
| 239 | + } else { | ||
| 240 | + isCommonSubTlv = false; | ||
| 241 | + } | ||
| 236 | } | 242 | } |
| 237 | return isCommonSubTlv && Objects.equals(this.localNodeDescriptors, other.localNodeDescriptors) | 243 | return isCommonSubTlv && Objects.equals(this.localNodeDescriptors, other.localNodeDescriptors) |
| 238 | && Objects.equals(this.remoteNodeDescriptors, other.remoteNodeDescriptors); | 244 | && Objects.equals(this.remoteNodeDescriptors, other.remoteNodeDescriptors); |
| ... | @@ -249,4 +255,42 @@ public class BgpLinkLSIdentifier { | ... | @@ -249,4 +255,42 @@ public class BgpLinkLSIdentifier { |
| 249 | .add("linkDescriptor", linkDescriptor) | 255 | .add("linkDescriptor", linkDescriptor) |
| 250 | .toString(); | 256 | .toString(); |
| 251 | } | 257 | } |
| 258 | + | ||
| 259 | + @Override | ||
| 260 | + public int compareTo(Object o) { | ||
| 261 | + if (this.equals(o)) { | ||
| 262 | + return 0; | ||
| 263 | + } | ||
| 264 | + int result = this.localNodeDescriptors.compareTo(((BgpLinkLSIdentifier) o).localNodeDescriptors); | ||
| 265 | + if (result != 0) { | ||
| 266 | + return result; | ||
| 267 | + } else if (this.remoteNodeDescriptors.compareTo(((BgpLinkLSIdentifier) o).remoteNodeDescriptors) != 0) { | ||
| 268 | + return this.remoteNodeDescriptors.compareTo(((BgpLinkLSIdentifier) o).remoteNodeDescriptors); | ||
| 269 | + } else { | ||
| 270 | + int countOtherSubTlv = ((BgpLinkLSIdentifier) o).linkDescriptor.size(); | ||
| 271 | + int countObjSubTlv = linkDescriptor.size(); | ||
| 272 | + if (countOtherSubTlv != countObjSubTlv) { | ||
| 273 | + if (countOtherSubTlv > countObjSubTlv) { | ||
| 274 | + return 1; | ||
| 275 | + } else { | ||
| 276 | + return -1; | ||
| 277 | + } | ||
| 278 | + } | ||
| 279 | + ListIterator<BgpValueType> listIterator = linkDescriptor.listIterator(); | ||
| 280 | + ListIterator<BgpValueType> listIteratorOther = ((BgpLinkLSIdentifier) o).linkDescriptor.listIterator(); | ||
| 281 | + while (listIterator.hasNext()) { | ||
| 282 | + BgpValueType tlv = listIterator.next(); | ||
| 283 | + BgpValueType tlv1 = listIteratorOther.next(); | ||
| 284 | + if (linkDescriptor.contains(tlv) && ((BgpLinkLSIdentifier) o).linkDescriptor.contains(tlv1)) { | ||
| 285 | + int res = linkDescriptor.get(linkDescriptor.indexOf(tlv)).compareTo( | ||
| 286 | + ((BgpLinkLSIdentifier) o).linkDescriptor.get(((BgpLinkLSIdentifier) o).linkDescriptor | ||
| 287 | + .indexOf(tlv1))); | ||
| 288 | + if (res != 0) { | ||
| 289 | + return res; | ||
| 290 | + } | ||
| 291 | + } | ||
| 292 | + } | ||
| 293 | + } | ||
| 294 | + return 0; | ||
| 295 | + } | ||
| 252 | } | 296 | } | ... | ... |
| ... | @@ -29,9 +29,9 @@ import com.google.common.base.MoreObjects; | ... | @@ -29,9 +29,9 @@ import com.google.common.base.MoreObjects; |
| 29 | /** | 29 | /** |
| 30 | * Implementation of Node Identifier which includes local node descriptor/remote node descriptors. | 30 | * Implementation of Node Identifier which includes local node descriptor/remote node descriptors. |
| 31 | */ | 31 | */ |
| 32 | -public class BgpNodeLSIdentifier { | 32 | +public class BgpNodeLSIdentifier implements Comparable<Object> { |
| 33 | 33 | ||
| 34 | - protected static final Logger log = LoggerFactory.getLogger(BgpNodeLSIdentifier.class); | 34 | + private static final Logger log = LoggerFactory.getLogger(BgpNodeLSIdentifier.class); |
| 35 | private NodeDescriptors nodeDescriptors; | 35 | private NodeDescriptors nodeDescriptors; |
| 36 | 36 | ||
| 37 | /** | 37 | /** |
| ... | @@ -60,7 +60,8 @@ public class BgpNodeLSIdentifier { | ... | @@ -60,7 +60,8 @@ public class BgpNodeLSIdentifier { |
| 60 | */ | 60 | */ |
| 61 | public static BgpNodeLSIdentifier parseLocalNodeDescriptors(ChannelBuffer cb, byte protocolId) | 61 | public static BgpNodeLSIdentifier parseLocalNodeDescriptors(ChannelBuffer cb, byte protocolId) |
| 62 | throws BgpParseException { | 62 | throws BgpParseException { |
| 63 | - ChannelBuffer tempBuf = cb; | 63 | + log.debug("parse Local node descriptor"); |
| 64 | + ChannelBuffer tempBuf = cb.copy(); | ||
| 64 | short type = cb.readShort(); | 65 | short type = cb.readShort(); |
| 65 | short length = cb.readShort(); | 66 | short length = cb.readShort(); |
| 66 | if (cb.readableBytes() < length) { | 67 | if (cb.readableBytes() < length) { |
| ... | @@ -110,4 +111,12 @@ public class BgpNodeLSIdentifier { | ... | @@ -110,4 +111,12 @@ public class BgpNodeLSIdentifier { |
| 110 | .add("NodeDescriptors", nodeDescriptors) | 111 | .add("NodeDescriptors", nodeDescriptors) |
| 111 | .toString(); | 112 | .toString(); |
| 112 | } | 113 | } |
| 114 | + | ||
| 115 | + @Override | ||
| 116 | + public int compareTo(Object o) { | ||
| 117 | + if (this.equals(o)) { | ||
| 118 | + return 0; | ||
| 119 | + } | ||
| 120 | + return this.nodeDescriptors.compareTo(((BgpNodeLSIdentifier) o).nodeDescriptors); | ||
| 121 | + } | ||
| 113 | } | 122 | } | ... | ... |
| ... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
| 15 | */ | 15 | */ |
| 16 | package org.onosproject.bgpio.protocol.linkstate; | 16 | package org.onosproject.bgpio.protocol.linkstate; |
| 17 | 17 | ||
| 18 | -import java.util.LinkedList; | 18 | +import java.util.List; |
| 19 | 19 | ||
| 20 | import org.jboss.netty.buffer.ChannelBuffer; | 20 | import org.jboss.netty.buffer.ChannelBuffer; |
| 21 | import org.onosproject.bgpio.exceptions.BgpParseException; | 21 | import org.onosproject.bgpio.exceptions.BgpParseException; |
| ... | @@ -188,7 +188,7 @@ public class BgpPrefixIPv4LSNlriVer4 implements BgpPrefixLSNlri { | ... | @@ -188,7 +188,7 @@ public class BgpPrefixIPv4LSNlriVer4 implements BgpPrefixLSNlri { |
| 188 | } | 188 | } |
| 189 | 189 | ||
| 190 | @Override | 190 | @Override |
| 191 | - public LinkedList<BgpValueType> getPrefixdescriptor() { | 191 | + public List<BgpValueType> getPrefixdescriptor() { |
| 192 | return this.bgpPrefixLSIdentifier.getPrefixdescriptor(); | 192 | return this.bgpPrefixLSIdentifier.getPrefixdescriptor(); |
| 193 | } | 193 | } |
| 194 | 194 | ... | ... |
| ... | @@ -18,6 +18,8 @@ package org.onosproject.bgpio.protocol.linkstate; | ... | @@ -18,6 +18,8 @@ package org.onosproject.bgpio.protocol.linkstate; |
| 18 | 18 | ||
| 19 | import java.util.Iterator; | 19 | import java.util.Iterator; |
| 20 | import java.util.LinkedList; | 20 | import java.util.LinkedList; |
| 21 | +import java.util.List; | ||
| 22 | +import java.util.ListIterator; | ||
| 21 | import java.util.Objects; | 23 | import java.util.Objects; |
| 22 | 24 | ||
| 23 | import org.jboss.netty.buffer.ChannelBuffer; | 25 | import org.jboss.netty.buffer.ChannelBuffer; |
| ... | @@ -36,12 +38,12 @@ import com.google.common.base.MoreObjects; | ... | @@ -36,12 +38,12 @@ import com.google.common.base.MoreObjects; |
| 36 | /** | 38 | /** |
| 37 | * Provides Implementation of Local node descriptors and prefix descriptors. | 39 | * Provides Implementation of Local node descriptors and prefix descriptors. |
| 38 | */ | 40 | */ |
| 39 | -public class BgpPrefixLSIdentifier { | 41 | +public class BgpPrefixLSIdentifier implements Comparable<Object> { |
| 40 | 42 | ||
| 41 | protected static final Logger log = LoggerFactory.getLogger(BgpPrefixLSIdentifier.class); | 43 | protected static final Logger log = LoggerFactory.getLogger(BgpPrefixLSIdentifier.class); |
| 42 | public static final int TYPE_AND_LEN = 4; | 44 | public static final int TYPE_AND_LEN = 4; |
| 43 | private NodeDescriptors localNodeDescriptors; | 45 | private NodeDescriptors localNodeDescriptors; |
| 44 | - private LinkedList<BgpValueType> prefixDescriptor; | 46 | + private List<BgpValueType> prefixDescriptor; |
| 45 | 47 | ||
| 46 | /** | 48 | /** |
| 47 | * Resets parameters. | 49 | * Resets parameters. |
| ... | @@ -57,7 +59,7 @@ public class BgpPrefixLSIdentifier { | ... | @@ -57,7 +59,7 @@ public class BgpPrefixLSIdentifier { |
| 57 | * @param localNodeDescriptors Local node descriptors | 59 | * @param localNodeDescriptors Local node descriptors |
| 58 | * @param prefixDescriptor Prefix Descriptors | 60 | * @param prefixDescriptor Prefix Descriptors |
| 59 | */ | 61 | */ |
| 60 | - public BgpPrefixLSIdentifier(NodeDescriptors localNodeDescriptors, LinkedList<BgpValueType> prefixDescriptor) { | 62 | + public BgpPrefixLSIdentifier(NodeDescriptors localNodeDescriptors, List<BgpValueType> prefixDescriptor) { |
| 61 | this.localNodeDescriptors = localNodeDescriptors; | 63 | this.localNodeDescriptors = localNodeDescriptors; |
| 62 | this.prefixDescriptor = prefixDescriptor; | 64 | this.prefixDescriptor = prefixDescriptor; |
| 63 | } | 65 | } |
| ... | @@ -77,7 +79,7 @@ public class BgpPrefixLSIdentifier { | ... | @@ -77,7 +79,7 @@ public class BgpPrefixLSIdentifier { |
| 77 | localNodeDescriptors = parseLocalNodeDescriptors(cb, protocolId); | 79 | localNodeDescriptors = parseLocalNodeDescriptors(cb, protocolId); |
| 78 | 80 | ||
| 79 | //Parse Prefix descriptor | 81 | //Parse Prefix descriptor |
| 80 | - LinkedList<BgpValueType> prefixDescriptor = new LinkedList<>(); | 82 | + List<BgpValueType> prefixDescriptor = new LinkedList<>(); |
| 81 | prefixDescriptor = parsePrefixDescriptors(cb); | 83 | prefixDescriptor = parsePrefixDescriptors(cb); |
| 82 | return new BgpPrefixLSIdentifier(localNodeDescriptors, prefixDescriptor); | 84 | return new BgpPrefixLSIdentifier(localNodeDescriptors, prefixDescriptor); |
| 83 | } | 85 | } |
| ... | @@ -92,7 +94,7 @@ public class BgpPrefixLSIdentifier { | ... | @@ -92,7 +94,7 @@ public class BgpPrefixLSIdentifier { |
| 92 | */ | 94 | */ |
| 93 | public static NodeDescriptors parseLocalNodeDescriptors(ChannelBuffer cb, byte protocolId) | 95 | public static NodeDescriptors parseLocalNodeDescriptors(ChannelBuffer cb, byte protocolId) |
| 94 | throws BgpParseException { | 96 | throws BgpParseException { |
| 95 | - ChannelBuffer tempBuf = cb; | 97 | + ChannelBuffer tempBuf = cb.copy(); |
| 96 | short type = cb.readShort(); | 98 | short type = cb.readShort(); |
| 97 | short length = cb.readShort(); | 99 | short length = cb.readShort(); |
| 98 | if (cb.readableBytes() < length) { | 100 | if (cb.readableBytes() < length) { |
| ... | @@ -119,7 +121,7 @@ public class BgpPrefixLSIdentifier { | ... | @@ -119,7 +121,7 @@ public class BgpPrefixLSIdentifier { |
| 119 | * @return list of prefix descriptors | 121 | * @return list of prefix descriptors |
| 120 | * @throws BgpParseException while parsing list of prefix descriptors | 122 | * @throws BgpParseException while parsing list of prefix descriptors |
| 121 | */ | 123 | */ |
| 122 | - public static LinkedList<BgpValueType> parsePrefixDescriptors(ChannelBuffer cb) throws BgpParseException { | 124 | + public static List<BgpValueType> parsePrefixDescriptors(ChannelBuffer cb) throws BgpParseException { |
| 123 | LinkedList<BgpValueType> prefixDescriptor = new LinkedList<>(); | 125 | LinkedList<BgpValueType> prefixDescriptor = new LinkedList<>(); |
| 124 | BgpValueType tlv = null; | 126 | BgpValueType tlv = null; |
| 125 | boolean isIpReachInfo = false; | 127 | boolean isIpReachInfo = false; |
| ... | @@ -127,7 +129,7 @@ public class BgpPrefixLSIdentifier { | ... | @@ -127,7 +129,7 @@ public class BgpPrefixLSIdentifier { |
| 127 | int count = 0; | 129 | int count = 0; |
| 128 | 130 | ||
| 129 | while (cb.readableBytes() > 0) { | 131 | while (cb.readableBytes() > 0) { |
| 130 | - ChannelBuffer tempBuf = cb; | 132 | + ChannelBuffer tempBuf = cb.copy(); |
| 131 | short type = cb.readShort(); | 133 | short type = cb.readShort(); |
| 132 | short length = cb.readShort(); | 134 | short length = cb.readShort(); |
| 133 | if (cb.readableBytes() < length) { | 135 | if (cb.readableBytes() < length) { |
| ... | @@ -180,7 +182,7 @@ public class BgpPrefixLSIdentifier { | ... | @@ -180,7 +182,7 @@ public class BgpPrefixLSIdentifier { |
| 180 | * | 182 | * |
| 181 | * @return Prefix descriptors | 183 | * @return Prefix descriptors |
| 182 | */ | 184 | */ |
| 183 | - public LinkedList<BgpValueType> getPrefixdescriptor() { | 185 | + public List<BgpValueType> getPrefixdescriptor() { |
| 184 | return this.prefixDescriptor; | 186 | return this.prefixDescriptor; |
| 185 | } | 187 | } |
| 186 | 188 | ||
| ... | @@ -209,8 +211,12 @@ public class BgpPrefixLSIdentifier { | ... | @@ -209,8 +211,12 @@ public class BgpPrefixLSIdentifier { |
| 209 | } else { | 211 | } else { |
| 210 | while (objListIterator.hasNext() && isCommonSubTlv) { | 212 | while (objListIterator.hasNext() && isCommonSubTlv) { |
| 211 | BgpValueType subTlv = objListIterator.next(); | 213 | BgpValueType subTlv = objListIterator.next(); |
| 212 | - isCommonSubTlv = Objects.equals(prefixDescriptor.contains(subTlv), | 214 | + if (prefixDescriptor.contains(subTlv) && other.prefixDescriptor.contains(subTlv)) { |
| 213 | - other.prefixDescriptor.contains(subTlv)); | 215 | + isCommonSubTlv = Objects.equals(prefixDescriptor.get(prefixDescriptor.indexOf(subTlv)), |
| 216 | + other.prefixDescriptor.get(other.prefixDescriptor.indexOf(subTlv))); | ||
| 217 | + } else { | ||
| 218 | + isCommonSubTlv = false; | ||
| 219 | + } | ||
| 214 | } | 220 | } |
| 215 | return isCommonSubTlv && Objects.equals(this.localNodeDescriptors, other.localNodeDescriptors); | 221 | return isCommonSubTlv && Objects.equals(this.localNodeDescriptors, other.localNodeDescriptors); |
| 216 | } | 222 | } |
| ... | @@ -225,4 +231,41 @@ public class BgpPrefixLSIdentifier { | ... | @@ -225,4 +231,41 @@ public class BgpPrefixLSIdentifier { |
| 225 | .add("prefixDescriptor", prefixDescriptor) | 231 | .add("prefixDescriptor", prefixDescriptor) |
| 226 | .toString(); | 232 | .toString(); |
| 227 | } | 233 | } |
| 234 | + | ||
| 235 | + @Override | ||
| 236 | + public int compareTo(Object o) { | ||
| 237 | + if (this.equals(o)) { | ||
| 238 | + return 0; | ||
| 239 | + } | ||
| 240 | + int result = this.localNodeDescriptors.compareTo(((BgpPrefixLSIdentifier) o).localNodeDescriptors); | ||
| 241 | + if (result != 0) { | ||
| 242 | + return result; | ||
| 243 | + } else { | ||
| 244 | + int countOtherSubTlv = ((BgpPrefixLSIdentifier) o).prefixDescriptor.size(); | ||
| 245 | + int countObjSubTlv = prefixDescriptor.size(); | ||
| 246 | + if (countOtherSubTlv != countObjSubTlv) { | ||
| 247 | + if (countOtherSubTlv > countObjSubTlv) { | ||
| 248 | + return 1; | ||
| 249 | + } else { | ||
| 250 | + return -1; | ||
| 251 | + } | ||
| 252 | + } | ||
| 253 | + | ||
| 254 | + ListIterator<BgpValueType> listIterator = prefixDescriptor.listIterator(); | ||
| 255 | + ListIterator<BgpValueType> listIteratorOther = ((BgpPrefixLSIdentifier) o).prefixDescriptor.listIterator(); | ||
| 256 | + while (listIterator.hasNext()) { | ||
| 257 | + BgpValueType tlv = listIterator.next(); | ||
| 258 | + BgpValueType tlv1 = listIteratorOther.next(); | ||
| 259 | + if (prefixDescriptor.contains(tlv) && ((BgpPrefixLSIdentifier) o).prefixDescriptor.contains(tlv1)) { | ||
| 260 | + int res = prefixDescriptor.get(prefixDescriptor.indexOf(tlv)).compareTo( | ||
| 261 | + ((BgpPrefixLSIdentifier) o).prefixDescriptor | ||
| 262 | + .get(((BgpPrefixLSIdentifier) o).prefixDescriptor.indexOf(tlv1))); | ||
| 263 | + if (res != 0) { | ||
| 264 | + return res; | ||
| 265 | + } | ||
| 266 | + } | ||
| 267 | + } | ||
| 268 | + } | ||
| 269 | + return 0; | ||
| 270 | + } | ||
| 228 | } | 271 | } | ... | ... |
| ... | @@ -18,6 +18,8 @@ package org.onosproject.bgpio.protocol.linkstate; | ... | @@ -18,6 +18,8 @@ package org.onosproject.bgpio.protocol.linkstate; |
| 18 | 18 | ||
| 19 | import java.util.Iterator; | 19 | import java.util.Iterator; |
| 20 | import java.util.LinkedList; | 20 | import java.util.LinkedList; |
| 21 | +import java.util.List; | ||
| 22 | +import java.util.ListIterator; | ||
| 21 | import java.util.Objects; | 23 | import java.util.Objects; |
| 22 | 24 | ||
| 23 | import org.jboss.netty.buffer.ChannelBuffer; | 25 | import org.jboss.netty.buffer.ChannelBuffer; |
| ... | @@ -57,7 +59,7 @@ public class NodeDescriptors { | ... | @@ -57,7 +59,7 @@ public class NodeDescriptors { |
| 57 | Figure : Local or Remote Node Descriptors TLV format | 59 | Figure : Local or Remote Node Descriptors TLV format |
| 58 | */ | 60 | */ |
| 59 | 61 | ||
| 60 | - protected static final Logger log = LoggerFactory.getLogger(NodeDescriptors.class); | 62 | + private static final Logger log = LoggerFactory.getLogger(NodeDescriptors.class); |
| 61 | 63 | ||
| 62 | public static final short LOCAL_NODE_DES_TYPE = 256; | 64 | public static final short LOCAL_NODE_DES_TYPE = 256; |
| 63 | public static final short REMOTE_NODE_DES_TYPE = 257; | 65 | public static final short REMOTE_NODE_DES_TYPE = 257; |
| ... | @@ -71,7 +73,7 @@ public class NodeDescriptors { | ... | @@ -71,7 +73,7 @@ public class NodeDescriptors { |
| 71 | public static final int ISISPSEUDONODE_LEN = 7; | 73 | public static final int ISISPSEUDONODE_LEN = 7; |
| 72 | public static final int OSPFNONPSEUDONODE_LEN = 4; | 74 | public static final int OSPFNONPSEUDONODE_LEN = 4; |
| 73 | public static final int OSPFPSEUDONODE_LEN = 8; | 75 | public static final int OSPFPSEUDONODE_LEN = 8; |
| 74 | - private LinkedList<BgpValueType> subTlvs; | 76 | + private List<BgpValueType> subTlvs; |
| 75 | private short deslength; | 77 | private short deslength; |
| 76 | private short desType; | 78 | private short desType; |
| 77 | 79 | ||
| ... | @@ -91,7 +93,7 @@ public class NodeDescriptors { | ... | @@ -91,7 +93,7 @@ public class NodeDescriptors { |
| 91 | * @param deslength Descriptors length | 93 | * @param deslength Descriptors length |
| 92 | * @param desType local node descriptor or remote node descriptor type | 94 | * @param desType local node descriptor or remote node descriptor type |
| 93 | */ | 95 | */ |
| 94 | - public NodeDescriptors(LinkedList<BgpValueType> subTlvs, short deslength, short desType) { | 96 | + public NodeDescriptors(List<BgpValueType> subTlvs, short deslength, short desType) { |
| 95 | this.subTlvs = subTlvs; | 97 | this.subTlvs = subTlvs; |
| 96 | this.deslength = deslength; | 98 | this.deslength = deslength; |
| 97 | this.desType = desType; | 99 | this.desType = desType; |
| ... | @@ -102,7 +104,7 @@ public class NodeDescriptors { | ... | @@ -102,7 +104,7 @@ public class NodeDescriptors { |
| 102 | * | 104 | * |
| 103 | * @return subTlvs list of subTlvs | 105 | * @return subTlvs list of subTlvs |
| 104 | */ | 106 | */ |
| 105 | - public LinkedList<BgpValueType> getSubTlvs() { | 107 | + public List<BgpValueType> getSubTlvs() { |
| 106 | return subTlvs; | 108 | return subTlvs; |
| 107 | } | 109 | } |
| 108 | 110 | ||
| ... | @@ -130,7 +132,12 @@ public class NodeDescriptors { | ... | @@ -130,7 +132,12 @@ public class NodeDescriptors { |
| 130 | } else { | 132 | } else { |
| 131 | while (objListIterator.hasNext() && isCommonSubTlv) { | 133 | while (objListIterator.hasNext() && isCommonSubTlv) { |
| 132 | BgpValueType subTlv = objListIterator.next(); | 134 | BgpValueType subTlv = objListIterator.next(); |
| 133 | - isCommonSubTlv = Objects.equals(subTlvs.contains(subTlv), other.subTlvs.contains(subTlv)); | 135 | + if (subTlvs.contains(subTlv) && other.subTlvs.contains(subTlv)) { |
| 136 | + isCommonSubTlv = Objects.equals(subTlvs.get(subTlvs.indexOf(subTlv)), | ||
| 137 | + other.subTlvs.get(other.subTlvs.indexOf(subTlv))); | ||
| 138 | + } else { | ||
| 139 | + isCommonSubTlv = false; | ||
| 140 | + } | ||
| 134 | } | 141 | } |
| 135 | return isCommonSubTlv; | 142 | return isCommonSubTlv; |
| 136 | } | 143 | } |
| ... | @@ -150,12 +157,12 @@ public class NodeDescriptors { | ... | @@ -150,12 +157,12 @@ public class NodeDescriptors { |
| 150 | */ | 157 | */ |
| 151 | public static NodeDescriptors read(ChannelBuffer cb, short desLength, short desType, byte protocolId) | 158 | public static NodeDescriptors read(ChannelBuffer cb, short desLength, short desType, byte protocolId) |
| 152 | throws BgpParseException { | 159 | throws BgpParseException { |
| 153 | - LinkedList<BgpValueType> subTlvs; | 160 | + log.debug("Read NodeDescriptor"); |
| 154 | - subTlvs = new LinkedList<>(); | 161 | + List<BgpValueType> subTlvs = new LinkedList<>(); |
| 155 | BgpValueType tlv = null; | 162 | BgpValueType tlv = null; |
| 156 | 163 | ||
| 157 | while (cb.readableBytes() > 0) { | 164 | while (cb.readableBytes() > 0) { |
| 158 | - ChannelBuffer tempBuf = cb; | 165 | + ChannelBuffer tempBuf = cb.copy(); |
| 159 | short type = cb.readShort(); | 166 | short type = cb.readShort(); |
| 160 | short length = cb.readShort(); | 167 | short length = cb.readShort(); |
| 161 | if (cb.readableBytes() < length) { | 168 | if (cb.readableBytes() < length) { |
| ... | @@ -222,4 +229,34 @@ public class NodeDescriptors { | ... | @@ -222,4 +229,34 @@ public class NodeDescriptors { |
| 222 | .add("subTlvs", subTlvs) | 229 | .add("subTlvs", subTlvs) |
| 223 | .toString(); | 230 | .toString(); |
| 224 | } | 231 | } |
| 232 | + | ||
| 233 | + public int compareTo(Object o) { | ||
| 234 | + if (this.equals(o)) { | ||
| 235 | + return 0; | ||
| 236 | + } | ||
| 237 | + ListIterator<BgpValueType> listIterator = subTlvs.listIterator(); | ||
| 238 | + ListIterator<BgpValueType> listIteratorOther = ((NodeDescriptors) o).subTlvs.listIterator(); | ||
| 239 | + int countOtherSubTlv = ((NodeDescriptors) o).subTlvs.size(); | ||
| 240 | + int countObjSubTlv = subTlvs.size(); | ||
| 241 | + if (countOtherSubTlv != countObjSubTlv) { | ||
| 242 | + if (countOtherSubTlv > countObjSubTlv) { | ||
| 243 | + return 1; | ||
| 244 | + } else { | ||
| 245 | + return -1; | ||
| 246 | + } | ||
| 247 | + } else { | ||
| 248 | + while (listIterator.hasNext()) { | ||
| 249 | + BgpValueType tlv = listIterator.next(); | ||
| 250 | + BgpValueType tlv1 = listIteratorOther.next(); | ||
| 251 | + if (subTlvs.contains(tlv) && ((NodeDescriptors) o).subTlvs.contains(tlv1)) { | ||
| 252 | + int result = subTlvs.get(subTlvs.indexOf(tlv)).compareTo( | ||
| 253 | + ((NodeDescriptors) o).subTlvs.get(((NodeDescriptors) o).subTlvs.indexOf(tlv1))); | ||
| 254 | + if (result != 0) { | ||
| 255 | + return result; | ||
| 256 | + } | ||
| 257 | + } | ||
| 258 | + } | ||
| 259 | + } | ||
| 260 | + return 0; | ||
| 261 | + } | ||
| 225 | } | 262 | } | ... | ... |
| ... | @@ -18,8 +18,6 @@ package org.onosproject.bgpio.types; | ... | @@ -18,8 +18,6 @@ package org.onosproject.bgpio.types; |
| 18 | import java.util.Objects; | 18 | import java.util.Objects; |
| 19 | 19 | ||
| 20 | import org.jboss.netty.buffer.ChannelBuffer; | 20 | import org.jboss.netty.buffer.ChannelBuffer; |
| 21 | -import org.slf4j.Logger; | ||
| 22 | -import org.slf4j.LoggerFactory; | ||
| 23 | 21 | ||
| 24 | import com.google.common.base.MoreObjects; | 22 | import com.google.common.base.MoreObjects; |
| 25 | 23 | ||
| ... | @@ -38,8 +36,6 @@ public class AreaIDTlv implements BgpValueType { | ... | @@ -38,8 +36,6 @@ public class AreaIDTlv implements BgpValueType { |
| 38 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 36 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| 39 | */ | 37 | */ |
| 40 | 38 | ||
| 41 | - protected static final Logger log = LoggerFactory.getLogger(AreaIDTlv.class); | ||
| 42 | - | ||
| 43 | public static final short TYPE = 514; | 39 | public static final short TYPE = 514; |
| 44 | public static final short LENGTH = 4; | 40 | public static final short LENGTH = 4; |
| 45 | 41 | ||
| ... | @@ -116,6 +112,14 @@ public class AreaIDTlv implements BgpValueType { | ... | @@ -116,6 +112,14 @@ public class AreaIDTlv implements BgpValueType { |
| 116 | } | 112 | } |
| 117 | 113 | ||
| 118 | @Override | 114 | @Override |
| 115 | + public int compareTo(Object o) { | ||
| 116 | + if (this.equals(o)) { | ||
| 117 | + return 0; | ||
| 118 | + } | ||
| 119 | + return ((Integer) (this.areaID)).compareTo((Integer) (((AreaIDTlv) o).areaID)); | ||
| 120 | + } | ||
| 121 | + | ||
| 122 | + @Override | ||
| 119 | public String toString() { | 123 | public String toString() { |
| 120 | return MoreObjects.toStringHelper(getClass()) | 124 | return MoreObjects.toStringHelper(getClass()) |
| 121 | .add("Type", TYPE) | 125 | .add("Type", TYPE) | ... | ... |
| ... | @@ -166,4 +166,10 @@ public class As4Path implements BgpValueType { | ... | @@ -166,4 +166,10 @@ public class As4Path implements BgpValueType { |
| 166 | //Not required to Implement as of now | 166 | //Not required to Implement as of now |
| 167 | return 0; | 167 | return 0; |
| 168 | } | 168 | } |
| 169 | + | ||
| 170 | + @Override | ||
| 171 | + public int compareTo(Object o) { | ||
| 172 | + // TODO Auto-generated method stub | ||
| 173 | + return 0; | ||
| 174 | + } | ||
| 169 | } | 175 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -205,4 +205,10 @@ public class AsPath implements BgpValueType { | ... | @@ -205,4 +205,10 @@ public class AsPath implements BgpValueType { |
| 205 | //Not required to Implement as of now | 205 | //Not required to Implement as of now |
| 206 | return 0; | 206 | return 0; |
| 207 | } | 207 | } |
| 208 | + | ||
| 209 | + @Override | ||
| 210 | + public int compareTo(Object o) { | ||
| 211 | + // TODO Auto-generated method stub | ||
| 212 | + return 0; | ||
| 213 | + } | ||
| 208 | } | 214 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -18,8 +18,6 @@ package org.onosproject.bgpio.types; | ... | @@ -18,8 +18,6 @@ package org.onosproject.bgpio.types; |
| 18 | import java.util.Objects; | 18 | import java.util.Objects; |
| 19 | 19 | ||
| 20 | import org.jboss.netty.buffer.ChannelBuffer; | 20 | import org.jboss.netty.buffer.ChannelBuffer; |
| 21 | -import org.slf4j.Logger; | ||
| 22 | -import org.slf4j.LoggerFactory; | ||
| 23 | 21 | ||
| 24 | import com.google.common.base.MoreObjects; | 22 | import com.google.common.base.MoreObjects; |
| 25 | 23 | ||
| ... | @@ -38,8 +36,6 @@ public class AutonomousSystemTlv implements BgpValueType { | ... | @@ -38,8 +36,6 @@ public class AutonomousSystemTlv implements BgpValueType { |
| 38 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 36 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| 39 | */ | 37 | */ |
| 40 | 38 | ||
| 41 | - protected static final Logger log = LoggerFactory.getLogger(AutonomousSystemTlv.class); | ||
| 42 | - | ||
| 43 | public static final short TYPE = 512; | 39 | public static final short TYPE = 512; |
| 44 | public static final short LENGTH = 4; | 40 | public static final short LENGTH = 4; |
| 45 | 41 | ||
| ... | @@ -116,6 +112,14 @@ public class AutonomousSystemTlv implements BgpValueType { | ... | @@ -116,6 +112,14 @@ public class AutonomousSystemTlv implements BgpValueType { |
| 116 | } | 112 | } |
| 117 | 113 | ||
| 118 | @Override | 114 | @Override |
| 115 | + public int compareTo(Object o) { | ||
| 116 | + if (this.equals(o)) { | ||
| 117 | + return 0; | ||
| 118 | + } | ||
| 119 | + return ((Integer) (this.asNum)).compareTo((Integer) (((AutonomousSystemTlv) o).asNum)); | ||
| 120 | + } | ||
| 121 | + | ||
| 122 | + @Override | ||
| 119 | public String toString() { | 123 | public String toString() { |
| 120 | return MoreObjects.toStringHelper(getClass()) | 124 | return MoreObjects.toStringHelper(getClass()) |
| 121 | .add("Type", TYPE) | 125 | .add("Type", TYPE) | ... | ... |
| ... | @@ -19,8 +19,6 @@ package org.onosproject.bgpio.types; | ... | @@ -19,8 +19,6 @@ package org.onosproject.bgpio.types; |
| 19 | import java.util.Objects; | 19 | import java.util.Objects; |
| 20 | 20 | ||
| 21 | import org.jboss.netty.buffer.ChannelBuffer; | 21 | import org.jboss.netty.buffer.ChannelBuffer; |
| 22 | -import org.slf4j.Logger; | ||
| 23 | -import org.slf4j.LoggerFactory; | ||
| 24 | 22 | ||
| 25 | import com.google.common.base.MoreObjects; | 23 | import com.google.common.base.MoreObjects; |
| 26 | 24 | ||
| ... | @@ -39,30 +37,28 @@ public class BgpLSIdentifierTlv implements BgpValueType { | ... | @@ -39,30 +37,28 @@ public class BgpLSIdentifierTlv implements BgpValueType { |
| 39 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 37 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| 40 | */ | 38 | */ |
| 41 | 39 | ||
| 42 | - protected static final Logger log = LoggerFactory.getLogger(BgpLSIdentifierTlv.class); | ||
| 43 | - | ||
| 44 | public static final short TYPE = 513; | 40 | public static final short TYPE = 513; |
| 45 | public static final short LENGTH = 4; | 41 | public static final short LENGTH = 4; |
| 46 | 42 | ||
| 47 | - private final int bgpLSIdentifier; | 43 | + private final int bgpLsIdentifier; |
| 48 | 44 | ||
| 49 | /** | 45 | /** |
| 50 | - * Constructor to initialize bgpLSIdentifier. | 46 | + * Constructor to initialize bgpLsIdentifier. |
| 51 | * | 47 | * |
| 52 | - * @param bgpLSIdentifier BGPLS-Identifier | 48 | + * @param bgpLsIdentifier BGPLS-Identifier |
| 53 | */ | 49 | */ |
| 54 | - public BgpLSIdentifierTlv(int bgpLSIdentifier) { | 50 | + public BgpLSIdentifierTlv(int bgpLsIdentifier) { |
| 55 | - this.bgpLSIdentifier = bgpLSIdentifier; | 51 | + this.bgpLsIdentifier = bgpLsIdentifier; |
| 56 | } | 52 | } |
| 57 | 53 | ||
| 58 | /** | 54 | /** |
| 59 | - * Returns object of this class with specified rbgpLSIdentifier. | 55 | + * Returns object of this class with specified bgpLsIdentifier. |
| 60 | * | 56 | * |
| 61 | - * @param bgpLSIdentifier BGPLS-Identifier | 57 | + * @param bgpLsIdentifier BGPLS-Identifier |
| 62 | * @return BGPLS-Identifier | 58 | * @return BGPLS-Identifier |
| 63 | */ | 59 | */ |
| 64 | - public static BgpLSIdentifierTlv of(final int bgpLSIdentifier) { | 60 | + public static BgpLSIdentifierTlv of(final int bgpLsIdentifier) { |
| 65 | - return new BgpLSIdentifierTlv(bgpLSIdentifier); | 61 | + return new BgpLSIdentifierTlv(bgpLsIdentifier); |
| 66 | } | 62 | } |
| 67 | 63 | ||
| 68 | /** | 64 | /** |
| ... | @@ -70,13 +66,13 @@ public class BgpLSIdentifierTlv implements BgpValueType { | ... | @@ -70,13 +66,13 @@ public class BgpLSIdentifierTlv implements BgpValueType { |
| 70 | * | 66 | * |
| 71 | * @return opaque value of BGPLS-Identifier | 67 | * @return opaque value of BGPLS-Identifier |
| 72 | */ | 68 | */ |
| 73 | - public int getBgpLSIdentifier() { | 69 | + public int getBgpLsIdentifier() { |
| 74 | - return bgpLSIdentifier; | 70 | + return bgpLsIdentifier; |
| 75 | } | 71 | } |
| 76 | 72 | ||
| 77 | @Override | 73 | @Override |
| 78 | public int hashCode() { | 74 | public int hashCode() { |
| 79 | - return Objects.hash(bgpLSIdentifier); | 75 | + return Objects.hash(bgpLsIdentifier); |
| 80 | } | 76 | } |
| 81 | 77 | ||
| 82 | @Override | 78 | @Override |
| ... | @@ -87,7 +83,7 @@ public class BgpLSIdentifierTlv implements BgpValueType { | ... | @@ -87,7 +83,7 @@ public class BgpLSIdentifierTlv implements BgpValueType { |
| 87 | 83 | ||
| 88 | if (obj instanceof BgpLSIdentifierTlv) { | 84 | if (obj instanceof BgpLSIdentifierTlv) { |
| 89 | BgpLSIdentifierTlv other = (BgpLSIdentifierTlv) obj; | 85 | BgpLSIdentifierTlv other = (BgpLSIdentifierTlv) obj; |
| 90 | - return Objects.equals(bgpLSIdentifier, other.bgpLSIdentifier); | 86 | + return Objects.equals(bgpLsIdentifier, other.bgpLsIdentifier); |
| 91 | } | 87 | } |
| 92 | return false; | 88 | return false; |
| 93 | } | 89 | } |
| ... | @@ -97,7 +93,7 @@ public class BgpLSIdentifierTlv implements BgpValueType { | ... | @@ -97,7 +93,7 @@ public class BgpLSIdentifierTlv implements BgpValueType { |
| 97 | int iLenStartIndex = c.writerIndex(); | 93 | int iLenStartIndex = c.writerIndex(); |
| 98 | c.writeShort(TYPE); | 94 | c.writeShort(TYPE); |
| 99 | c.writeShort(LENGTH); | 95 | c.writeShort(LENGTH); |
| 100 | - c.writeInt(bgpLSIdentifier); | 96 | + c.writeInt(bgpLsIdentifier); |
| 101 | return c.writerIndex() - iLenStartIndex; | 97 | return c.writerIndex() - iLenStartIndex; |
| 102 | } | 98 | } |
| 103 | 99 | ||
| ... | @@ -117,11 +113,19 @@ public class BgpLSIdentifierTlv implements BgpValueType { | ... | @@ -117,11 +113,19 @@ public class BgpLSIdentifierTlv implements BgpValueType { |
| 117 | } | 113 | } |
| 118 | 114 | ||
| 119 | @Override | 115 | @Override |
| 116 | + public int compareTo(Object o) { | ||
| 117 | + if (this.equals(o)) { | ||
| 118 | + return 0; | ||
| 119 | + } | ||
| 120 | + return ((Integer) (this.bgpLsIdentifier)).compareTo((Integer) (((BgpLSIdentifierTlv) o).bgpLsIdentifier)); | ||
| 121 | + } | ||
| 122 | + | ||
| 123 | + @Override | ||
| 120 | public String toString() { | 124 | public String toString() { |
| 121 | return MoreObjects.toStringHelper(getClass()) | 125 | return MoreObjects.toStringHelper(getClass()) |
| 122 | .add("Type", TYPE) | 126 | .add("Type", TYPE) |
| 123 | .add("Length", LENGTH) | 127 | .add("Length", LENGTH) |
| 124 | - .add("Value", bgpLSIdentifier) | 128 | + .add("Value", bgpLsIdentifier) |
| 125 | .toString(); | 129 | .toString(); |
| 126 | } | 130 | } |
| 127 | } | 131 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -36,4 +36,12 @@ public interface BgpValueType { | ... | @@ -36,4 +36,12 @@ public interface BgpValueType { |
| 36 | * @return length written to channel buffer | 36 | * @return length written to channel buffer |
| 37 | */ | 37 | */ |
| 38 | int write(ChannelBuffer cb); | 38 | int write(ChannelBuffer cb); |
| 39 | + | ||
| 40 | + /** | ||
| 41 | + * Compares two objects. | ||
| 42 | + * | ||
| 43 | + * @param o object | ||
| 44 | + * @return result after comparing two objects | ||
| 45 | + */ | ||
| 46 | + int compareTo(Object o); | ||
| 39 | } | 47 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
bgp/bgpio/src/main/java/org/onosproject/bgpio/types/FourOctetAsNumCapabilityTlv.java
100755 → 100644
| ... | @@ -111,4 +111,10 @@ public class FourOctetAsNumCapabilityTlv implements BgpValueType { | ... | @@ -111,4 +111,10 @@ public class FourOctetAsNumCapabilityTlv implements BgpValueType { |
| 111 | .add("Length", LENGTH) | 111 | .add("Length", LENGTH) |
| 112 | .add("Value", rawValue).toString(); | 112 | .add("Value", rawValue).toString(); |
| 113 | } | 113 | } |
| 114 | + | ||
| 115 | + @Override | ||
| 116 | + public int compareTo(Object o) { | ||
| 117 | + // TODO Auto-generated method stub | ||
| 118 | + return 0; | ||
| 119 | + } | ||
| 114 | } | 120 | } | ... | ... |
| ... | @@ -15,14 +15,13 @@ | ... | @@ -15,14 +15,13 @@ |
| 15 | */ | 15 | */ |
| 16 | package org.onosproject.bgpio.types; | 16 | package org.onosproject.bgpio.types; |
| 17 | 17 | ||
| 18 | +import java.nio.ByteBuffer; | ||
| 18 | import java.util.Arrays; | 19 | import java.util.Arrays; |
| 19 | import java.util.Objects; | 20 | import java.util.Objects; |
| 20 | 21 | ||
| 21 | import org.jboss.netty.buffer.ChannelBuffer; | 22 | import org.jboss.netty.buffer.ChannelBuffer; |
| 22 | import org.onlab.packet.IpPrefix; | 23 | import org.onlab.packet.IpPrefix; |
| 23 | import org.onosproject.bgpio.util.Validation; | 24 | import org.onosproject.bgpio.util.Validation; |
| 24 | -import org.slf4j.Logger; | ||
| 25 | -import org.slf4j.LoggerFactory; | ||
| 26 | 25 | ||
| 27 | import com.google.common.base.MoreObjects; | 26 | import com.google.common.base.MoreObjects; |
| 28 | 27 | ||
| ... | @@ -45,10 +44,9 @@ public class IPReachabilityInformationTlv implements BgpValueType { | ... | @@ -45,10 +44,9 @@ public class IPReachabilityInformationTlv implements BgpValueType { |
| 45 | Figure 14: IP Reachability Information TLV Format | 44 | Figure 14: IP Reachability Information TLV Format |
| 46 | */ | 45 | */ |
| 47 | 46 | ||
| 48 | - protected static final Logger log = LoggerFactory.getLogger(IPReachabilityInformationTlv.class); | ||
| 49 | - | ||
| 50 | public static final short TYPE = 265; | 47 | public static final short TYPE = 265; |
| 51 | public static final int ONE_BYTE_LEN = 8; | 48 | public static final int ONE_BYTE_LEN = 8; |
| 49 | + | ||
| 52 | private byte prefixLen; | 50 | private byte prefixLen; |
| 53 | private byte[] ipPrefix; | 51 | private byte[] ipPrefix; |
| 54 | public short length; | 52 | public short length; |
| ... | @@ -146,6 +144,16 @@ public class IPReachabilityInformationTlv implements BgpValueType { | ... | @@ -146,6 +144,16 @@ public class IPReachabilityInformationTlv implements BgpValueType { |
| 146 | } | 144 | } |
| 147 | 145 | ||
| 148 | @Override | 146 | @Override |
| 147 | + public int compareTo(Object o) { | ||
| 148 | + if (this.equals(o)) { | ||
| 149 | + return 0; | ||
| 150 | + } | ||
| 151 | + ByteBuffer value1 = ByteBuffer.wrap(this.ipPrefix); | ||
| 152 | + ByteBuffer value2 = ByteBuffer.wrap(((IPReachabilityInformationTlv) o).ipPrefix); | ||
| 153 | + return value1.compareTo(value2); | ||
| 154 | + } | ||
| 155 | + | ||
| 156 | + @Override | ||
| 149 | public String toString() { | 157 | public String toString() { |
| 150 | return MoreObjects.toStringHelper(getClass()) | 158 | return MoreObjects.toStringHelper(getClass()) |
| 151 | .add("Type", TYPE) | 159 | .add("Type", TYPE) | ... | ... |
| ... | @@ -22,8 +22,6 @@ import org.jboss.netty.buffer.ChannelBuffer; | ... | @@ -22,8 +22,6 @@ import org.jboss.netty.buffer.ChannelBuffer; |
| 22 | import org.onlab.packet.Ip4Address; | 22 | import org.onlab.packet.Ip4Address; |
| 23 | import org.onosproject.bgpio.exceptions.BgpParseException; | 23 | import org.onosproject.bgpio.exceptions.BgpParseException; |
| 24 | import org.onosproject.bgpio.util.Validation; | 24 | import org.onosproject.bgpio.util.Validation; |
| 25 | -import org.slf4j.Logger; | ||
| 26 | -import org.slf4j.LoggerFactory; | ||
| 27 | 25 | ||
| 28 | import com.google.common.base.MoreObjects; | 26 | import com.google.common.base.MoreObjects; |
| 29 | import com.google.common.base.Preconditions; | 27 | import com.google.common.base.Preconditions; |
| ... | @@ -32,7 +30,6 @@ import com.google.common.base.Preconditions; | ... | @@ -32,7 +30,6 @@ import com.google.common.base.Preconditions; |
| 32 | * Provides Implementation of IPv4AddressTlv. | 30 | * Provides Implementation of IPv4AddressTlv. |
| 33 | */ | 31 | */ |
| 34 | public class IPv4AddressTlv implements BgpValueType { | 32 | public class IPv4AddressTlv implements BgpValueType { |
| 35 | - private static final Logger log = LoggerFactory.getLogger(IPv4AddressTlv.class); | ||
| 36 | private static final int LENGTH = 4; | 33 | private static final int LENGTH = 4; |
| 37 | 34 | ||
| 38 | private Ip4Address address; | 35 | private Ip4Address address; |
| ... | @@ -118,6 +115,14 @@ public class IPv4AddressTlv implements BgpValueType { | ... | @@ -118,6 +115,14 @@ public class IPv4AddressTlv implements BgpValueType { |
| 118 | } | 115 | } |
| 119 | 116 | ||
| 120 | @Override | 117 | @Override |
| 118 | + public int compareTo(Object o) { | ||
| 119 | + if (this.equals(o)) { | ||
| 120 | + return 0; | ||
| 121 | + } | ||
| 122 | + return ((Ip4Address) (this.address)).compareTo((Ip4Address) (((IPv4AddressTlv) o).address)); | ||
| 123 | + } | ||
| 124 | + | ||
| 125 | + @Override | ||
| 121 | public String toString() { | 126 | public String toString() { |
| 122 | return MoreObjects.toStringHelper(getClass()) | 127 | return MoreObjects.toStringHelper(getClass()) |
| 123 | .add("type", type) | 128 | .add("type", type) | ... | ... |
| ... | @@ -22,8 +22,6 @@ import org.jboss.netty.buffer.ChannelBuffer; | ... | @@ -22,8 +22,6 @@ import org.jboss.netty.buffer.ChannelBuffer; |
| 22 | import org.onlab.packet.Ip6Address; | 22 | import org.onlab.packet.Ip6Address; |
| 23 | import org.onosproject.bgpio.exceptions.BgpParseException; | 23 | import org.onosproject.bgpio.exceptions.BgpParseException; |
| 24 | import org.onosproject.bgpio.util.Validation; | 24 | import org.onosproject.bgpio.util.Validation; |
| 25 | -import org.slf4j.Logger; | ||
| 26 | -import org.slf4j.LoggerFactory; | ||
| 27 | 25 | ||
| 28 | import com.google.common.base.MoreObjects; | 26 | import com.google.common.base.MoreObjects; |
| 29 | import com.google.common.base.Preconditions; | 27 | import com.google.common.base.Preconditions; |
| ... | @@ -32,7 +30,6 @@ import com.google.common.base.Preconditions; | ... | @@ -32,7 +30,6 @@ import com.google.common.base.Preconditions; |
| 32 | * Provides Implementation of IPv6AddressTlv. | 30 | * Provides Implementation of IPv6AddressTlv. |
| 33 | */ | 31 | */ |
| 34 | public class IPv6AddressTlv implements BgpValueType { | 32 | public class IPv6AddressTlv implements BgpValueType { |
| 35 | - private static final Logger log = LoggerFactory.getLogger(IPv6AddressTlv.class); | ||
| 36 | private static final int LENGTH = 16; | 33 | private static final int LENGTH = 16; |
| 37 | 34 | ||
| 38 | private final Ip6Address address; | 35 | private final Ip6Address address; |
| ... | @@ -118,6 +115,14 @@ public class IPv6AddressTlv implements BgpValueType { | ... | @@ -118,6 +115,14 @@ public class IPv6AddressTlv implements BgpValueType { |
| 118 | } | 115 | } |
| 119 | 116 | ||
| 120 | @Override | 117 | @Override |
| 118 | + public int compareTo(Object o) { | ||
| 119 | + if (this.equals(o)) { | ||
| 120 | + return 0; | ||
| 121 | + } | ||
| 122 | + return ((Ip6Address) (this.address)).compareTo((Ip6Address) (((IPv6AddressTlv) o).address)); | ||
| 123 | + } | ||
| 124 | + | ||
| 125 | + @Override | ||
| 121 | public String toString() { | 126 | public String toString() { |
| 122 | return MoreObjects.toStringHelper(getClass()) | 127 | return MoreObjects.toStringHelper(getClass()) |
| 123 | .add("type", type) | 128 | .add("type", type) | ... | ... |
| ... | @@ -15,12 +15,11 @@ | ... | @@ -15,12 +15,11 @@ |
| 15 | */ | 15 | */ |
| 16 | package org.onosproject.bgpio.types; | 16 | package org.onosproject.bgpio.types; |
| 17 | 17 | ||
| 18 | +import java.nio.ByteBuffer; | ||
| 18 | import java.util.Arrays; | 19 | import java.util.Arrays; |
| 19 | 20 | ||
| 20 | import org.jboss.netty.buffer.ChannelBuffer; | 21 | import org.jboss.netty.buffer.ChannelBuffer; |
| 21 | import org.onosproject.bgpio.protocol.IGPRouterID; | 22 | import org.onosproject.bgpio.protocol.IGPRouterID; |
| 22 | -import org.slf4j.Logger; | ||
| 23 | -import org.slf4j.LoggerFactory; | ||
| 24 | 23 | ||
| 25 | import com.google.common.base.MoreObjects; | 24 | import com.google.common.base.MoreObjects; |
| 26 | 25 | ||
| ... | @@ -28,8 +27,6 @@ import com.google.common.base.MoreObjects; | ... | @@ -28,8 +27,6 @@ import com.google.common.base.MoreObjects; |
| 28 | * Provides Implementation of IsIsNonPseudonode Tlv. | 27 | * Provides Implementation of IsIsNonPseudonode Tlv. |
| 29 | */ | 28 | */ |
| 30 | public class IsIsNonPseudonode implements IGPRouterID, BgpValueType { | 29 | public class IsIsNonPseudonode implements IGPRouterID, BgpValueType { |
| 31 | - private static final Logger log = LoggerFactory.getLogger(IsIsNonPseudonode.class); | ||
| 32 | - | ||
| 33 | public static final short TYPE = 515; | 30 | public static final short TYPE = 515; |
| 34 | public static final short LENGTH = 6; | 31 | public static final short LENGTH = 6; |
| 35 | 32 | ||
| ... | @@ -107,6 +104,16 @@ public class IsIsNonPseudonode implements IGPRouterID, BgpValueType { | ... | @@ -107,6 +104,16 @@ public class IsIsNonPseudonode implements IGPRouterID, BgpValueType { |
| 107 | } | 104 | } |
| 108 | 105 | ||
| 109 | @Override | 106 | @Override |
| 107 | + public int compareTo(Object o) { | ||
| 108 | + if (this.equals(o)) { | ||
| 109 | + return 0; | ||
| 110 | + } | ||
| 111 | + ByteBuffer value1 = ByteBuffer.wrap(this.isoNodeID); | ||
| 112 | + ByteBuffer value2 = ByteBuffer.wrap(((IsIsNonPseudonode) o).isoNodeID); | ||
| 113 | + return value1.compareTo(value2); | ||
| 114 | + } | ||
| 115 | + | ||
| 116 | + @Override | ||
| 110 | public String toString() { | 117 | public String toString() { |
| 111 | return MoreObjects.toStringHelper(getClass()) | 118 | return MoreObjects.toStringHelper(getClass()) |
| 112 | .add("Type", TYPE) | 119 | .add("Type", TYPE) | ... | ... |
| ... | @@ -15,13 +15,12 @@ | ... | @@ -15,13 +15,12 @@ |
| 15 | */ | 15 | */ |
| 16 | package org.onosproject.bgpio.types; | 16 | package org.onosproject.bgpio.types; |
| 17 | 17 | ||
| 18 | +import java.nio.ByteBuffer; | ||
| 18 | import java.util.Arrays; | 19 | import java.util.Arrays; |
| 19 | import java.util.Objects; | 20 | import java.util.Objects; |
| 20 | 21 | ||
| 21 | import org.jboss.netty.buffer.ChannelBuffer; | 22 | import org.jboss.netty.buffer.ChannelBuffer; |
| 22 | import org.onosproject.bgpio.protocol.IGPRouterID; | 23 | import org.onosproject.bgpio.protocol.IGPRouterID; |
| 23 | -import org.slf4j.Logger; | ||
| 24 | -import org.slf4j.LoggerFactory; | ||
| 25 | 24 | ||
| 26 | import com.google.common.base.MoreObjects; | 25 | import com.google.common.base.MoreObjects; |
| 27 | 26 | ||
| ... | @@ -29,8 +28,6 @@ import com.google.common.base.MoreObjects; | ... | @@ -29,8 +28,6 @@ import com.google.common.base.MoreObjects; |
| 29 | * Provides implementation of IsIsPseudonode Tlv. | 28 | * Provides implementation of IsIsPseudonode Tlv. |
| 30 | */ | 29 | */ |
| 31 | public class IsIsPseudonode implements IGPRouterID, BgpValueType { | 30 | public class IsIsPseudonode implements IGPRouterID, BgpValueType { |
| 32 | - private static final Logger log = LoggerFactory.getLogger(IsIsPseudonode.class); | ||
| 33 | - | ||
| 34 | public static final short TYPE = 515; | 31 | public static final short TYPE = 515; |
| 35 | public static final short LENGTH = 7; | 32 | public static final short LENGTH = 7; |
| 36 | 33 | ||
| ... | @@ -125,6 +122,19 @@ public class IsIsPseudonode implements IGPRouterID, BgpValueType { | ... | @@ -125,6 +122,19 @@ public class IsIsPseudonode implements IGPRouterID, BgpValueType { |
| 125 | } | 122 | } |
| 126 | 123 | ||
| 127 | @Override | 124 | @Override |
| 125 | + public int compareTo(Object o) { | ||
| 126 | + if (this.equals(o)) { | ||
| 127 | + return 0; | ||
| 128 | + } | ||
| 129 | + ByteBuffer value1 = ByteBuffer.wrap(this.isoNodeID); | ||
| 130 | + ByteBuffer value2 = ByteBuffer.wrap(((IsIsPseudonode) o).isoNodeID); | ||
| 131 | + if (value1.compareTo(value2) != 0) { | ||
| 132 | + return value1.compareTo(value2); | ||
| 133 | + } | ||
| 134 | + return ((Byte) (this.psnIdentifier)).compareTo((Byte) (((IsIsPseudonode) o).psnIdentifier)); | ||
| 135 | + } | ||
| 136 | + | ||
| 137 | + @Override | ||
| 128 | public String toString() { | 138 | public String toString() { |
| 129 | return MoreObjects.toStringHelper(getClass()) | 139 | return MoreObjects.toStringHelper(getClass()) |
| 130 | .add("Type", TYPE) | 140 | .add("Type", TYPE) | ... | ... |
| ... | @@ -18,8 +18,6 @@ package org.onosproject.bgpio.types; | ... | @@ -18,8 +18,6 @@ package org.onosproject.bgpio.types; |
| 18 | import java.util.Objects; | 18 | import java.util.Objects; |
| 19 | 19 | ||
| 20 | import org.jboss.netty.buffer.ChannelBuffer; | 20 | import org.jboss.netty.buffer.ChannelBuffer; |
| 21 | -import org.slf4j.Logger; | ||
| 22 | -import org.slf4j.LoggerFactory; | ||
| 23 | 21 | ||
| 24 | import com.google.common.base.MoreObjects; | 22 | import com.google.common.base.MoreObjects; |
| 25 | 23 | ||
| ... | @@ -27,7 +25,6 @@ import com.google.common.base.MoreObjects; | ... | @@ -27,7 +25,6 @@ import com.google.common.base.MoreObjects; |
| 27 | * Provides Implementation of Link Local/Remote IdentifiersTlv. | 25 | * Provides Implementation of Link Local/Remote IdentifiersTlv. |
| 28 | */ | 26 | */ |
| 29 | public class LinkLocalRemoteIdentifiersTlv implements BgpValueType { | 27 | public class LinkLocalRemoteIdentifiersTlv implements BgpValueType { |
| 30 | - private static final Logger log = LoggerFactory.getLogger(LinkLocalRemoteIdentifiersTlv.class); | ||
| 31 | public static final short TYPE = 258; | 28 | public static final short TYPE = 258; |
| 32 | private static final int LENGTH = 8; | 29 | private static final int LENGTH = 8; |
| 33 | 30 | ||
| ... | @@ -120,6 +117,20 @@ public class LinkLocalRemoteIdentifiersTlv implements BgpValueType { | ... | @@ -120,6 +117,20 @@ public class LinkLocalRemoteIdentifiersTlv implements BgpValueType { |
| 120 | } | 117 | } |
| 121 | 118 | ||
| 122 | @Override | 119 | @Override |
| 120 | + public int compareTo(Object o) { | ||
| 121 | + if (this.equals(o)) { | ||
| 122 | + return 0; | ||
| 123 | + } | ||
| 124 | + int result = ((Integer) (this.linkLocalIdentifer)) | ||
| 125 | + .compareTo((Integer) (((LinkLocalRemoteIdentifiersTlv) o).linkLocalIdentifer)); | ||
| 126 | + if (result != 0) { | ||
| 127 | + return result; | ||
| 128 | + } | ||
| 129 | + return ((Integer) (this.linkRemoteIdentifer)) | ||
| 130 | + .compareTo((Integer) (((LinkLocalRemoteIdentifiersTlv) o).linkRemoteIdentifer)); | ||
| 131 | + } | ||
| 132 | + | ||
| 133 | + @Override | ||
| 123 | public String toString() { | 134 | public String toString() { |
| 124 | return MoreObjects.toStringHelper(getClass()) | 135 | return MoreObjects.toStringHelper(getClass()) |
| 125 | .add("TYPE", TYPE) | 136 | .add("TYPE", TYPE) | ... | ... |
| ... | @@ -305,4 +305,10 @@ public class LinkStateAttributes implements BgpValueType { | ... | @@ -305,4 +305,10 @@ public class LinkStateAttributes implements BgpValueType { |
| 305 | return MoreObjects.toStringHelper(getClass()).omitNullValues() | 305 | return MoreObjects.toStringHelper(getClass()).omitNullValues() |
| 306 | .add("linkStateAttribList", linkStateAttribList).toString(); | 306 | .add("linkStateAttribList", linkStateAttribList).toString(); |
| 307 | } | 307 | } |
| 308 | + | ||
| 309 | + @Override | ||
| 310 | + public int compareTo(Object o) { | ||
| 311 | + // TODO Auto-generated method stub | ||
| 312 | + return 0; | ||
| 313 | + } | ||
| 308 | } | 314 | } | ... | ... |
| ... | @@ -112,4 +112,10 @@ public class LocalPref implements BgpValueType { | ... | @@ -112,4 +112,10 @@ public class LocalPref implements BgpValueType { |
| 112 | //Not to implement as of now | 112 | //Not to implement as of now |
| 113 | return 0; | 113 | return 0; |
| 114 | } | 114 | } |
| 115 | + | ||
| 116 | + @Override | ||
| 117 | + public int compareTo(Object o) { | ||
| 118 | + // TODO Auto-generated method stub | ||
| 119 | + return 0; | ||
| 120 | + } | ||
| 115 | } | 121 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -112,4 +112,10 @@ public class Med implements BgpValueType { | ... | @@ -112,4 +112,10 @@ public class Med implements BgpValueType { |
| 112 | //Not to implement as of now | 112 | //Not to implement as of now |
| 113 | return 0; | 113 | return 0; |
| 114 | } | 114 | } |
| 115 | + | ||
| 116 | + @Override | ||
| 117 | + public int compareTo(Object o) { | ||
| 118 | + // TODO Auto-generated method stub | ||
| 119 | + return 0; | ||
| 120 | + } | ||
| 115 | } | 121 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -216,4 +216,10 @@ public class MpReachNlri implements BgpValueType { | ... | @@ -216,4 +216,10 @@ public class MpReachNlri implements BgpValueType { |
| 216 | .add("length", length) | 216 | .add("length", length) |
| 217 | .toString(); | 217 | .toString(); |
| 218 | } | 218 | } |
| 219 | + | ||
| 220 | + @Override | ||
| 221 | + public int compareTo(Object o) { | ||
| 222 | + // TODO Auto-generated method stub | ||
| 223 | + return 0; | ||
| 224 | + } | ||
| 219 | } | 225 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -193,6 +193,12 @@ public class MpUnReachNlri implements BgpValueType { | ... | @@ -193,6 +193,12 @@ public class MpUnReachNlri implements BgpValueType { |
| 193 | } | 193 | } |
| 194 | 194 | ||
| 195 | @Override | 195 | @Override |
| 196 | + public int compareTo(Object o) { | ||
| 197 | + // TODO Auto-generated method stub | ||
| 198 | + return 0; | ||
| 199 | + } | ||
| 200 | + | ||
| 201 | + @Override | ||
| 196 | public String toString() { | 202 | public String toString() { |
| 197 | return MoreObjects.toStringHelper(getClass()) | 203 | return MoreObjects.toStringHelper(getClass()) |
| 198 | .add("mpReachNlri", mpUnReachNlri) | 204 | .add("mpReachNlri", mpUnReachNlri) | ... | ... |
bgp/bgpio/src/main/java/org/onosproject/bgpio/types/MultiProtocolExtnCapabilityTlv.java
100755 → 100644
| ... | @@ -157,4 +157,10 @@ public class MultiProtocolExtnCapabilityTlv implements BgpValueType { | ... | @@ -157,4 +157,10 @@ public class MultiProtocolExtnCapabilityTlv implements BgpValueType { |
| 157 | .add("Reserved", res) | 157 | .add("Reserved", res) |
| 158 | .add("SAFI", safi).toString(); | 158 | .add("SAFI", safi).toString(); |
| 159 | } | 159 | } |
| 160 | + | ||
| 161 | + @Override | ||
| 162 | + public int compareTo(Object o) { | ||
| 163 | + // TODO Auto-generated method stub | ||
| 164 | + return 0; | ||
| 165 | + } | ||
| 160 | } | 166 | } | ... | ... |
| ... | @@ -130,4 +130,10 @@ public class NextHop implements BgpValueType { | ... | @@ -130,4 +130,10 @@ public class NextHop implements BgpValueType { |
| 130 | .add("nextHop", nextHop) | 130 | .add("nextHop", nextHop) |
| 131 | .toString(); | 131 | .toString(); |
| 132 | } | 132 | } |
| 133 | + | ||
| 134 | + @Override | ||
| 135 | + public int compareTo(Object o) { | ||
| 136 | + // TODO Auto-generated method stub | ||
| 137 | + return 0; | ||
| 138 | + } | ||
| 133 | } | 139 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -20,8 +20,6 @@ import java.util.Objects; | ... | @@ -20,8 +20,6 @@ import java.util.Objects; |
| 20 | 20 | ||
| 21 | import org.jboss.netty.buffer.ChannelBuffer; | 21 | import org.jboss.netty.buffer.ChannelBuffer; |
| 22 | import org.onosproject.bgpio.protocol.IGPRouterID; | 22 | import org.onosproject.bgpio.protocol.IGPRouterID; |
| 23 | -import org.slf4j.Logger; | ||
| 24 | -import org.slf4j.LoggerFactory; | ||
| 25 | 23 | ||
| 26 | import com.google.common.base.MoreObjects; | 24 | import com.google.common.base.MoreObjects; |
| 27 | 25 | ||
| ... | @@ -29,9 +27,6 @@ import com.google.common.base.MoreObjects; | ... | @@ -29,9 +27,6 @@ import com.google.common.base.MoreObjects; |
| 29 | * Provides implementation of OSPFNonPseudonode Tlv. | 27 | * Provides implementation of OSPFNonPseudonode Tlv. |
| 30 | */ | 28 | */ |
| 31 | public class OSPFNonPseudonode implements IGPRouterID, BgpValueType { | 29 | public class OSPFNonPseudonode implements IGPRouterID, BgpValueType { |
| 32 | - | ||
| 33 | - protected static final Logger log = LoggerFactory.getLogger(OSPFNonPseudonode.class); | ||
| 34 | - | ||
| 35 | public static final short TYPE = 515; | 30 | public static final short TYPE = 515; |
| 36 | public static final short LENGTH = 4; | 31 | public static final short LENGTH = 4; |
| 37 | 32 | ||
| ... | @@ -108,6 +103,14 @@ public class OSPFNonPseudonode implements IGPRouterID, BgpValueType { | ... | @@ -108,6 +103,14 @@ public class OSPFNonPseudonode implements IGPRouterID, BgpValueType { |
| 108 | } | 103 | } |
| 109 | 104 | ||
| 110 | @Override | 105 | @Override |
| 106 | + public int compareTo(Object o) { | ||
| 107 | + if (this.equals(o)) { | ||
| 108 | + return 0; | ||
| 109 | + } | ||
| 110 | + return ((Integer) (this.routerID)).compareTo((Integer) (((OSPFNonPseudonode) o).routerID)); | ||
| 111 | + } | ||
| 112 | + | ||
| 113 | + @Override | ||
| 111 | public String toString() { | 114 | public String toString() { |
| 112 | return MoreObjects.toStringHelper(getClass()) | 115 | return MoreObjects.toStringHelper(getClass()) |
| 113 | .add("Type", TYPE) | 116 | .add("Type", TYPE) | ... | ... |
| ... | @@ -20,8 +20,6 @@ import java.util.Objects; | ... | @@ -20,8 +20,6 @@ import java.util.Objects; |
| 20 | import org.jboss.netty.buffer.ChannelBuffer; | 20 | import org.jboss.netty.buffer.ChannelBuffer; |
| 21 | import org.onlab.packet.Ip4Address; | 21 | import org.onlab.packet.Ip4Address; |
| 22 | import org.onosproject.bgpio.protocol.IGPRouterID; | 22 | import org.onosproject.bgpio.protocol.IGPRouterID; |
| 23 | -import org.slf4j.Logger; | ||
| 24 | -import org.slf4j.LoggerFactory; | ||
| 25 | 23 | ||
| 26 | import com.google.common.base.MoreObjects; | 24 | import com.google.common.base.MoreObjects; |
| 27 | 25 | ||
| ... | @@ -29,9 +27,6 @@ import com.google.common.base.MoreObjects; | ... | @@ -29,9 +27,6 @@ import com.google.common.base.MoreObjects; |
| 29 | * Provides implementation of OSPFPseudonode Tlv. | 27 | * Provides implementation of OSPFPseudonode Tlv. |
| 30 | */ | 28 | */ |
| 31 | public class OSPFPseudonode implements IGPRouterID, BgpValueType { | 29 | public class OSPFPseudonode implements IGPRouterID, BgpValueType { |
| 32 | - | ||
| 33 | - protected static final Logger log = LoggerFactory.getLogger(OSPFPseudonode.class); | ||
| 34 | - | ||
| 35 | public static final short TYPE = 515; | 30 | public static final short TYPE = 515; |
| 36 | public static final short LENGTH = 8; | 31 | public static final short LENGTH = 8; |
| 37 | 32 | ||
| ... | @@ -114,6 +109,18 @@ public class OSPFPseudonode implements IGPRouterID, BgpValueType { | ... | @@ -114,6 +109,18 @@ public class OSPFPseudonode implements IGPRouterID, BgpValueType { |
| 114 | } | 109 | } |
| 115 | 110 | ||
| 116 | @Override | 111 | @Override |
| 112 | + public int compareTo(Object o) { | ||
| 113 | + if (this.equals(o)) { | ||
| 114 | + return 0; | ||
| 115 | + } | ||
| 116 | + int result = ((Integer) (this.routerID)).compareTo((Integer) (((OSPFPseudonode) o).routerID)); | ||
| 117 | + if (result != 0) { | ||
| 118 | + return this.drInterface.compareTo(((OSPFPseudonode) o).drInterface); | ||
| 119 | + } | ||
| 120 | + return result; | ||
| 121 | + } | ||
| 122 | + | ||
| 123 | + @Override | ||
| 117 | public String toString() { | 124 | public String toString() { |
| 118 | return MoreObjects.toStringHelper(getClass()) | 125 | return MoreObjects.toStringHelper(getClass()) |
| 119 | .add("Type", TYPE) | 126 | .add("Type", TYPE) | ... | ... |
| ... | @@ -19,8 +19,6 @@ import java.util.Objects; | ... | @@ -19,8 +19,6 @@ import java.util.Objects; |
| 19 | 19 | ||
| 20 | import org.jboss.netty.buffer.ChannelBuffer; | 20 | import org.jboss.netty.buffer.ChannelBuffer; |
| 21 | import org.onosproject.bgpio.exceptions.BgpParseException; | 21 | import org.onosproject.bgpio.exceptions.BgpParseException; |
| 22 | -import org.slf4j.Logger; | ||
| 23 | -import org.slf4j.LoggerFactory; | ||
| 24 | 22 | ||
| 25 | import com.google.common.base.MoreObjects; | 23 | import com.google.common.base.MoreObjects; |
| 26 | 24 | ||
| ... | @@ -41,8 +39,6 @@ public class OSPFRouteTypeTlv implements BgpValueType { | ... | @@ -41,8 +39,6 @@ public class OSPFRouteTypeTlv implements BgpValueType { |
| 41 | Figure : OSPF Route Type TLV Format | 39 | Figure : OSPF Route Type TLV Format |
| 42 | */ | 40 | */ |
| 43 | 41 | ||
| 44 | - protected static final Logger log = LoggerFactory.getLogger(OSPFRouteTypeTlv.class); | ||
| 45 | - | ||
| 46 | public static final short TYPE = 264; | 42 | public static final short TYPE = 264; |
| 47 | public static final short LENGTH = 1; | 43 | public static final short LENGTH = 1; |
| 48 | public static final int INTRA_AREA_TYPE = 1; | 44 | public static final int INTRA_AREA_TYPE = 1; |
| ... | @@ -51,15 +47,16 @@ public class OSPFRouteTypeTlv implements BgpValueType { | ... | @@ -51,15 +47,16 @@ public class OSPFRouteTypeTlv implements BgpValueType { |
| 51 | public static final short EXTERNAL_TYPE_2 = 4; | 47 | public static final short EXTERNAL_TYPE_2 = 4; |
| 52 | public static final short NSSA_TYPE_1 = 5; | 48 | public static final short NSSA_TYPE_1 = 5; |
| 53 | public static final short NSSA_TYPE_2 = 6; | 49 | public static final short NSSA_TYPE_2 = 6; |
| 50 | + | ||
| 54 | private final byte routeType; | 51 | private final byte routeType; |
| 55 | 52 | ||
| 56 | /** | 53 | /** |
| 57 | * Enum for Route Type. | 54 | * Enum for Route Type. |
| 58 | */ | 55 | */ |
| 59 | - public enum ROUTETYPE { | 56 | + public enum RouteType { |
| 60 | Intra_Area(1), Inter_Area(2), External_1(3), External_2(4), NSSA_1(5), NSSA_2(6); | 57 | Intra_Area(1), Inter_Area(2), External_1(3), External_2(4), NSSA_1(5), NSSA_2(6); |
| 61 | int value; | 58 | int value; |
| 62 | - ROUTETYPE(int val) { | 59 | + RouteType(int val) { |
| 63 | value = val; | 60 | value = val; |
| 64 | } | 61 | } |
| 65 | public byte getType() { | 62 | public byte getType() { |
| ... | @@ -92,20 +89,20 @@ public class OSPFRouteTypeTlv implements BgpValueType { | ... | @@ -92,20 +89,20 @@ public class OSPFRouteTypeTlv implements BgpValueType { |
| 92 | * @return RouteType | 89 | * @return RouteType |
| 93 | * @throws BgpParseException if routeType is not matched | 90 | * @throws BgpParseException if routeType is not matched |
| 94 | */ | 91 | */ |
| 95 | - public ROUTETYPE getValue() throws BgpParseException { | 92 | + public RouteType getValue() throws BgpParseException { |
| 96 | switch (routeType) { | 93 | switch (routeType) { |
| 97 | case INTRA_AREA_TYPE: | 94 | case INTRA_AREA_TYPE: |
| 98 | - return ROUTETYPE.Intra_Area; | 95 | + return RouteType.Intra_Area; |
| 99 | case INTER_AREA_TYPE: | 96 | case INTER_AREA_TYPE: |
| 100 | - return ROUTETYPE.Inter_Area; | 97 | + return RouteType.Inter_Area; |
| 101 | case EXTERNAL_TYPE_1: | 98 | case EXTERNAL_TYPE_1: |
| 102 | - return ROUTETYPE.External_1; | 99 | + return RouteType.External_1; |
| 103 | case EXTERNAL_TYPE_2: | 100 | case EXTERNAL_TYPE_2: |
| 104 | - return ROUTETYPE.External_2; | 101 | + return RouteType.External_2; |
| 105 | case NSSA_TYPE_1: | 102 | case NSSA_TYPE_1: |
| 106 | - return ROUTETYPE.NSSA_1; | 103 | + return RouteType.NSSA_1; |
| 107 | case NSSA_TYPE_2: | 104 | case NSSA_TYPE_2: |
| 108 | - return ROUTETYPE.NSSA_2; | 105 | + return RouteType.NSSA_2; |
| 109 | default: | 106 | default: |
| 110 | throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, (byte) 0, null); | 107 | throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, (byte) 0, null); |
| 111 | } | 108 | } |
| ... | @@ -153,6 +150,14 @@ public class OSPFRouteTypeTlv implements BgpValueType { | ... | @@ -153,6 +150,14 @@ public class OSPFRouteTypeTlv implements BgpValueType { |
| 153 | } | 150 | } |
| 154 | 151 | ||
| 155 | @Override | 152 | @Override |
| 153 | + public int compareTo(Object o) { | ||
| 154 | + if (this.equals(o)) { | ||
| 155 | + return 0; | ||
| 156 | + } | ||
| 157 | + return ((Byte) (this.routeType)).compareTo((Byte) (((OSPFRouteTypeTlv) o).routeType)); | ||
| 158 | + } | ||
| 159 | + | ||
| 160 | + @Override | ||
| 156 | public String toString() { | 161 | public String toString() { |
| 157 | return MoreObjects.toStringHelper(getClass()) | 162 | return MoreObjects.toStringHelper(getClass()) |
| 158 | .add("Type", TYPE) | 163 | .add("Type", TYPE) | ... | ... |
| ... | @@ -159,4 +159,10 @@ public class Origin implements BgpValueType { | ... | @@ -159,4 +159,10 @@ public class Origin implements BgpValueType { |
| 159 | .add("origin", origin) | 159 | .add("origin", origin) |
| 160 | .toString(); | 160 | .toString(); |
| 161 | } | 161 | } |
| 162 | + | ||
| 163 | + @Override | ||
| 164 | + public int compareTo(Object o) { | ||
| 165 | + // TODO Auto-generated method stub | ||
| 166 | + return 0; | ||
| 167 | + } | ||
| 162 | } | 168 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -18,10 +18,12 @@ package org.onosproject.bgpio.types; | ... | @@ -18,10 +18,12 @@ package org.onosproject.bgpio.types; |
| 18 | 18 | ||
| 19 | import org.jboss.netty.buffer.ChannelBuffer; | 19 | import org.jboss.netty.buffer.ChannelBuffer; |
| 20 | 20 | ||
| 21 | +import com.google.common.base.MoreObjects; | ||
| 22 | + | ||
| 21 | /** | 23 | /** |
| 22 | * Implementation of RouteDistinguisher. | 24 | * Implementation of RouteDistinguisher. |
| 23 | */ | 25 | */ |
| 24 | -public class RouteDistinguisher { | 26 | +public class RouteDistinguisher implements Comparable<RouteDistinguisher> { |
| 25 | 27 | ||
| 26 | private long routeDistinguisher; | 28 | private long routeDistinguisher; |
| 27 | 29 | ||
| ... | @@ -59,4 +61,19 @@ public class RouteDistinguisher { | ... | @@ -59,4 +61,19 @@ public class RouteDistinguisher { |
| 59 | public long getRouteDistinguisher() { | 61 | public long getRouteDistinguisher() { |
| 60 | return this.routeDistinguisher; | 62 | return this.routeDistinguisher; |
| 61 | } | 63 | } |
| 64 | + | ||
| 65 | + @Override | ||
| 66 | + public int compareTo(RouteDistinguisher rd) { | ||
| 67 | + if (this.equals(rd)) { | ||
| 68 | + return 0; | ||
| 69 | + } | ||
| 70 | + return ((Long) (this.getRouteDistinguisher())).compareTo((Long) (rd.getRouteDistinguisher())); | ||
| 71 | + } | ||
| 72 | + | ||
| 73 | + @Override | ||
| 74 | + public String toString() { | ||
| 75 | + return MoreObjects.toStringHelper(getClass()) | ||
| 76 | + .add("routeDistinguisher", routeDistinguisher) | ||
| 77 | + .toString(); | ||
| 78 | + } | ||
| 62 | } | 79 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -190,4 +190,10 @@ public final class BgpAttrNodeFlagBitTlv implements BgpValueType { | ... | @@ -190,4 +190,10 @@ public final class BgpAttrNodeFlagBitTlv implements BgpValueType { |
| 190 | .add("bExternalBit", bExternalBit).add("bAbrBit", bAbrBit) | 190 | .add("bExternalBit", bExternalBit).add("bAbrBit", bAbrBit) |
| 191 | .toString(); | 191 | .toString(); |
| 192 | } | 192 | } |
| 193 | + | ||
| 194 | + @Override | ||
| 195 | + public int compareTo(Object o) { | ||
| 196 | + // TODO Auto-generated method stub | ||
| 197 | + return 0; | ||
| 198 | + } | ||
| 193 | } | 199 | } | ... | ... |
| ... | @@ -127,4 +127,10 @@ public class BgpAttrNodeIsIsAreaId implements BgpValueType { | ... | @@ -127,4 +127,10 @@ public class BgpAttrNodeIsIsAreaId implements BgpValueType { |
| 127 | return MoreObjects.toStringHelper(getClass()).omitNullValues() | 127 | return MoreObjects.toStringHelper(getClass()).omitNullValues() |
| 128 | .add("isisAreaId", isisAreaId).toString(); | 128 | .add("isisAreaId", isisAreaId).toString(); |
| 129 | } | 129 | } |
| 130 | + | ||
| 131 | + @Override | ||
| 132 | + public int compareTo(Object o) { | ||
| 133 | + // TODO Auto-generated method stub | ||
| 134 | + return 0; | ||
| 135 | + } | ||
| 130 | } | 136 | } | ... | ... |
| ... | @@ -17,6 +17,7 @@ package org.onosproject.bgpio.types.attr; | ... | @@ -17,6 +17,7 @@ package org.onosproject.bgpio.types.attr; |
| 17 | 17 | ||
| 18 | import java.util.ArrayList; | 18 | import java.util.ArrayList; |
| 19 | import java.util.List; | 19 | import java.util.List; |
| 20 | +import java.util.ListIterator; | ||
| 20 | import java.util.Objects; | 21 | import java.util.Objects; |
| 21 | 22 | ||
| 22 | import org.jboss.netty.buffer.ChannelBuffer; | 23 | import org.jboss.netty.buffer.ChannelBuffer; |
| ... | @@ -134,4 +135,30 @@ public class BgpAttrNodeMultiTopologyId implements BgpValueType { | ... | @@ -134,4 +135,30 @@ public class BgpAttrNodeMultiTopologyId implements BgpValueType { |
| 134 | .add("multiTopologyId", multiTopologyId) | 135 | .add("multiTopologyId", multiTopologyId) |
| 135 | .toString(); | 136 | .toString(); |
| 136 | } | 137 | } |
| 138 | + | ||
| 139 | + @Override | ||
| 140 | + public int compareTo(Object o) { | ||
| 141 | + if (this.equals(o)) { | ||
| 142 | + return 0; | ||
| 143 | + } | ||
| 144 | + int countOtherSubTlv = ((BgpAttrNodeMultiTopologyId) o).multiTopologyId.size(); | ||
| 145 | + int countObjSubTlv = multiTopologyId.size(); | ||
| 146 | + if (countOtherSubTlv != countObjSubTlv) { | ||
| 147 | + if (countOtherSubTlv > countObjSubTlv) { | ||
| 148 | + return 1; | ||
| 149 | + } else { | ||
| 150 | + return -1; | ||
| 151 | + } | ||
| 152 | + } | ||
| 153 | + ListIterator<Short> listIterator = multiTopologyId.listIterator(); | ||
| 154 | + ListIterator<Short> listIteratorOther = ((BgpAttrNodeMultiTopologyId) o).multiTopologyId.listIterator(); | ||
| 155 | + while (listIterator.hasNext()) { | ||
| 156 | + short id = listIterator.next(); | ||
| 157 | + short id1 = listIteratorOther.next(); | ||
| 158 | + if (((Short) id).compareTo((Short) id1) != 0) { | ||
| 159 | + return ((Short) id).compareTo((Short) id1); | ||
| 160 | + } | ||
| 161 | + } | ||
| 162 | + return 0; | ||
| 163 | + } | ||
| 137 | } | 164 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -126,4 +126,10 @@ public class BgpAttrNodeName implements BgpValueType { | ... | @@ -126,4 +126,10 @@ public class BgpAttrNodeName implements BgpValueType { |
| 126 | return MoreObjects.toStringHelper(getClass()).omitNullValues() | 126 | return MoreObjects.toStringHelper(getClass()).omitNullValues() |
| 127 | .add("nodeName", nodeName).toString(); | 127 | .add("nodeName", nodeName).toString(); |
| 128 | } | 128 | } |
| 129 | + | ||
| 130 | + @Override | ||
| 131 | + public int compareTo(Object o) { | ||
| 132 | + // TODO Auto-generated method stub | ||
| 133 | + return 0; | ||
| 134 | + } | ||
| 129 | } | 135 | } | ... | ... |
| ... | @@ -130,4 +130,9 @@ public class BgpAttrOpaqueNode implements BgpValueType { | ... | @@ -130,4 +130,9 @@ public class BgpAttrOpaqueNode implements BgpValueType { |
| 130 | .add("opaqueNodeAttribute", opaqueNodeAttribute).toString(); | 130 | .add("opaqueNodeAttribute", opaqueNodeAttribute).toString(); |
| 131 | } | 131 | } |
| 132 | 132 | ||
| 133 | + @Override | ||
| 134 | + public int compareTo(Object o) { | ||
| 135 | + // TODO Auto-generated method stub | ||
| 136 | + return 0; | ||
| 137 | + } | ||
| 133 | } | 138 | } | ... | ... |
| ... | @@ -131,4 +131,10 @@ public final class BgpAttrRouterIdV4 implements BgpValueType { | ... | @@ -131,4 +131,10 @@ public final class BgpAttrRouterIdV4 implements BgpValueType { |
| 131 | return MoreObjects.toStringHelper(getClass()).omitNullValues() | 131 | return MoreObjects.toStringHelper(getClass()).omitNullValues() |
| 132 | .add("ip4RouterId", ip4RouterId).toString(); | 132 | .add("ip4RouterId", ip4RouterId).toString(); |
| 133 | } | 133 | } |
| 134 | + | ||
| 135 | + @Override | ||
| 136 | + public int compareTo(Object o) { | ||
| 137 | + // TODO Auto-generated method stub | ||
| 138 | + return 0; | ||
| 139 | + } | ||
| 134 | } | 140 | } | ... | ... |
| ... | @@ -134,4 +134,10 @@ public final class BgpAttrRouterIdV6 implements BgpValueType { | ... | @@ -134,4 +134,10 @@ public final class BgpAttrRouterIdV6 implements BgpValueType { |
| 134 | return MoreObjects.toStringHelper(getClass()).omitNullValues() | 134 | return MoreObjects.toStringHelper(getClass()).omitNullValues() |
| 135 | .add("ip6RouterId", ip6RouterId).toString(); | 135 | .add("ip6RouterId", ip6RouterId).toString(); |
| 136 | } | 136 | } |
| 137 | + | ||
| 138 | + @Override | ||
| 139 | + public int compareTo(Object o) { | ||
| 140 | + // TODO Auto-generated method stub | ||
| 141 | + return 0; | ||
| 142 | + } | ||
| 137 | } | 143 | } | ... | ... |
| ... | @@ -169,4 +169,10 @@ public class BgpLinkAttrIgpMetric implements BgpValueType { | ... | @@ -169,4 +169,10 @@ public class BgpLinkAttrIgpMetric implements BgpValueType { |
| 169 | .add("igpMetric", igpMetric).add("igpMetricLen", igpMetricLen) | 169 | .add("igpMetric", igpMetric).add("igpMetricLen", igpMetricLen) |
| 170 | .toString(); | 170 | .toString(); |
| 171 | } | 171 | } |
| 172 | + | ||
| 173 | + @Override | ||
| 174 | + public int compareTo(Object o) { | ||
| 175 | + // TODO Auto-generated method stub | ||
| 176 | + return 0; | ||
| 177 | + } | ||
| 172 | } | 178 | } | ... | ... |
| ... | @@ -127,4 +127,10 @@ public final class BgpLinkAttrIsIsAdminstGrp implements BgpValueType { | ... | @@ -127,4 +127,10 @@ public final class BgpLinkAttrIsIsAdminstGrp implements BgpValueType { |
| 127 | return MoreObjects.toStringHelper(getClass()) | 127 | return MoreObjects.toStringHelper(getClass()) |
| 128 | .add("isisAdminGrp", isisAdminGrp).toString(); | 128 | .add("isisAdminGrp", isisAdminGrp).toString(); |
| 129 | } | 129 | } |
| 130 | + | ||
| 131 | + @Override | ||
| 132 | + public int compareTo(Object o) { | ||
| 133 | + // TODO Auto-generated method stub | ||
| 134 | + return 0; | ||
| 135 | + } | ||
| 130 | } | 136 | } | ... | ... |
| ... | @@ -147,4 +147,10 @@ public final class BgpLinkAttrMaxLinkBandwidth implements BgpValueType { | ... | @@ -147,4 +147,10 @@ public final class BgpLinkAttrMaxLinkBandwidth implements BgpValueType { |
| 147 | return MoreObjects.toStringHelper(getClass()) | 147 | return MoreObjects.toStringHelper(getClass()) |
| 148 | .add("maxBandwidth", maxBandwidth).toString(); | 148 | .add("maxBandwidth", maxBandwidth).toString(); |
| 149 | } | 149 | } |
| 150 | + | ||
| 151 | + @Override | ||
| 152 | + public int compareTo(Object o) { | ||
| 153 | + // TODO Auto-generated method stub | ||
| 154 | + return 0; | ||
| 155 | + } | ||
| 150 | } | 156 | } | ... | ... |
bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrMplsProtocolMask.java
100755 → 100644
| ... | @@ -149,4 +149,10 @@ public class BgpLinkAttrMplsProtocolMask implements BgpValueType { | ... | @@ -149,4 +149,10 @@ public class BgpLinkAttrMplsProtocolMask implements BgpValueType { |
| 149 | return MoreObjects.toStringHelper(getClass()) | 149 | return MoreObjects.toStringHelper(getClass()) |
| 150 | .add("bLdp", bLdp).add("bRsvpTe", bRsvpTe).toString(); | 150 | .add("bLdp", bLdp).add("bRsvpTe", bRsvpTe).toString(); |
| 151 | } | 151 | } |
| 152 | + | ||
| 153 | + @Override | ||
| 154 | + public int compareTo(Object o) { | ||
| 155 | + // TODO Auto-generated method stub | ||
| 156 | + return 0; | ||
| 157 | + } | ||
| 152 | } | 158 | } | ... | ... |
| ... | @@ -125,4 +125,10 @@ public class BgpLinkAttrName implements BgpValueType { | ... | @@ -125,4 +125,10 @@ public class BgpLinkAttrName implements BgpValueType { |
| 125 | return MoreObjects.toStringHelper(getClass()).omitNullValues() | 125 | return MoreObjects.toStringHelper(getClass()).omitNullValues() |
| 126 | .add("linkName", linkName).toString(); | 126 | .add("linkName", linkName).toString(); |
| 127 | } | 127 | } |
| 128 | + | ||
| 129 | + @Override | ||
| 130 | + public int compareTo(Object o) { | ||
| 131 | + // TODO Auto-generated method stub | ||
| 132 | + return 0; | ||
| 133 | + } | ||
| 128 | } | 134 | } | ... | ... |
bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrOpaqLnkAttrib.java
100755 → 100644
| ... | @@ -130,4 +130,10 @@ public final class BgpLinkAttrOpaqLnkAttrib implements BgpValueType { | ... | @@ -130,4 +130,10 @@ public final class BgpLinkAttrOpaqLnkAttrib implements BgpValueType { |
| 130 | return MoreObjects.toStringHelper(getClass()).omitNullValues() | 130 | return MoreObjects.toStringHelper(getClass()).omitNullValues() |
| 131 | .add("opaqueLinkAttribute", opaqueLinkAttribute).toString(); | 131 | .add("opaqueLinkAttribute", opaqueLinkAttribute).toString(); |
| 132 | } | 132 | } |
| 133 | + | ||
| 134 | + @Override | ||
| 135 | + public int compareTo(Object o) { | ||
| 136 | + // TODO Auto-generated method stub | ||
| 137 | + return 0; | ||
| 138 | + } | ||
| 133 | } | 139 | } | ... | ... |
bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrProtectionType.java
100755 → 100644
| ... | @@ -237,4 +237,10 @@ public final class BgpLinkAttrProtectionType implements BgpValueType { | ... | @@ -237,4 +237,10 @@ public final class BgpLinkAttrProtectionType implements BgpValueType { |
| 237 | .add("bDedOnePlusOne", bDedOnePlusOne) | 237 | .add("bDedOnePlusOne", bDedOnePlusOne) |
| 238 | .add("bEnhanced", bEnhanced).toString(); | 238 | .add("bEnhanced", bEnhanced).toString(); |
| 239 | } | 239 | } |
| 240 | + | ||
| 241 | + @Override | ||
| 242 | + public int compareTo(Object o) { | ||
| 243 | + // TODO Auto-generated method stub | ||
| 244 | + return 0; | ||
| 245 | + } | ||
| 240 | } | 246 | } | ... | ... |
| ... | @@ -127,4 +127,10 @@ public class BgpLinkAttrSrlg implements BgpValueType { | ... | @@ -127,4 +127,10 @@ public class BgpLinkAttrSrlg implements BgpValueType { |
| 127 | public String toString() { | 127 | public String toString() { |
| 128 | return MoreObjects.toStringHelper(getClass()).omitNullValues().add("sRlg", sRlg).toString(); | 128 | return MoreObjects.toStringHelper(getClass()).omitNullValues().add("sRlg", sRlg).toString(); |
| 129 | } | 129 | } |
| 130 | + | ||
| 131 | + @Override | ||
| 132 | + public int compareTo(Object o) { | ||
| 133 | + // TODO Auto-generated method stub | ||
| 134 | + return 0; | ||
| 135 | + } | ||
| 130 | } | 136 | } | ... | ... |
bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrTeDefaultMetric.java
100755 → 100644
| ... | @@ -129,4 +129,10 @@ public class BgpLinkAttrTeDefaultMetric implements BgpValueType { | ... | @@ -129,4 +129,10 @@ public class BgpLinkAttrTeDefaultMetric implements BgpValueType { |
| 129 | return MoreObjects.toStringHelper(getClass()) | 129 | return MoreObjects.toStringHelper(getClass()) |
| 130 | .add("linkTEMetric", linkTeMetric).toString(); | 130 | .add("linkTEMetric", linkTeMetric).toString(); |
| 131 | } | 131 | } |
| 132 | + | ||
| 133 | + @Override | ||
| 134 | + public int compareTo(Object o) { | ||
| 135 | + // TODO Auto-generated method stub | ||
| 136 | + return 0; | ||
| 137 | + } | ||
| 132 | } | 138 | } | ... | ... |
| ... | @@ -154,4 +154,10 @@ public class BgpLinkAttrUnRsrvdLinkBandwidth implements BgpValueType { | ... | @@ -154,4 +154,10 @@ public class BgpLinkAttrUnRsrvdLinkBandwidth implements BgpValueType { |
| 154 | return MoreObjects.toStringHelper(getClass()).omitNullValues() | 154 | return MoreObjects.toStringHelper(getClass()).omitNullValues() |
| 155 | .add("maxUnResBandwidth", maxUnResBandwidth).toString(); | 155 | .add("maxUnResBandwidth", maxUnResBandwidth).toString(); |
| 156 | } | 156 | } |
| 157 | + | ||
| 158 | + @Override | ||
| 159 | + public int compareTo(Object o) { | ||
| 160 | + // TODO Auto-generated method stub | ||
| 161 | + return 0; | ||
| 162 | + } | ||
| 157 | } | 163 | } | ... | ... |
bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrExtRouteTag.java
100755 → 100644
| ... | @@ -136,4 +136,10 @@ public class BgpPrefixAttrExtRouteTag implements BgpValueType { | ... | @@ -136,4 +136,10 @@ public class BgpPrefixAttrExtRouteTag implements BgpValueType { |
| 136 | return MoreObjects.toStringHelper(getClass()).omitNullValues() | 136 | return MoreObjects.toStringHelper(getClass()).omitNullValues() |
| 137 | .add("pfxExtRouteTag", pfxExtRouteTag).toString(); | 137 | .add("pfxExtRouteTag", pfxExtRouteTag).toString(); |
| 138 | } | 138 | } |
| 139 | + | ||
| 140 | + @Override | ||
| 141 | + public int compareTo(Object o) { | ||
| 142 | + // TODO Auto-generated method stub | ||
| 143 | + return 0; | ||
| 144 | + } | ||
| 139 | } | 145 | } | ... | ... |
| ... | @@ -195,4 +195,10 @@ public final class BgpPrefixAttrIgpFlags implements BgpValueType { | ... | @@ -195,4 +195,10 @@ public final class BgpPrefixAttrIgpFlags implements BgpValueType { |
| 195 | .add("bOspfLclAddrBit", bOspfLclAddrBit) | 195 | .add("bOspfLclAddrBit", bOspfLclAddrBit) |
| 196 | .add("bOspfNSSABit", bOspfNSSABit).toString(); | 196 | .add("bOspfNSSABit", bOspfNSSABit).toString(); |
| 197 | } | 197 | } |
| 198 | + | ||
| 199 | + @Override | ||
| 200 | + public int compareTo(Object o) { | ||
| 201 | + // TODO Auto-generated method stub | ||
| 202 | + return 0; | ||
| 203 | + } | ||
| 198 | } | 204 | } | ... | ... |
| ... | @@ -128,4 +128,10 @@ public class BgpPrefixAttrMetric implements BgpValueType { | ... | @@ -128,4 +128,10 @@ public class BgpPrefixAttrMetric implements BgpValueType { |
| 128 | return MoreObjects.toStringHelper(getClass()) | 128 | return MoreObjects.toStringHelper(getClass()) |
| 129 | .add("linkPfxMetric", linkPfxMetric).toString(); | 129 | .add("linkPfxMetric", linkPfxMetric).toString(); |
| 130 | } | 130 | } |
| 131 | + | ||
| 132 | + @Override | ||
| 133 | + public int compareTo(Object o) { | ||
| 134 | + // TODO Auto-generated method stub | ||
| 135 | + return 0; | ||
| 136 | + } | ||
| 131 | } | 137 | } | ... | ... |
bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrOpaqueData.java
100755 → 100644
| ... | @@ -131,4 +131,9 @@ public final class BgpPrefixAttrOpaqueData implements BgpValueType { | ... | @@ -131,4 +131,9 @@ public final class BgpPrefixAttrOpaqueData implements BgpValueType { |
| 131 | .toString(); | 131 | .toString(); |
| 132 | } | 132 | } |
| 133 | 133 | ||
| 134 | + @Override | ||
| 135 | + public int compareTo(Object o) { | ||
| 136 | + // TODO Auto-generated method stub | ||
| 137 | + return 0; | ||
| 138 | + } | ||
| 134 | } | 139 | } | ... | ... |
bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrOspfFwdAddr.java
100755 → 100644
| ... | @@ -184,4 +184,10 @@ public class BgpPrefixAttrOspfFwdAddr implements BgpValueType { | ... | @@ -184,4 +184,10 @@ public class BgpPrefixAttrOspfFwdAddr implements BgpValueType { |
| 184 | .add("ip6RouterId", ip6RouterId).toString(); | 184 | .add("ip6RouterId", ip6RouterId).toString(); |
| 185 | } | 185 | } |
| 186 | } | 186 | } |
| 187 | + | ||
| 188 | + @Override | ||
| 189 | + public int compareTo(Object o) { | ||
| 190 | + // TODO Auto-generated method stub | ||
| 191 | + return 0; | ||
| 192 | + } | ||
| 187 | } | 193 | } | ... | ... |
| ... | @@ -133,4 +133,10 @@ public class BgpPrefixAttrRouteTag implements BgpValueType { | ... | @@ -133,4 +133,10 @@ public class BgpPrefixAttrRouteTag implements BgpValueType { |
| 133 | return MoreObjects.toStringHelper(getClass()).omitNullValues() | 133 | return MoreObjects.toStringHelper(getClass()).omitNullValues() |
| 134 | .add("pfxRouteTag", pfxRouteTag).toString(); | 134 | .add("pfxRouteTag", pfxRouteTag).toString(); |
| 135 | } | 135 | } |
| 136 | + | ||
| 137 | + @Override | ||
| 138 | + public int compareTo(Object o) { | ||
| 139 | + // TODO Auto-generated method stub | ||
| 140 | + return 0; | ||
| 141 | + } | ||
| 136 | } | 142 | } | ... | ... |
-
Please register or login to post a comment