aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/protocols/bgp/bgpio/src/main/java/org
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/protocols/bgp/bgpio/src/main/java/org')
-rwxr-xr-xframework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/exceptions/BgpParseException.java106
-rwxr-xr-xframework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/exceptions/package-info.java20
-rwxr-xr-xframework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpFactories.java82
-rwxr-xr-xframework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpFactory.java60
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpKeepaliveMsg.java48
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpLSNlri.java54
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpLinkLsNlri.java47
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpMessage.java71
-rwxr-xr-xframework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpMessageReader.java36
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpMessageWriter.java36
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpNodeLSNlri.java30
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpNotificationMsg.java77
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpOpenMsg.java127
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpPrefixLSNlri.java40
-rwxr-xr-xframework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpType.java45
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpUpdateMsg.java48
-rwxr-xr-xframework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpVersion.java45
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/IGPRouterID.java23
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/NlriType.java45
-rwxr-xr-xframework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/Writeable.java35
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpLinkLSIdentifier.java297
-rwxr-xr-xframework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpLinkLsNlriVer4.java210
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpNodeLSIdentifier.java122
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpNodeLSNlriVer4.java212
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpPrefixIPv4LSNlriVer4.java205
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpPrefixLSIdentifier.java272
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/NodeDescriptors.java264
-rwxr-xr-xframework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/PathAttrNlriDetails.java135
-rwxr-xr-xframework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/PathAttrNlriDetailsLocalRib.java122
-rwxr-xr-xframework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/package-info.java20
-rwxr-xr-xframework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/package-info.java20
-rwxr-xr-xframework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpFactoryVer4.java58
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpKeepaliveMsgVer4.java157
-rwxr-xr-xframework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpMessageVer4.java111
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpNotificationMsgVer4.java265
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpOpenMsgVer4.java518
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpPathAttributes.java200
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpUpdateMsgVer4.java285
-rwxr-xr-xframework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/package-info.java20
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/AreaIDTlv.java130
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/As4Path.java175
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/AsPath.java214
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/AutonomousSystemTlv.java130
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/BgpErrorType.java74
-rwxr-xr-xframework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/BgpHeader.java161
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/BgpLSIdentifierTlv.java131
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/BgpValueType.java47
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/FourOctetAsNumCapabilityTlv.java120
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPReachabilityInformationTlv.java165
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPv4AddressTlv.java133
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPv6AddressTlv.java133
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IsIsNonPseudonode.java124
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IsIsPseudonode.java146
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/LinkLocalRemoteIdentifiersTlv.java142
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/LinkStateAttributes.java314
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/LocalPref.java121
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/Med.java121
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/MpReachNlri.java225
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/MpUnReachNlri.java210
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/MultiProtocolExtnCapabilityTlv.java166
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/NextHop.java139
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/OSPFNonPseudonode.java121
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/OSPFPseudonode.java132
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/OSPFRouteTypeTlv.java168
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/Origin.java168
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/RouteDistinguisher.java79
-rwxr-xr-xframework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrNodeFlagBitTlv.java199
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrNodeIsIsAreaId.java136
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrNodeMultiTopologyId.java164
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrNodeName.java135
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrOpaqueNode.java138
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrRouterIdV4.java140
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrRouterIdV6.java143
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrIgpMetric.java178
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrIsIsAdminstGrp.java136
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrMaxLinkBandwidth.java156
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrMplsProtocolMask.java158
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrName.java134
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrOpaqLnkAttrib.java139
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrProtectionType.java246
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrSrlg.java136
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrTeDefaultMetric.java138
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrUnRsrvdLinkBandwidth.java163
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrExtRouteTag.java145
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrIgpFlags.java204
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrMetric.java137
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrOpaqueData.java139
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrOspfFwdAddr.java193
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrRouteTag.java142
-rwxr-xr-xframework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/package-info.java20
-rwxr-xr-xframework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/package-info.java20
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/util/Constants.java37
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/util/UnSupportedAttribute.java51
-rw-r--r--framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/util/Validation.java223
-rwxr-xr-xframework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/util/package-info.java20
95 files changed, 0 insertions, 12527 deletions
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/exceptions/BgpParseException.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/exceptions/BgpParseException.java
deleted file mode 100755
index d0890320..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/exceptions/BgpParseException.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.exceptions;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-
-/**
- * Custom Exception for BGP IO.
- */
-public class BgpParseException extends Exception {
-
- private static final long serialVersionUID = 1L;
- private byte errorCode;
- private byte errorSubCode;
- private ChannelBuffer data;
-
- /**
- * Default constructor to create a new exception.
- */
- public BgpParseException() {
- super();
- }
-
- /**
- * Constructor to create exception from message and cause.
- *
- * @param message the detail of exception in string
- * @param cause underlying cause of the error
- */
- public BgpParseException(final String message, final Throwable cause) {
- super(message, cause);
- }
-
- /**
- * Constructor to create exception from message.
- *
- * @param message the detail of exception in string
- */
- public BgpParseException(final String message) {
- super(message);
- }
-
- /**
- * Constructor to create exception from cause.
- *
- * @param cause underlying cause of the error
- */
- public BgpParseException(final Throwable cause) {
- super(cause);
- }
-
- /**
- * Constructor to create exception from error code and error subcode.
- *
- * @param errorCode error code of BGP message
- * @param errorSubCode error subcode of BGP message
- * @param data error data of BGP message
- */
- public BgpParseException(final byte errorCode, final byte errorSubCode, final ChannelBuffer data) {
- super();
- this.errorCode = errorCode;
- this.errorSubCode = errorSubCode;
- this.data = data;
- }
-
- /**
- * Returns errorcode for this exception.
- *
- * @return errorcode for this exception
- */
- public byte getErrorCode() {
- return this.errorCode;
- }
-
- /**
- * Returns error Subcode for this exception.
- *
- * @return error Subcode for this exception
- */
- public byte getErrorSubCode() {
- return this.errorSubCode;
- }
-
- /**
- * Returns error data for this exception.
- *
- * @return error data for this exception
- */
- public ChannelBuffer getData() {
- return this.data;
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/exceptions/package-info.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/exceptions/package-info.java
deleted file mode 100755
index 78b28072..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/exceptions/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * BGP custom exceptions.
- */
-package org.onosproject.bgpio.exceptions;
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpFactories.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpFactories.java
deleted file mode 100755
index eb18c7d1..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpFactories.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.protocol;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.protocol.ver4.BgpFactoryVer4;
-import org.onosproject.bgpio.types.BgpHeader;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Abstraction to provide the version for BGP.
- */
-public final class BgpFactories {
-
- protected static final Logger log = LoggerFactory.getLogger(BgpFactories.class);
-
- private static final GenericReader GENERIC_READER = new GenericReader();
-
- private BgpFactories() {
- }
-
- /**
- * Returns the instance of BGP Version.
- *
- * @param version BGP version
- * @return BGP version
- */
- public static BgpFactory getFactory(BgpVersion version) {
- switch (version) {
- case BGP_4:
- return BgpFactoryVer4.INSTANCE;
- default:
- throw new IllegalArgumentException("[BgpFactory:]Unknown version: " + version);
- }
- }
-
- /**
- * Reader class for reading BGP messages from channel buffer.
- *
- */
- private static class GenericReader implements BgpMessageReader<BgpMessage> {
-
- @Override
- public BgpMessage readFrom(ChannelBuffer bb, BgpHeader bgpHeader)
- throws BgpParseException {
- BgpFactory factory;
-
- if (!bb.readable()) {
- log.error("Empty message received");
- throw new BgpParseException("Empty message received");
- }
- // TODO: Currently only BGP version 4 is supported
- factory = org.onosproject.bgpio.protocol.ver4.BgpFactoryVer4.INSTANCE;
- return factory.getReader().readFrom(bb, bgpHeader);
- }
- }
-
- /**
- * Returns BGP messsage generic reader.
- *
- * @return bgp message generic reader
- */
- public static BgpMessageReader<BgpMessage> getGenericReader() {
- return GENERIC_READER;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpFactory.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpFactory.java
deleted file mode 100755
index 11a85ff8..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpFactory.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.protocol;
-
-/**
- * Abstraction of an message factory providing builder functions to BGP messages
- * and objects.
- *
- */
-public interface BgpFactory {
-
- /**
- * Gets the builder object for a open message.
- *
- * @return builder object for open message
- */
- BgpOpenMsg.Builder openMessageBuilder();
-
- /**
- * Gets the builder object for a keepalive message.
- *
- * @return builder object for keepalive message
- */
- BgpKeepaliveMsg.Builder keepaliveMessageBuilder();
-
- /**
- * Gets the builder object for a notification message.
- *
- * @return builder object for notification message.
- */
- BgpNotificationMsg.Builder notificationMessageBuilder();
-
- /**
- * Gets the BGP message reader.
- *
- * @return BGP message reader
- */
- BgpMessageReader<BgpMessage> getReader();
-
- /**
- * Returns BGP version.
- *
- * @return BGP version
- */
- BgpVersion getVersion();
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpKeepaliveMsg.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpKeepaliveMsg.java
deleted file mode 100644
index 0cb776a0..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpKeepaliveMsg.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.protocol;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.types.BgpHeader;
-
-/**
- * Abstraction of an entity providing BGP Keepalive Message.
- */
-public interface BgpKeepaliveMsg extends BgpMessage {
-
- @Override
- BgpVersion getVersion();
-
- @Override
- BgpType getType();
-
- @Override
- void writeTo(ChannelBuffer channelBuffer);
-
- @Override
- BgpHeader getHeader();
-
- /**
- * Builder interface with get and set functions to build Keepalive message.
- */
- interface Builder extends BgpMessage.Builder {
- @Override
- BgpKeepaliveMsg build();
-
- @Override
- Builder setHeader(BgpHeader bgpMsgHeader);
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpLSNlri.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpLSNlri.java
deleted file mode 100644
index dd8857a7..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpLSNlri.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.protocol;
-
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.protocol.linkstate.BgpNodeLSNlriVer4.ProtocolType;
-import org.onosproject.bgpio.types.RouteDistinguisher;
-
-/**
- * Abstraction of an entity providing BGP-LS NLRI.
- */
-public interface BgpLSNlri {
- /**
- * Returns NlriType of BGP-LS NLRI.
- *
- * @return NlriType of BGP-LS NLRI
- */
- NlriType getNlriType();
-
- /**
- * Returns Identifier in Nlri.
- *
- * @return Identifier in Nlri
- */
- long getIdentifier();
-
- /**
- * Returns Protocol Id in Nlri.
- *
- * @return Protocol Id in Nlri
- * @throws BgpParseException while getting protocol ID
- */
- ProtocolType getProtocolId() throws BgpParseException;
-
- /**
- * Returns Route distinguisher in Nlri.
- *
- * @return Route distinguisher in Nlri
- */
- RouteDistinguisher getRouteDistinguisher();
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpLinkLsNlri.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpLinkLsNlri.java
deleted file mode 100644
index 3924a13b..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpLinkLsNlri.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.protocol;
-
-import java.util.List;
-
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.protocol.linkstate.NodeDescriptors;
-
-/**
- * Abstraction of an entity providing BGP-LS Link NLRI.
- */
-public interface BgpLinkLsNlri extends BgpLSNlri {
- /**
- * Returns local node descriptors.
- *
- * @return local node descriptors
- */
- NodeDescriptors localNodeDescriptors();
-
- /**
- * Returns remote node descriptors.
- *
- * @return remote node descriptors
- */
- NodeDescriptors remoteNodeDescriptors();
-
- /**
- * Returns link descriptors.
- *
- * @return link descriptors
- */
- List<BgpValueType> linkDescriptors();
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpMessage.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpMessage.java
deleted file mode 100644
index f1e1b96f..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpMessage.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.protocol;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpHeader;
-
-/**
- * Abstraction of an entity providing BGP Messages.
- */
-public interface BgpMessage extends Writeable {
- /**
- * Returns BGP Header of BGP Message.
- *
- * @return BGP Header of BGP Message
- */
- BgpHeader getHeader();
-
- /**
- * Returns version of BGP Message.
- *
- * @return version of BGP Message
- */
- BgpVersion getVersion();
-
- /**
- * Returns BGP Type of BGP Message.
- *
- * @return BGP Type of BGP Message
- */
- BgpType getType();
-
- @Override
- void writeTo(ChannelBuffer cb) throws BgpParseException;
-
- /**
- * Builder interface with get and set functions to build BGP Message.
- */
- interface Builder {
- /**
- * Builds BGP Message.
- *
- * @return BGP Message
- * @throws BgpParseException while building bgp message
- */
- BgpMessage build() throws BgpParseException;
-
- /**
- * Sets BgpHeader and return its builder.
- *
- * @param bgpMsgHeader BGP Message Header
- * @return builder by setting BGP message header
- */
- Builder setHeader(BgpHeader bgpMsgHeader);
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpMessageReader.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpMessageReader.java
deleted file mode 100755
index b8318b29..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpMessageReader.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.protocol;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpHeader;
-
-/**
- * Abstraction of an entity providing BGP Message Reader.
- */
-public interface BgpMessageReader<T> {
-
- /**
- * Reads the Objects in the BGP Message and Returns BGP Message.
- *
- * @param cb Channel Buffer
- * @param bgpHeader BGP message header
- * @return BGP Message
- * @throws BgpParseException while parsing BGP message.
- */
- T readFrom(ChannelBuffer cb, BgpHeader bgpHeader) throws BgpParseException;
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpMessageWriter.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpMessageWriter.java
deleted file mode 100644
index bb75b5ea..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpMessageWriter.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.protocol;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-
-/**
- * Abstraction of an entity providing BGP Message Writer.
- */
-public interface BgpMessageWriter<T> {
-
- /**
- * Writes the Objects of the BGP Message into Channel Buffer.
- *
- * @param cb Channel Buffer
- * @param message BGP Message
- * @throws BgpParseException
- * While writing message
- */
- void write(ChannelBuffer cb, T message) throws BgpParseException;
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpNodeLSNlri.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpNodeLSNlri.java
deleted file mode 100644
index 13ef5cc5..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpNodeLSNlri.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.protocol;
-
-import org.onosproject.bgpio.protocol.linkstate.BgpNodeLSIdentifier;
-
-/**
- * Abstraction of an entity providing BGP-LS Node NLRI.
- */
-public interface BgpNodeLSNlri extends BgpLSNlri {
- /**
- * Returns local node descriptors.
- *
- * @return local node descriptors
- */
- BgpNodeLSIdentifier getLocalNodeDescriptors();
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpNotificationMsg.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpNotificationMsg.java
deleted file mode 100644
index e3361aa7..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpNotificationMsg.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.protocol;
-
-import org.onosproject.bgpio.exceptions.BgpParseException;
-
-/**
- * Abstraction of an entity providing BGP notification message.
- */
-public interface BgpNotificationMsg extends BgpMessage {
- /**
- * Returns errorCode in notification message.
- *
- * @return errorCode in notification message
- */
- byte getErrorCode();
-
- /**
- * Returns error subCode in notification message.
- *
- * @return error subCode in notification message
- */
- byte getErrorSubCode();
-
- /**
- * Returns error data in notification message.
- *
- * @return error data in notification message
- */
- byte[] getData();
-
- /**
- * Builder interface with get and set functions to build notification message.
- */
- public interface Builder extends BgpMessage.Builder {
-
- @Override
- BgpNotificationMsg build() throws BgpParseException;
-
- /**
- * Sets errorCode in notification message and return its builder.
- *
- * @param errorCode in notification message
- * @return builder by setting errorCode in notification message
- */
- Builder setErrorCode(byte errorCode);
-
- /**
- * Sets error subCode in notification message and return its builder.
- *
- * @param errorSubCode in notification message
- * @return builder by setting error subCode in notification message
- */
- Builder setErrorSubCode(byte errorSubCode);
-
- /**
- * Sets error data in notification message and return its builder.
- *
- * @param data in notification message
- * @return builder by setting Data in notification message
- */
- Builder setData(byte[] data);
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpOpenMsg.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpOpenMsg.java
deleted file mode 100644
index 94ec2235..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpOpenMsg.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.protocol;
-
-import java.util.LinkedList;
-
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpHeader;
-import org.onosproject.bgpio.types.BgpValueType;
-
-/**
- * Abstraction of an entity providing BGP Open Message.
- */
-public interface BgpOpenMsg extends BgpMessage {
-
- @Override
- BgpHeader getHeader();
-
- @Override
- BgpVersion getVersion();
-
- @Override
- BgpType getType();
-
- /**
- * Returns hold time of Open Message.
- *
- * @return hold time of Open Message
- */
- short getHoldTime();
-
- /**
- * Returns AS Number of Open Message.
- *
- * @return AS Number of Open Message
- */
- short getAsNumber();
-
- /**
- * Returns BGP Identifier of Open Message.
- *
- * @return BGP Identifier of Open Message
- */
- int getBgpId();
-
- /**
- * Returns capabilities of Open Message.
- *
- * @return capabilities of Open Message
- */
- LinkedList<BgpValueType> getCapabilityTlv();
-
- /**
- * Builder interface with get and set functions to build Open message.
- */
- interface Builder extends BgpMessage.Builder {
-
- @Override
- BgpOpenMsg build() throws BgpParseException;
-
- /**
- * Sets hold time in Open Message and return its builder.
- *
- * @param holdtime hold timer value in open message
- * @return builder by setting hold time
- */
- Builder setHoldTime(short holdtime);
-
- /**
- * Sets AS number in Open Message and return its builder.
- *
- * @param asNumber as number in open message
- * @return builder by setting asNumber
- */
- Builder setAsNumber(short asNumber);
-
- /**
- * Sets BGP Identifier in Open Message and return its builder.
- *
- * @param bgpId BGP Identifier in open message
- * @return builder by setting BGP Identifier
- */
- Builder setBgpId(int bgpId);
-
- /**
- * Sets capabilities in Open Message and return its builder.
- *
- * @param capabilityTlv capabilities in open message
- * @return builder by setting capabilities
- */
- Builder setCapabilityTlv(LinkedList<BgpValueType> capabilityTlv);
-
- /**
- * Sets isLargeAsCapabilityTlvSet and return its builder.
- *
- * @param isLargeAsCapabilitySet
- * boolean value to know whether large AS capability is set or not
- * @return builder by setting capabilities
- */
- Builder setLargeAsCapabilityTlv(boolean isLargeAsCapabilitySet);
-
- /**
- * Sets isLsCapabilityTlvSet and return its builder.
- *
- * @param isLsCapabilitySet
- * boolean value to know whether LS capability is set or not
- * @return builder by setting capabilities
- */
- Builder setLsCapabilityTlv(boolean isLsCapabilitySet);
-
- @Override
- Builder setHeader(BgpHeader bgpMsgHeader);
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpPrefixLSNlri.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpPrefixLSNlri.java
deleted file mode 100644
index 54bcdba3..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpPrefixLSNlri.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.protocol;
-
-import java.util.List;
-
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.protocol.linkstate.NodeDescriptors;
-
-/**
- * Abstraction of an entity providing BGP-LS Prefix NLRI.
- */
-public interface BgpPrefixLSNlri extends BgpLSNlri {
- /**
- * Returns local node descriptors.
- *
- * @return local node descriptors
- */
- NodeDescriptors getLocalNodeDescriptors();
-
- /**
- * Returns list of Prefix descriptor.
- *
- * @return list of Prefix descriptor
- */
- List<BgpValueType> getPrefixdescriptor();
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpType.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpType.java
deleted file mode 100755
index b90721d5..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpType.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.protocol;
-
-/**
- * Enum to Provide the Different types of BGP messages.
- */
-public enum BgpType {
-
- NONE(0), OPEN(1), UPDATE(2), NOTIFICATION(3), KEEP_ALIVE(4);
-
- int value;
-
- /**
- * Assign value with the value val as the types of BGP message.
- *
- * @param val type of BGP message
- */
- BgpType(int val) {
- value = val;
- }
-
- /**
- * Returns value as type of BGP message.
- *
- * @return value type of BGP message
- */
- public byte getType() {
- return (byte) value;
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpUpdateMsg.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpUpdateMsg.java
deleted file mode 100644
index d79a4236..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpUpdateMsg.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.protocol;
-
-import java.util.List;
-
-import org.onlab.packet.IpPrefix;
-import org.onosproject.bgpio.protocol.ver4.BgpPathAttributes;
-
-/**
- * Abstraction of an entity providing BGP Update Message.
- */
-public interface BgpUpdateMsg extends BgpMessage {
- /**
- * Returns path attributes in BGP Update Message.
- *
- * @return path attributes in BGP Update Message
- */
- BgpPathAttributes bgpPathAttributes();
-
- /**
- * Returns withdrawn Routes.
- *
- * @return withdrawn Routes
- */
- List<IpPrefix> withdrawnRoutes();
-
- /**
- * Returns NLRI list of prefix.
- *
- * @return NLRI list of prefix
- */
- List<IpPrefix> nlri();
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpVersion.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpVersion.java
deleted file mode 100755
index b1f037f4..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/BgpVersion.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.protocol;
-
-/**
- * Enum to provide BGP Message Version.
- */
-public enum BgpVersion {
-
- BGP_4(4);
-
- public final int packetVersion;
-
- /**
- * Assign BGP PacketVersion with specified packetVersion.
- *
- * @param packetVersion version of BGP
- */
- BgpVersion(final int packetVersion) {
- this.packetVersion = packetVersion;
- }
-
- /**
- * Returns Packet version of BGP Message.
- *
- * @return packetVersion
- */
- public int getPacketVersion() {
- return packetVersion;
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/IGPRouterID.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/IGPRouterID.java
deleted file mode 100644
index 0e531d64..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/IGPRouterID.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.protocol;
-
-/**
- * Provides Abstraction of IGP RouterID TLV.
- */
-public interface IGPRouterID {
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/NlriType.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/NlriType.java
deleted file mode 100644
index 535ba71d..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/NlriType.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.protocol;
-
-/**
- * Enum to Provide the Different BGP-LS NLRI types.
- */
-public enum NlriType {
-
- NODE(1), LINK(2), PREFIX_IPV4(3), PREFIX_IPV6(4);
-
- int value;
-
- /**
- * Assign value with the value as the LINK-STATE NLRI type.
- *
- * @param value LINK-STATE NLRI type
- */
- NlriType(int value) {
- this.value = value;
- }
-
- /**
- * Returns value as LINK-STATE NLRI type.
- *
- * @return value LINK-STATE NLRI type
- */
- public byte getType() {
- return (byte) value;
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/Writeable.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/Writeable.java
deleted file mode 100755
index 1c6f7fc2..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/Writeable.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.protocol;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-
-/**
- * Abstraction of an entity providing functionality to write byte streams of
- * Messages to channel buffer.
- */
-public interface Writeable {
-
- /**
- * Writes byte streams of messages to channel buffer.
- *
- * @param cb channelBuffer
- * @throws BgpParseException when error occurs while writing BGP message to channel buffer
- */
- void writeTo(ChannelBuffer cb) throws BgpParseException;
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpLinkLSIdentifier.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpLinkLSIdentifier.java
deleted file mode 100644
index a4360fdf..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpLinkLSIdentifier.java
+++ /dev/null
@@ -1,297 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.protocol.linkstate;
-
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.types.IPv4AddressTlv;
-import org.onosproject.bgpio.types.IPv6AddressTlv;
-import org.onosproject.bgpio.types.LinkLocalRemoteIdentifiersTlv;
-import org.onosproject.bgpio.types.attr.BgpAttrNodeMultiTopologyId;
-import org.onosproject.bgpio.util.Constants;
-import org.onosproject.bgpio.util.UnSupportedAttribute;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-import com.google.common.base.Preconditions;
-
-/**
- * Implementation of local node descriptors, remote node descriptors and link descriptors.
- */
-public class BgpLinkLSIdentifier implements Comparable<Object> {
- private static final Logger log = LoggerFactory.getLogger(BgpLinkLSIdentifier.class);
- public static final short IPV4_INTERFACE_ADDRESS_TYPE = 259;
- public static final short IPV4_NEIGHBOR_ADDRESS_TYPE = 260;
- public static final short IPV6_INTERFACE_ADDRESS_TYPE = 261;
- public static final short IPV6_NEIGHBOR_ADDRESS_TYPE = 262;
-
- private NodeDescriptors localNodeDescriptors;
- private NodeDescriptors remoteNodeDescriptors;
- private List<BgpValueType> linkDescriptor;
-
- /**
- * Initialize fields.
- */
- public BgpLinkLSIdentifier() {
- this.localNodeDescriptors = null;
- this.remoteNodeDescriptors = null;
- this.linkDescriptor = null;
- }
-
- /**
- * Constructors to initialize parameters.
- *
- * @param localNodeDescriptors local node descriptors
- * @param remoteNodeDescriptors remote node descriptors
- * @param linkDescriptor link descriptors
- */
- public BgpLinkLSIdentifier(NodeDescriptors localNodeDescriptors, NodeDescriptors remoteNodeDescriptors,
- LinkedList<BgpValueType> linkDescriptor) {
- this.localNodeDescriptors = Preconditions.checkNotNull(localNodeDescriptors);
- this.remoteNodeDescriptors = Preconditions.checkNotNull(remoteNodeDescriptors);
- this.linkDescriptor = Preconditions.checkNotNull(linkDescriptor);
- }
-
- /**
- * Reads channel buffer and parses link identifier.
- *
- * @param cb ChannelBuffer
- * @param protocolId in linkstate nlri
- * @return object of BGPLinkLSIdentifier
- * @throws BgpParseException while parsing link identifier
- */
- public static BgpLinkLSIdentifier parseLinkIdendifier(ChannelBuffer cb, byte protocolId) throws BgpParseException {
- //Parse local node descriptor
- NodeDescriptors localNodeDescriptors = new NodeDescriptors();
- localNodeDescriptors = parseNodeDescriptors(cb, NodeDescriptors.LOCAL_NODE_DES_TYPE, protocolId);
-
- //Parse remote node descriptor
- NodeDescriptors remoteNodeDescriptors = new NodeDescriptors();
- remoteNodeDescriptors = parseNodeDescriptors(cb, NodeDescriptors.REMOTE_NODE_DES_TYPE, protocolId);
-
- //Parse link descriptor
- LinkedList<BgpValueType> linkDescriptor = new LinkedList<>();
- linkDescriptor = parseLinkDescriptors(cb);
- return new BgpLinkLSIdentifier(localNodeDescriptors, remoteNodeDescriptors, linkDescriptor);
- }
-
- /**
- * Parses Local/Remote node descriptors.
- *
- * @param cb ChannelBuffer
- * @param desType descriptor type
- * @param protocolId protocol identifier
- * @return object of NodeDescriptors
- * @throws BgpParseException while parsing Local/Remote node descriptors
- */
- public static NodeDescriptors parseNodeDescriptors(ChannelBuffer cb, short desType, byte protocolId)
- throws BgpParseException {
- log.debug("parse Node descriptors");
- ChannelBuffer tempBuf = cb.copy();
- short type = cb.readShort();
- short length = cb.readShort();
- if (cb.readableBytes() < length) {
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.OPTIONAL_ATTRIBUTE_ERROR,
- tempBuf.readBytes(cb.readableBytes() + Constants.TYPE_AND_LEN_AS_SHORT));
- }
- NodeDescriptors nodeIdentifier = new NodeDescriptors();
- ChannelBuffer tempCb = cb.readBytes(length);
-
- if (type == desType) {
- nodeIdentifier = NodeDescriptors.read(tempCb, length, desType, protocolId);
- } else {
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.MALFORMED_ATTRIBUTE_LIST, null);
- }
- return nodeIdentifier;
- }
-
- /**
- * Parses link descriptors.
- *
- * @param cb ChannelBuffer
- * @return list of link descriptors
- * @throws BgpParseException while parsing link descriptors
- */
- public static LinkedList<BgpValueType> parseLinkDescriptors(ChannelBuffer cb) throws BgpParseException {
- LinkedList<BgpValueType> linkDescriptor = new LinkedList<>();
- BgpValueType tlv = null;
- int count = 0;
-
- while (cb.readableBytes() > 0) {
- ChannelBuffer tempBuf = cb.copy();
- short type = cb.readShort();
- short length = cb.readShort();
- if (cb.readableBytes() < length) {
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.OPTIONAL_ATTRIBUTE_ERROR,
- tempBuf.readBytes(cb.readableBytes() + Constants.TYPE_AND_LEN_AS_SHORT));
- }
- ChannelBuffer tempCb = cb.readBytes(length);
- switch (type) {
- case LinkLocalRemoteIdentifiersTlv.TYPE:
- tlv = LinkLocalRemoteIdentifiersTlv.read(tempCb);
- break;
- case IPV4_INTERFACE_ADDRESS_TYPE:
- tlv = IPv4AddressTlv.read(tempCb, IPV4_INTERFACE_ADDRESS_TYPE);
- break;
- case IPV4_NEIGHBOR_ADDRESS_TYPE:
- tlv = IPv4AddressTlv.read(tempCb, IPV4_NEIGHBOR_ADDRESS_TYPE);
- break;
- case IPV6_INTERFACE_ADDRESS_TYPE:
- tlv = IPv6AddressTlv.read(tempCb, IPV6_INTERFACE_ADDRESS_TYPE);
- break;
- case IPV6_NEIGHBOR_ADDRESS_TYPE:
- tlv = IPv6AddressTlv.read(tempCb, IPV6_NEIGHBOR_ADDRESS_TYPE);
- break;
- case BgpAttrNodeMultiTopologyId.ATTRNODE_MULTITOPOLOGY:
- tlv = BgpAttrNodeMultiTopologyId.read(tempCb);
- count = count++;
- //MultiTopologyId TLV cannot repeat more than once
- if (count > 1) {
- //length + 4 implies data contains type, length and value
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.OPTIONAL_ATTRIBUTE_ERROR, tempBuf.readBytes(length
- + Constants.TYPE_AND_LEN_AS_SHORT));
- }
- break;
- default:
- UnSupportedAttribute.skipBytes(tempCb, length);
- }
- linkDescriptor.add(tlv);
- }
- return linkDescriptor;
- }
-
- /**
- * Returns local node descriptors.
- *
- * @return local node descriptors
- */
- public NodeDescriptors localNodeDescriptors() {
- return this.localNodeDescriptors;
- }
-
- /**
- * Returns remote node descriptors.
- *
- * @return remote node descriptors
- */
- public NodeDescriptors remoteNodeDescriptors() {
- return this.remoteNodeDescriptors;
- }
-
- /**
- * Returns link descriptors.
- *
- * @return link descriptors
- */
- public List<BgpValueType> linkDescriptors() {
- return this.linkDescriptor;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(linkDescriptor, localNodeDescriptors, remoteNodeDescriptors);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof BgpLinkLSIdentifier) {
- int countObjSubTlv = 0;
- int countOtherSubTlv = 0;
- boolean isCommonSubTlv = true;
- BgpLinkLSIdentifier other = (BgpLinkLSIdentifier) obj;
- Iterator<BgpValueType> objListIterator = other.linkDescriptor.iterator();
- countOtherSubTlv = other.linkDescriptor.size();
- countObjSubTlv = linkDescriptor.size();
- if (countObjSubTlv != countOtherSubTlv) {
- return false;
- } else {
- while (objListIterator.hasNext() && isCommonSubTlv) {
- BgpValueType subTlv = objListIterator.next();
- if (linkDescriptor.contains(subTlv) && other.linkDescriptor.contains(subTlv)) {
- isCommonSubTlv = Objects.equals(linkDescriptor.get(linkDescriptor.indexOf(subTlv)),
- other.linkDescriptor.get(other.linkDescriptor.indexOf(subTlv)));
- } else {
- isCommonSubTlv = false;
- }
- }
- return isCommonSubTlv && Objects.equals(this.localNodeDescriptors, other.localNodeDescriptors)
- && Objects.equals(this.remoteNodeDescriptors, other.remoteNodeDescriptors);
- }
- }
- return false;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("localNodeDescriptors", localNodeDescriptors)
- .add("remoteNodeDescriptors", remoteNodeDescriptors)
- .add("linkDescriptor", linkDescriptor)
- .toString();
- }
-
- @Override
- public int compareTo(Object o) {
- if (this.equals(o)) {
- return 0;
- }
- int result = this.localNodeDescriptors.compareTo(((BgpLinkLSIdentifier) o).localNodeDescriptors);
- if (result != 0) {
- return result;
- } else if (this.remoteNodeDescriptors.compareTo(((BgpLinkLSIdentifier) o).remoteNodeDescriptors) != 0) {
- return this.remoteNodeDescriptors.compareTo(((BgpLinkLSIdentifier) o).remoteNodeDescriptors);
- } else {
- int countOtherSubTlv = ((BgpLinkLSIdentifier) o).linkDescriptor.size();
- int countObjSubTlv = linkDescriptor.size();
- if (countOtherSubTlv != countObjSubTlv) {
- if (countOtherSubTlv > countObjSubTlv) {
- return 1;
- } else {
- return -1;
- }
- }
- ListIterator<BgpValueType> listIterator = linkDescriptor.listIterator();
- ListIterator<BgpValueType> listIteratorOther = ((BgpLinkLSIdentifier) o).linkDescriptor.listIterator();
- while (listIterator.hasNext()) {
- BgpValueType tlv = listIterator.next();
- if (linkDescriptor.contains(tlv) && ((BgpLinkLSIdentifier) o).linkDescriptor.contains(tlv)) {
- int res = linkDescriptor.get(linkDescriptor.indexOf(tlv)).compareTo(
- ((BgpLinkLSIdentifier) o).linkDescriptor.get(((BgpLinkLSIdentifier) o).linkDescriptor
- .indexOf(tlv)));
- if (res != 0) {
- return res;
- }
- } else {
- return 1;
- }
- }
- }
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpLinkLsNlriVer4.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpLinkLsNlriVer4.java
deleted file mode 100755
index 01d369e4..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpLinkLsNlriVer4.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.protocol.linkstate;
-
-import java.util.List;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.protocol.BgpLinkLsNlri;
-import org.onosproject.bgpio.protocol.NlriType;
-import org.onosproject.bgpio.protocol.linkstate.BgpNodeLSNlriVer4.ProtocolType;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.types.RouteDistinguisher;
-import org.onosproject.bgpio.util.Constants;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implementation of Link LS NLRI.
- */
-public class BgpLinkLsNlriVer4 implements BgpLinkLsNlri {
-
- /*
- * REFERENCE : draft-ietf-idr-ls-distribution-11
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+
- | Protocol-ID |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Identifier |
- | (64 bits) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- // Local Node Descriptors (variable) //
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- // Remote Node Descriptors (variable) //
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- // Link Descriptors (variable) //
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- Figure : The Link NLRI format
- */
- private static final Logger log = LoggerFactory.getLogger(BgpLinkLsNlriVer4.class);
- public static final int LINK_NLRITYPE = 2;
-
- private BgpLinkLSIdentifier linkLSIdentifier;
- private byte protocolId;
- private long identifier;
- private RouteDistinguisher routeDistinguisher;
- private boolean isVpn;
-
- /**
- * Initialize fields.
- */
- public BgpLinkLsNlriVer4() {
- this.protocolId = 0;
- this.identifier = 0;
- this.linkLSIdentifier = null;
- this.routeDistinguisher = null;
- this.isVpn = false;
- }
-
- /**
- * Constructor to initialize parameters for BGP LinkLSNlri.
- *
- * @param protocolId protocol Id
- * @param identifier field in BGP LinkLSNlri
- * @param linkLSIdentifier link LS identifier
- * @param routeDistinguisher route distinguisher from message
- * @param isVpn vpn info availability in message
- */
- public BgpLinkLsNlriVer4(byte protocolId, long identifier, BgpLinkLSIdentifier linkLSIdentifier,
- RouteDistinguisher routeDistinguisher, boolean isVpn) {
- this.protocolId = protocolId;
- this.identifier = identifier;
- this.linkLSIdentifier = linkLSIdentifier;
- this.routeDistinguisher = routeDistinguisher;
- this.isVpn = isVpn;
- }
-
- /**
- * Reads from channelBuffer and parses Link LS Nlri.
- *
- * @param cb ChannelBuffer
- * @param afi Address Family Identifier
- * @param safi Subsequent Address Family Identifier
- * @return object of this class
- * @throws BgpParseException while parsing Link LS NLRI
- */
- public static BgpLinkLsNlriVer4 read(ChannelBuffer cb, short afi, byte safi) throws BgpParseException {
- boolean isVpn = false;
- RouteDistinguisher routeDistinguisher = null;
- if ((afi == Constants.AFI_VALUE) && (safi == Constants.VPN_SAFI_VALUE)) {
- routeDistinguisher = new RouteDistinguisher();
- routeDistinguisher = RouteDistinguisher.read(cb);
- isVpn = true;
- } else {
- isVpn = false;
- }
- byte protocolId = cb.readByte();
- long identifier = cb.readLong();
-
- BgpLinkLSIdentifier linkLSIdentifier = new BgpLinkLSIdentifier();
- linkLSIdentifier = BgpLinkLSIdentifier.parseLinkIdendifier(cb, protocolId);
- return new BgpLinkLsNlriVer4(protocolId, identifier, linkLSIdentifier, routeDistinguisher, isVpn);
- }
-
- @Override
- public NlriType getNlriType() {
- return NlriType.LINK;
- }
-
- @Override
- public long getIdentifier() {
- return this.identifier;
- }
-
- /**
- * Set the link LS identifier.
- *
- * @param linkLSIdentifier link LS identifier to set
- */
- public void setLinkLSIdentifier(BgpLinkLSIdentifier linkLSIdentifier) {
- this.linkLSIdentifier = linkLSIdentifier;
- }
-
- @Override
- public ProtocolType getProtocolId() throws BgpParseException {
- switch (protocolId) {
- case Constants.ISIS_LEVELONE:
- return ProtocolType.ISIS_LEVEL_ONE;
- case Constants.ISIS_LEVELTWO:
- return ProtocolType.ISIS_LEVEL_TWO;
- case Constants.OSPFV2:
- return ProtocolType.OSPF_V2;
- case Constants.DIRECT:
- return ProtocolType.DIRECT;
- case Constants.STATIC_CONFIGURATION:
- return ProtocolType.STATIC_CONFIGURATION;
- case Constants.OSPFV3:
- return ProtocolType.OSPF_V3;
- default:
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, (byte) 0, null);
- }
- }
-
- @Override
- public NodeDescriptors localNodeDescriptors() {
- return this.linkLSIdentifier.localNodeDescriptors();
- }
-
- @Override
- public NodeDescriptors remoteNodeDescriptors() {
- return this.linkLSIdentifier.remoteNodeDescriptors();
- }
-
- /**
- * Returns whether VPN is present or not.
- *
- * @return whether VPN is present or not
- */
- public boolean isVpnPresent() {
- return this.isVpn;
- }
-
- @Override
- public RouteDistinguisher getRouteDistinguisher() {
- return this.routeDistinguisher;
- }
-
- /**
- * Returns link identifier.
- *
- * @return link identifier
- */
- public BgpLinkLSIdentifier getLinkIdentifier() {
- return this.linkLSIdentifier;
- }
-
- @Override
- public List<BgpValueType> linkDescriptors() {
- return this.linkLSIdentifier.linkDescriptors();
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .omitNullValues()
- .add("protocolId", protocolId)
- .add("identifier", identifier)
- .add("RouteDistinguisher ", routeDistinguisher)
- .add("linkLSIdentifier", linkLSIdentifier)
- .toString();
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpNodeLSIdentifier.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpNodeLSIdentifier.java
deleted file mode 100644
index 6c2c96d9..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpNodeLSIdentifier.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.protocol.linkstate;
-
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.util.Constants;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implementation of Node Identifier which includes local node descriptor/remote node descriptors.
- */
-public class BgpNodeLSIdentifier implements Comparable<Object> {
-
- private static final Logger log = LoggerFactory.getLogger(BgpNodeLSIdentifier.class);
- private NodeDescriptors nodeDescriptors;
-
- /**
- * Resets fields.
- */
- public BgpNodeLSIdentifier() {
- this.nodeDescriptors = null;
- }
-
- /**
- * Constructor to initialize fields.
- *
- * @param nodeDescriptors local/remote node descriptor
- */
- public BgpNodeLSIdentifier(NodeDescriptors nodeDescriptors) {
- this.nodeDescriptors = nodeDescriptors;
- }
-
- /**
- * Parse local node descriptors.
- *
- * @param cb ChannelBuffer
- * @param protocolId protocol identifier
- * @return object of this BGPNodeLSIdentifier
- * @throws BgpParseException while parsing local node descriptors
- */
- public static BgpNodeLSIdentifier parseLocalNodeDescriptors(ChannelBuffer cb, byte protocolId)
- throws BgpParseException {
- log.debug("parse Local node descriptor");
- ChannelBuffer tempBuf = cb.copy();
- short type = cb.readShort();
- short length = cb.readShort();
- if (cb.readableBytes() < length) {
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.OPTIONAL_ATTRIBUTE_ERROR,
- tempBuf.readBytes(cb.readableBytes() + Constants.TYPE_AND_LEN));
- }
- NodeDescriptors nodeDescriptors = new NodeDescriptors();
- ChannelBuffer tempCb = cb.readBytes(length);
-
- if (type == NodeDescriptors.LOCAL_NODE_DES_TYPE) {
- nodeDescriptors = NodeDescriptors.read(tempCb, length, type, protocolId);
- } else {
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.MALFORMED_ATTRIBUTE_LIST, null);
- }
- return new BgpNodeLSIdentifier(nodeDescriptors);
- }
-
- /**
- * Returns node descriptors.
- *
- * @return node descriptors
- */
- public NodeDescriptors getNodedescriptors() {
- return this.nodeDescriptors;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof BgpNodeLSIdentifier) {
- BgpNodeLSIdentifier other = (BgpNodeLSIdentifier) obj;
- return Objects.equals(nodeDescriptors, other.nodeDescriptors);
- }
- return false;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(nodeDescriptors);
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("NodeDescriptors", nodeDescriptors)
- .toString();
- }
-
- @Override
- public int compareTo(Object o) {
- if (this.equals(o)) {
- return 0;
- }
- return this.nodeDescriptors.compareTo(((BgpNodeLSIdentifier) o).nodeDescriptors);
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpNodeLSNlriVer4.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpNodeLSNlriVer4.java
deleted file mode 100644
index b27096cf..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpNodeLSNlriVer4.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.protocol.linkstate;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.protocol.BgpNodeLSNlri;
-import org.onosproject.bgpio.protocol.NlriType;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.RouteDistinguisher;
-import org.onosproject.bgpio.util.Constants;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implementation of Node LS NLRI.
- */
-public class BgpNodeLSNlriVer4 implements BgpNodeLSNlri {
-
- /*
- *REFERENCE : draft-ietf-idr-ls-distribution-11
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+
- | Protocol-ID |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Identifier |
- | (64 bits) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- // Local Node Descriptors (variable) //
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- Figure : The Node NLRI format
- */
-
- protected static final Logger log = LoggerFactory.getLogger(BgpNodeLSNlriVer4.class);
-
- public static final int NODE_NLRITYPE = 1;
- public static final int IDENTIFIER_LENGTH = 16;
- private long identifier;
- private byte protocolId;
- private BgpNodeLSIdentifier localNodeDescriptors;
- private RouteDistinguisher routeDistinguisher;
- private boolean isVpn;
-
- /**
- * Enum to provide PROTOCOLTYPE.
- */
- public enum ProtocolType {
- ISIS_LEVEL_ONE(1), ISIS_LEVEL_TWO(2), OSPF_V2(3), DIRECT(4), STATIC_CONFIGURATION(5), OSPF_V3(6);
- int value;
-
- /**
- * Assign val with the value as the protocol type.
- *
- * @param val protocol type
- */
- ProtocolType(int val) {
- value = val;
- }
-
- /**
- * Returns value of protocol type.
- *
- * @return protocol type
- */
- public byte getType() {
- return (byte) value;
- }
- }
-
- /**
- * Reset fields.
- */
- public BgpNodeLSNlriVer4() {
- this.identifier = 0;
- this.protocolId = 0;
- this.localNodeDescriptors = null;
- this.routeDistinguisher = null;
- this.isVpn = false;
- }
-
- /**
- * Constructors to initialize its parameters.
- *
- * @param identifier of LinkState Nlri
- * @param protocolId of LinkState Nlri
- * @param localNodeDescriptors local node descriptors
- * @param isVpn true if VPN info is present
- * @param routeDistinguisher unique for each VPN
- */
- public BgpNodeLSNlriVer4(long identifier, byte protocolId, BgpNodeLSIdentifier localNodeDescriptors, boolean isVpn,
- RouteDistinguisher routeDistinguisher) {
- this.identifier = identifier;
- this.protocolId = protocolId;
- this.localNodeDescriptors = localNodeDescriptors;
- this.routeDistinguisher = routeDistinguisher;
- this.isVpn = isVpn;
- }
-
- /**
- * Reads from channelBuffer and parses Node LS Nlri.
- *
- * @param cb ChannelBuffer
- * @param afi Address Family Identifier
- * @param safi Subsequent Address Family Identifier
- * @return object of this class
- * @throws BgpParseException while parsing node descriptors
- */
- public static BgpNodeLSNlriVer4 read(ChannelBuffer cb, short afi, byte safi) throws BgpParseException {
- boolean isVpn = false;
- RouteDistinguisher routeDistinguisher = null;
- if ((afi == Constants.AFI_VALUE) && (safi == Constants.VPN_SAFI_VALUE)) {
- routeDistinguisher = new RouteDistinguisher();
- routeDistinguisher = RouteDistinguisher.read(cb);
- isVpn = true;
- } else {
- isVpn = false;
- }
- byte protocolId = cb.readByte();
- long identifier = cb.readLong();
-
- // Parse Local Node Descriptors
- BgpNodeLSIdentifier localNodeDescriptors = new BgpNodeLSIdentifier();
- localNodeDescriptors = BgpNodeLSIdentifier.parseLocalNodeDescriptors(cb, protocolId);
- return new BgpNodeLSNlriVer4(identifier, protocolId, localNodeDescriptors, isVpn, routeDistinguisher);
- }
-
- @Override
- public NlriType getNlriType() {
- return NlriType.NODE;
- }
-
- @Override
- public BgpNodeLSIdentifier getLocalNodeDescriptors() {
- return this.localNodeDescriptors;
- }
-
- /**
- * Returns whether VPN is present or not.
- *
- * @return whether VPN is present or not
- */
- public boolean isVpnPresent() {
- return this.isVpn;
- }
-
- @Override
- public RouteDistinguisher getRouteDistinguisher() {
- return this.routeDistinguisher;
- }
-
- @Override
- public long getIdentifier() {
- return this.identifier;
- }
-
- /**
- * Set the node LS identifier.
- *
- * @param localNodeDescriptors node LS identifier to set
- */
- public void setNodeLSIdentifier(BgpNodeLSIdentifier localNodeDescriptors) {
- this.localNodeDescriptors = localNodeDescriptors;
- }
-
- @Override
- public ProtocolType getProtocolId() throws BgpParseException {
- switch (protocolId) {
- case Constants.ISIS_LEVELONE:
- return ProtocolType.ISIS_LEVEL_ONE;
- case Constants.ISIS_LEVELTWO:
- return ProtocolType.ISIS_LEVEL_TWO;
- case Constants.OSPFV2:
- return ProtocolType.OSPF_V2;
- case Constants.DIRECT:
- return ProtocolType.DIRECT;
- case Constants.STATIC_CONFIGURATION:
- return ProtocolType.STATIC_CONFIGURATION;
- case Constants.OSPFV3:
- return ProtocolType.OSPF_V3;
- default:
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, (byte) 0, null);
- }
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .omitNullValues()
- .add("protocolId", protocolId)
- .add("identifier", identifier)
- .add("RouteDistinguisher ", routeDistinguisher)
- .add("localNodeDescriptors", localNodeDescriptors)
- .toString();
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpPrefixIPv4LSNlriVer4.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpPrefixIPv4LSNlriVer4.java
deleted file mode 100644
index 49cb74bd..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpPrefixIPv4LSNlriVer4.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.protocol.linkstate;
-
-import java.util.List;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.protocol.BgpPrefixLSNlri;
-import org.onosproject.bgpio.protocol.NlriType;
-import org.onosproject.bgpio.protocol.linkstate.BgpNodeLSNlriVer4.ProtocolType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.types.RouteDistinguisher;
-import org.onosproject.bgpio.util.Constants;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implementation of Prefix IPV4 LS NLRI.
- */
-public class BgpPrefixIPv4LSNlriVer4 implements BgpPrefixLSNlri {
-
- /*
- * REFERENCE : draft-ietf-idr-ls-distribution-11
- * 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+
- | Protocol-ID |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Identifier |
- | (64 bits) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- // Local Node Descriptor (variable) //
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- // Prefix Descriptors (variable) //
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- Figure : The IPv4/IPv6 Topology Prefix NLRI format
- */
-
- protected static final Logger log = LoggerFactory.getLogger(BgpPrefixIPv4LSNlriVer4.class);
-
- public static final int PREFIX_IPV4_NLRITYPE = 3;
- public static final int IDENTIFIER_LENGTH = 16;
- private long identifier;
- private byte protocolId;
- private RouteDistinguisher routeDistinguisher;
- private boolean isVpn;
- private BgpPrefixLSIdentifier bgpPrefixLSIdentifier;
-
- /**
- * Resets parameters.
- */
- public BgpPrefixIPv4LSNlriVer4() {
- this.identifier = 0;
- this.protocolId = 0;
- this.bgpPrefixLSIdentifier = null;
- this.routeDistinguisher = null;
- this.isVpn = false;
- }
-
- /**
- * Constructor to initialize parameters for BGP PrefixLSNlri.
- *
- * @param identifier field in BGP PrefixLSNlri
- * @param protocolId protocol Id
- * @param bgpPrefixLSIdentifier prefix LS Identifier
- * @param routeDistinguisher RouteDistinguisher
- * @param isVpn vpn availability in message
- */
- public BgpPrefixIPv4LSNlriVer4(long identifier, byte protocolId, BgpPrefixLSIdentifier bgpPrefixLSIdentifier,
- RouteDistinguisher routeDistinguisher, boolean isVpn) {
- this.identifier = identifier;
- this.protocolId = protocolId;
- this.bgpPrefixLSIdentifier = bgpPrefixLSIdentifier;
- this.routeDistinguisher = routeDistinguisher;
- this.isVpn = isVpn;
- }
-
- /**
- * Reads from channelBuffer and parses Prefix LS Nlri.
- *
- * @param cb ChannelBuffer
- * @param afi Address family identifier
- * @param safi Subsequent address family identifier
- * @return object of BGPPrefixIPv4LSNlriVer4
- * @throws BgpParseException while parsing Prefix LS Nlri
- */
- public static BgpPrefixIPv4LSNlriVer4 read(ChannelBuffer cb, short afi, byte safi) throws BgpParseException {
-
- boolean isVpn = false;
- RouteDistinguisher routeDistinguisher = null;
- if ((afi == Constants.AFI_VALUE) && (safi == Constants.VPN_SAFI_VALUE)) {
- routeDistinguisher = new RouteDistinguisher();
- routeDistinguisher = RouteDistinguisher.read(cb);
- isVpn = true;
- } else {
- isVpn = false;
- }
- byte protocolId = cb.readByte();
- long identifier = cb.readLong();
-
- BgpPrefixLSIdentifier bgpPrefixLSIdentifier = new BgpPrefixLSIdentifier();
- bgpPrefixLSIdentifier = BgpPrefixLSIdentifier.parsePrefixIdendifier(cb, protocolId);
- return new BgpPrefixIPv4LSNlriVer4(identifier, protocolId, bgpPrefixLSIdentifier, routeDistinguisher, isVpn);
- }
-
- @Override
- public NlriType getNlriType() {
- return NlriType.PREFIX_IPV4;
- }
-
- @Override
- public NodeDescriptors getLocalNodeDescriptors() {
- return this.bgpPrefixLSIdentifier.getLocalNodeDescriptors();
- }
-
- @Override
- public long getIdentifier() {
- return this.identifier;
- }
-
- /**
- * Set the prefix LS identifier.
- *
- * @param bgpPrefixLSIdentifier prefix identifier to set
- */
- public void setPrefixLSIdentifier(BgpPrefixLSIdentifier bgpPrefixLSIdentifier) {
- this.bgpPrefixLSIdentifier = bgpPrefixLSIdentifier;
- }
-
- @Override
- public ProtocolType getProtocolId() throws BgpParseException {
- switch (protocolId) {
- case Constants.ISIS_LEVELONE:
- return ProtocolType.ISIS_LEVEL_ONE;
- case Constants.ISIS_LEVELTWO:
- return ProtocolType.ISIS_LEVEL_TWO;
- case Constants.OSPFV2:
- return ProtocolType.OSPF_V2;
- case Constants.DIRECT:
- return ProtocolType.DIRECT;
- case Constants.STATIC_CONFIGURATION:
- return ProtocolType.STATIC_CONFIGURATION;
- case Constants.OSPFV3:
- return ProtocolType.OSPF_V3;
- default:
- throw new BgpParseException("protocol id not valid");
- }
- }
-
- /**
- * Returns whether VPN is present or not.
- *
- * @return whether VPN is present or not
- */
- public boolean isVpnPresent() {
- return this.isVpn;
- }
-
- /**
- * Returns Prefix Identifier.
- *
- * @return Prefix Identifier
- */
- public BgpPrefixLSIdentifier getPrefixIdentifier() {
- return this.bgpPrefixLSIdentifier;
- }
-
- @Override
- public RouteDistinguisher getRouteDistinguisher() {
- return this.routeDistinguisher;
- }
-
- @Override
- public List<BgpValueType> getPrefixdescriptor() {
- return this.bgpPrefixLSIdentifier.getPrefixdescriptor();
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .omitNullValues()
- .add("protocolId", protocolId)
- .add("identifier", identifier)
- .add("RouteDistinguisher ", routeDistinguisher)
- .add("bgpPrefixLSIdentifier", bgpPrefixLSIdentifier)
- .toString();
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpPrefixLSIdentifier.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpPrefixLSIdentifier.java
deleted file mode 100644
index 22e68917..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/BgpPrefixLSIdentifier.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.protocol.linkstate;
-
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.types.IPReachabilityInformationTlv;
-import org.onosproject.bgpio.types.OSPFRouteTypeTlv;
-import org.onosproject.bgpio.types.attr.BgpAttrNodeMultiTopologyId;
-import org.onosproject.bgpio.util.UnSupportedAttribute;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Provides Implementation of Local node descriptors and prefix descriptors.
- */
-public class BgpPrefixLSIdentifier implements Comparable<Object> {
-
- protected static final Logger log = LoggerFactory.getLogger(BgpPrefixLSIdentifier.class);
- public static final int TYPE_AND_LEN = 4;
- private NodeDescriptors localNodeDescriptors;
- private List<BgpValueType> prefixDescriptor;
-
- /**
- * Resets parameters.
- */
- public BgpPrefixLSIdentifier() {
- this.localNodeDescriptors = null;
- this.prefixDescriptor = null;
- }
-
- /**
- * Constructor to initialize parameters.
- *
- * @param localNodeDescriptors Local node descriptors
- * @param prefixDescriptor Prefix Descriptors
- */
- public BgpPrefixLSIdentifier(NodeDescriptors localNodeDescriptors, List<BgpValueType> prefixDescriptor) {
- this.localNodeDescriptors = localNodeDescriptors;
- this.prefixDescriptor = prefixDescriptor;
- }
-
- /**
- * Reads the channel buffer and parses Prefix Identifier.
- *
- * @param cb ChannelBuffer
- * @param protocolId protocol ID
- * @return object of this class
- * @throws BgpParseException while parsing Prefix Identifier
- */
- public static BgpPrefixLSIdentifier parsePrefixIdendifier(ChannelBuffer cb, byte protocolId)
- throws BgpParseException {
- //Parse Local Node descriptor
- NodeDescriptors localNodeDescriptors = new NodeDescriptors();
- localNodeDescriptors = parseLocalNodeDescriptors(cb, protocolId);
-
- //Parse Prefix descriptor
- List<BgpValueType> prefixDescriptor = new LinkedList<>();
- prefixDescriptor = parsePrefixDescriptors(cb);
- return new BgpPrefixLSIdentifier(localNodeDescriptors, prefixDescriptor);
- }
-
- /**
- * Parse local node descriptors.
- *
- * @param cb ChannelBuffer
- * @param protocolId protocol identifier
- * @return LocalNodeDescriptors
- * @throws BgpParseException while parsing local node descriptors
- */
- public static NodeDescriptors parseLocalNodeDescriptors(ChannelBuffer cb, byte protocolId)
- throws BgpParseException {
- ChannelBuffer tempBuf = cb.copy();
- short type = cb.readShort();
- short length = cb.readShort();
- if (cb.readableBytes() < length) {
- //length + 4 implies data contains type, length and value
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.OPTIONAL_ATTRIBUTE_ERROR,
- tempBuf.readBytes(cb.readableBytes() + TYPE_AND_LEN));
- }
- NodeDescriptors localNodeDescriptors = new NodeDescriptors();
- ChannelBuffer tempCb = cb.readBytes(length);
-
- if (type == NodeDescriptors.LOCAL_NODE_DES_TYPE) {
- localNodeDescriptors = NodeDescriptors.read(tempCb, length, type, protocolId);
- } else {
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.MALFORMED_ATTRIBUTE_LIST, null);
- }
- return localNodeDescriptors;
- }
-
- /**
- * Parse list of prefix descriptors.
- *
- * @param cb ChannelBuffer
- * @return list of prefix descriptors
- * @throws BgpParseException while parsing list of prefix descriptors
- */
- public static List<BgpValueType> parsePrefixDescriptors(ChannelBuffer cb) throws BgpParseException {
- LinkedList<BgpValueType> prefixDescriptor = new LinkedList<>();
- BgpValueType tlv = null;
- boolean isIpReachInfo = false;
- ChannelBuffer tempCb;
- int count = 0;
-
- while (cb.readableBytes() > 0) {
- ChannelBuffer tempBuf = cb.copy();
- short type = cb.readShort();
- short length = cb.readShort();
- if (cb.readableBytes() < length) {
- //length + 4 implies data contains type, length and value
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.OPTIONAL_ATTRIBUTE_ERROR,
- tempBuf.readBytes(cb.readableBytes() + TYPE_AND_LEN));
- }
- tempCb = cb.readBytes(length);
- switch (type) {
- case OSPFRouteTypeTlv.TYPE:
- tlv = OSPFRouteTypeTlv.read(tempCb);
- break;
- case IPReachabilityInformationTlv.TYPE:
- tlv = IPReachabilityInformationTlv.read(tempCb, length);
- isIpReachInfo = true;
- break;
- case BgpAttrNodeMultiTopologyId.ATTRNODE_MULTITOPOLOGY:
- tlv = BgpAttrNodeMultiTopologyId.read(tempCb);
- count = count + 1;
- if (count > 1) {
- //length + 4 implies data contains type, length and value
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.OPTIONAL_ATTRIBUTE_ERROR, tempBuf.readBytes(length + TYPE_AND_LEN));
- }
- break;
- default:
- UnSupportedAttribute.skipBytes(tempCb, length);
- }
- prefixDescriptor.add(tlv);
- }
-
- if (!isIpReachInfo) {
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.OPTIONAL_ATTRIBUTE_ERROR,
- null);
- }
- return prefixDescriptor;
- }
-
- /**
- * Returns local node descriptors.
- *
- * @return local node descriptors
- */
- public NodeDescriptors getLocalNodeDescriptors() {
- return this.localNodeDescriptors;
- }
-
- /**
- * Returns Prefix descriptors.
- *
- * @return Prefix descriptors
- */
- public List<BgpValueType> getPrefixdescriptor() {
- return this.prefixDescriptor;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(prefixDescriptor.hashCode(), localNodeDescriptors);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpPrefixLSIdentifier) {
- int countObjSubTlv = 0;
- int countOtherSubTlv = 0;
- boolean isCommonSubTlv = true;
- BgpPrefixLSIdentifier other = (BgpPrefixLSIdentifier) obj;
-
- Iterator<BgpValueType> objListIterator = other.prefixDescriptor.iterator();
- countOtherSubTlv = other.prefixDescriptor.size();
- countObjSubTlv = prefixDescriptor.size();
- if (countObjSubTlv != countOtherSubTlv) {
- return false;
- } else {
- while (objListIterator.hasNext() && isCommonSubTlv) {
- BgpValueType subTlv = objListIterator.next();
- if (prefixDescriptor.contains(subTlv) && other.prefixDescriptor.contains(subTlv)) {
- isCommonSubTlv = Objects.equals(prefixDescriptor.get(prefixDescriptor.indexOf(subTlv)),
- other.prefixDescriptor.get(other.prefixDescriptor.indexOf(subTlv)));
- } else {
- isCommonSubTlv = false;
- }
- }
- return isCommonSubTlv && Objects.equals(this.localNodeDescriptors, other.localNodeDescriptors);
- }
- }
- return false;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("localNodeDescriptors", localNodeDescriptors)
- .add("prefixDescriptor", prefixDescriptor)
- .toString();
- }
-
- @Override
- public int compareTo(Object o) {
- if (this.equals(o)) {
- return 0;
- }
- int result = this.localNodeDescriptors.compareTo(((BgpPrefixLSIdentifier) o).localNodeDescriptors);
- if (result != 0) {
- return result;
- } else {
- int countOtherSubTlv = ((BgpPrefixLSIdentifier) o).prefixDescriptor.size();
- int countObjSubTlv = prefixDescriptor.size();
- if (countOtherSubTlv != countObjSubTlv) {
- if (countOtherSubTlv > countObjSubTlv) {
- return 1;
- } else {
- return -1;
- }
- }
-
- ListIterator<BgpValueType> listIterator = prefixDescriptor.listIterator();
- ListIterator<BgpValueType> listIteratorOther = ((BgpPrefixLSIdentifier) o).prefixDescriptor.listIterator();
- while (listIterator.hasNext()) {
- BgpValueType tlv = listIterator.next();
- if (prefixDescriptor.contains(tlv) && ((BgpPrefixLSIdentifier) o).prefixDescriptor.contains(tlv)) {
- int res = prefixDescriptor.get(prefixDescriptor.indexOf(tlv)).compareTo(
- ((BgpPrefixLSIdentifier) o).prefixDescriptor
- .get(((BgpPrefixLSIdentifier) o).prefixDescriptor.indexOf(tlv)));
- if (res != 0) {
- return res;
- }
- } else {
- return 1;
- }
- }
- }
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/NodeDescriptors.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/NodeDescriptors.java
deleted file mode 100644
index f91ac260..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/NodeDescriptors.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.protocol.linkstate;
-
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.AreaIDTlv;
-import org.onosproject.bgpio.types.AutonomousSystemTlv;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpLSIdentifierTlv;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.types.IsIsNonPseudonode;
-import org.onosproject.bgpio.types.IsIsPseudonode;
-import org.onosproject.bgpio.types.OSPFNonPseudonode;
-import org.onosproject.bgpio.types.OSPFPseudonode;
-import org.onosproject.bgpio.util.UnSupportedAttribute;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Provides Local and Remote NodeDescriptors which contains Node Descriptor Sub-TLVs.
- */
-public class NodeDescriptors {
-
- /*
- *Reference :draft-ietf-idr-ls-distribution-11
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | |
- // Node Descriptor Sub-TLVs (variable) //
- | |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- Figure : Local or Remote Node Descriptors TLV format
- */
-
- private static final Logger log = LoggerFactory.getLogger(NodeDescriptors.class);
-
- public static final short LOCAL_NODE_DES_TYPE = 256;
- public static final short REMOTE_NODE_DES_TYPE = 257;
- public static final short IGP_ROUTERID_TYPE = 515;
- public static final short IS_IS_LEVEL_1_PROTOCOL_ID = 1;
- public static final short IS_IS_LEVEL_2_PROTOCOL_ID = 2;
- public static final short OSPF_V2_PROTOCOL_ID = 3;
- public static final short OSPF_V3_PROTOCOL_ID = 6;
- public static final int TYPE_AND_LEN = 4;
- public static final int ISISNONPSEUDONODE_LEN = 6;
- public static final int ISISPSEUDONODE_LEN = 7;
- public static final int OSPFNONPSEUDONODE_LEN = 4;
- public static final int OSPFPSEUDONODE_LEN = 8;
- private List<BgpValueType> subTlvs;
- private short deslength;
- private short desType;
-
- /**
- * Resets parameters.
- */
- public NodeDescriptors() {
- this.subTlvs = null;
- this.deslength = 0;
- this.desType = 0;
- }
-
- /**
- * Constructor to initialize parameters.
- *
- * @param subTlvs list of subTlvs
- * @param deslength Descriptors length
- * @param desType local node descriptor or remote node descriptor type
- */
- public NodeDescriptors(List<BgpValueType> subTlvs, short deslength, short desType) {
- this.subTlvs = subTlvs;
- this.deslength = deslength;
- this.desType = desType;
- }
-
- /**
- * Returns list of subTlvs.
- *
- * @return subTlvs list of subTlvs
- */
- public List<BgpValueType> getSubTlvs() {
- return subTlvs;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(subTlvs.hashCode());
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof NodeDescriptors) {
- int countObjSubTlv = 0;
- int countOtherSubTlv = 0;
- boolean isCommonSubTlv = true;
- NodeDescriptors other = (NodeDescriptors) obj;
- Iterator<BgpValueType> objListIterator = other.subTlvs.iterator();
- countOtherSubTlv = other.subTlvs.size();
- countObjSubTlv = subTlvs.size();
- if (countObjSubTlv != countOtherSubTlv) {
- return false;
- } else {
- while (objListIterator.hasNext() && isCommonSubTlv) {
- BgpValueType subTlv = objListIterator.next();
- if (subTlvs.contains(subTlv) && other.subTlvs.contains(subTlv)) {
- isCommonSubTlv = Objects.equals(subTlvs.get(subTlvs.indexOf(subTlv)),
- other.subTlvs.get(other.subTlvs.indexOf(subTlv)));
- } else {
- isCommonSubTlv = false;
- }
- }
- return isCommonSubTlv;
- }
- }
- return false;
- }
-
- /**
- * Reads node descriptors Sub-TLVs.
- *
- * @param cb ChannelBuffer
- * @param desLength node descriptor length
- * @param desType local node descriptor or remote node descriptor type
- * @param protocolId protocol ID
- * @return object of NodeDescriptors
- * @throws BgpParseException while parsing node descriptors
- */
- public static NodeDescriptors read(ChannelBuffer cb, short desLength, short desType, byte protocolId)
- throws BgpParseException {
- log.debug("Read NodeDescriptor");
- List<BgpValueType> subTlvs = new LinkedList<>();
- BgpValueType tlv = null;
-
- while (cb.readableBytes() > 0) {
- ChannelBuffer tempBuf = cb.copy();
- short type = cb.readShort();
- short length = cb.readShort();
- if (cb.readableBytes() < length) {
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.OPTIONAL_ATTRIBUTE_ERROR,
- tempBuf.readBytes(cb.readableBytes() + TYPE_AND_LEN));
- }
- ChannelBuffer tempCb = cb.readBytes(length);
- switch (type) {
- case AutonomousSystemTlv.TYPE:
- tlv = AutonomousSystemTlv.read(tempCb);
- break;
- case BgpLSIdentifierTlv.TYPE:
- tlv = BgpLSIdentifierTlv.read(tempCb);
- break;
- case AreaIDTlv.TYPE:
- tlv = AreaIDTlv.read(tempCb);
- break;
- case IGP_ROUTERID_TYPE:
- if (protocolId == IS_IS_LEVEL_1_PROTOCOL_ID || protocolId == IS_IS_LEVEL_2_PROTOCOL_ID) {
- if (length == ISISNONPSEUDONODE_LEN) {
- tlv = IsIsNonPseudonode.read(tempCb);
- } else if (length == ISISPSEUDONODE_LEN) {
- tlv = IsIsPseudonode.read(tempCb);
- }
- } else if (protocolId == OSPF_V2_PROTOCOL_ID || protocolId == OSPF_V3_PROTOCOL_ID) {
- if (length == OSPFNONPSEUDONODE_LEN) {
- tlv = OSPFNonPseudonode.read(tempCb);
- } else if (length == OSPFPSEUDONODE_LEN) {
- tlv = OSPFPseudonode.read(tempCb);
- }
- }
- break;
- default:
- UnSupportedAttribute.skipBytes(tempCb, length);
- }
- subTlvs.add(tlv);
- }
- return new NodeDescriptors(subTlvs, desLength, desType);
- }
-
- /**
- * Returns node descriptors length.
- *
- * @return node descriptors length
- */
- public short getLength() {
- return this.deslength;
- }
-
- /**
- * Returns node descriptors type.
- *
- * @return node descriptors type
- */
- public short getType() {
- return this.desType;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("desType", desType)
- .add("deslength", deslength)
- .add("subTlvs", subTlvs)
- .toString();
- }
-
- public int compareTo(Object o) {
- if (this.equals(o)) {
- return 0;
- }
- ListIterator<BgpValueType> listIterator = subTlvs.listIterator();
- ListIterator<BgpValueType> listIteratorOther = ((NodeDescriptors) o).subTlvs.listIterator();
- int countOtherSubTlv = ((NodeDescriptors) o).subTlvs.size();
- int countObjSubTlv = subTlvs.size();
- if (countOtherSubTlv != countObjSubTlv) {
- if (countOtherSubTlv > countObjSubTlv) {
- return 1;
- } else {
- return -1;
- }
- } else {
- while (listIterator.hasNext()) {
- BgpValueType tlv = listIterator.next();
- log.debug("NodeDescriptor compare subtlv's");
- if (subTlvs.contains(tlv) && ((NodeDescriptors) o).subTlvs.contains(tlv)) {
- int result = subTlvs.get(subTlvs.indexOf(tlv)).compareTo(
- ((NodeDescriptors) o).subTlvs.get(((NodeDescriptors) o).subTlvs.indexOf(tlv)));
- if (result != 0) {
- return result;
- }
- } else {
- return 1;
- }
- }
- }
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/PathAttrNlriDetails.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/PathAttrNlriDetails.java
deleted file mode 100755
index 9578ccfe..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/PathAttrNlriDetails.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.protocol.linkstate;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Objects;
-
-import org.onosproject.bgpio.protocol.linkstate.BgpNodeLSNlriVer4.ProtocolType;
-import org.onosproject.bgpio.types.BgpValueType;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * This Class stores path Attributes, protocol ID and Identifier of LinkState NLRI.
- */
-public class PathAttrNlriDetails {
- private List<BgpValueType> pathAttributes;
- private ProtocolType protocolID;
- private long identifier;
-
- /**
- * Sets path attribute with specified path attribute.
- *
- * @param pathAttributes in update message
- */
- public void setPathAttribute(List<BgpValueType> pathAttributes) {
- this.pathAttributes = pathAttributes;
- }
-
- /**
- * Returns path attributes.
- *
- * @return path attributes
- */
- public List<BgpValueType> pathAttributes() {
- return this.pathAttributes;
- }
-
- /**
- * Sets protocolID with specified protocolID.
- *
- * @param protocolID in linkstate nlri
- */
- public void setProtocolID(ProtocolType protocolID) {
- this.protocolID = protocolID;
- }
-
- /**
- * Returns protocolID.
- *
- * @return protocolID
- */
- public ProtocolType protocolID() {
- return this.protocolID;
- }
-
- /**
- * Sets identifier with specified identifier.
- *
- * @param identifier in linkstate nlri
- */
- public void setIdentifier(long identifier) {
- this.identifier = identifier;
- }
-
- /**
- * Returns Identifier.
- *
- * @return Identifier
- */
- public long identifier() {
- return this.identifier;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(pathAttributes, protocolID, identifier);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof PathAttrNlriDetails) {
- int countObjSubTlv = 0;
- int countOtherSubTlv = 0;
- boolean isCommonSubTlv = true;
- PathAttrNlriDetails other = (PathAttrNlriDetails) obj;
- Iterator<BgpValueType> objListIterator = other.pathAttributes.iterator();
- countOtherSubTlv = other.pathAttributes.size();
- countObjSubTlv = pathAttributes.size();
- if (countObjSubTlv != countOtherSubTlv) {
- return false;
- } else {
- while (objListIterator.hasNext() && isCommonSubTlv) {
- BgpValueType subTlv = objListIterator.next();
- if (pathAttributes.contains(subTlv) && other.pathAttributes.contains(subTlv)) {
- isCommonSubTlv = Objects.equals(pathAttributes.get(pathAttributes.indexOf(subTlv)),
- other.pathAttributes.get(other.pathAttributes.indexOf(subTlv)));
- } else {
- isCommonSubTlv = false;
- }
- }
- return isCommonSubTlv && Objects.equals(identifier, other.identifier)
- && Objects.equals(protocolID, other.protocolID);
- }
- }
- return false;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("identifier", identifier)
- .add("protocolID", protocolID)
- .add("pathAttributes", pathAttributes)
- .toString();
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/PathAttrNlriDetailsLocalRib.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/PathAttrNlriDetailsLocalRib.java
deleted file mode 100755
index 4172ae46..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/PathAttrNlriDetailsLocalRib.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
- * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- */
-package org.onosproject.bgpio.protocol.linkstate;
-
-import java.util.Objects;
-
-import org.onlab.packet.IpAddress;
-import com.google.common.base.MoreObjects;
-
-/**
- * This Class stores path Attributes, protocol ID and Identifier of LinkState nlri.
- */
-public class PathAttrNlriDetailsLocalRib {
-
- private IpAddress localRibIpAddress;
- private long localRibAsNum;
- private int localRibIdentifier;
- private boolean isLocalRibIbgpSession;
- private PathAttrNlriDetails localRibNlridetails;
-
- /**
- * Constructor to initialize parameter.
- *
- * @param localRibIpAddress peer ip address
- * @param localRibIdentifier peer identifier
- * @param localRibAsNum peer As number
- * @param isLocalRibIbgpSession flag to indicate is Ibgp session
- * @param localRibNlridetails Nlri details
- *
- */
- public PathAttrNlriDetailsLocalRib(IpAddress localRibIpAddress, int localRibIdentifier, long localRibAsNum,
- boolean isLocalRibIbgpSession, PathAttrNlriDetails localRibNlridetails) {
- this.localRibIpAddress = localRibIpAddress;
- this.localRibAsNum = localRibAsNum;
- this.localRibIdentifier = localRibIdentifier;
- this.isLocalRibIbgpSession = isLocalRibIbgpSession;
- this.localRibNlridetails = localRibNlridetails;
- }
-
- /**
- * Gets the Ipaddress updated in local rib.
- *
- * @return localRibIpAddress ip address
- */
- public IpAddress localRibIpAddress() {
- return localRibIpAddress;
- }
-
- /**
- * Gets the autonomous system number updated in local rib.
- *
- * @return localRibAsNum autonomous system number
- */
- public long localRibAsNum() {
- return localRibAsNum;
- }
-
- /**
- * Gets the indetifier updated in local rib.
- *
- * @return localRibIdentifier identifier
- */
- public int localRibIdentifier() {
- return localRibIdentifier;
- }
-
- /**
- * Gets the bgp session type updated in local rib.
- *
- * @return isLocalRibIbgpSession session type
- */
- public boolean isLocalRibIbgpSession() {
- return isLocalRibIbgpSession;
- }
-
- /**
- * Returns local RIB Nlri details.
- *
- * @return localRibNlridetails Nlri details in local rib
- */
- public PathAttrNlriDetails localRibNlridetails() {
- return this.localRibNlridetails;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(localRibIpAddress, localRibIdentifier, localRibAsNum, isLocalRibIbgpSession,
- localRibNlridetails.hashCode());
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof PathAttrNlriDetailsLocalRib) {
- PathAttrNlriDetailsLocalRib other = (PathAttrNlriDetailsLocalRib) obj;
- return Objects.equals(localRibIpAddress, other.localRibIpAddress)
- && Objects.equals(localRibIdentifier, other.localRibIdentifier)
- && Objects.equals(localRibAsNum, other.localRibAsNum)
- && Objects.equals(isLocalRibIbgpSession, other.isLocalRibIbgpSession)
- && Objects.equals(localRibNlridetails, other.localRibNlridetails);
- }
- return false;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass()).add("peerIdentifier", localRibIdentifier)
- .add("localRibpathAttributes", localRibNlridetails.pathAttributes()).toString();
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/package-info.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/package-info.java
deleted file mode 100755
index 87ba60f0..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/linkstate/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * BGP Protocol specific link state details.
- */
-package org.onosproject.bgpio.protocol.linkstate;
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/package-info.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/package-info.java
deleted file mode 100755
index 723b31b1..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * BGP Protocol specific components.
- */
-package org.onosproject.bgpio.protocol;
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpFactoryVer4.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpFactoryVer4.java
deleted file mode 100755
index c57832b6..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpFactoryVer4.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.protocol.ver4;
-
-import org.onosproject.bgpio.protocol.BgpFactory;
-import org.onosproject.bgpio.protocol.BgpKeepaliveMsg;
-import org.onosproject.bgpio.protocol.BgpMessage;
-import org.onosproject.bgpio.protocol.BgpMessageReader;
-import org.onosproject.bgpio.protocol.BgpNotificationMsg;
-import org.onosproject.bgpio.protocol.BgpOpenMsg;
-import org.onosproject.bgpio.protocol.BgpVersion;
-
-/**
- * Provides BGP Factory and returns builder classes for all objects and messages.
- */
-public class BgpFactoryVer4 implements BgpFactory {
-
- public static final BgpFactoryVer4 INSTANCE = new BgpFactoryVer4();
-
- @Override
- public BgpOpenMsg.Builder openMessageBuilder() {
- return new BgpOpenMsgVer4.Builder();
- }
-
- @Override
- public BgpKeepaliveMsg.Builder keepaliveMessageBuilder() {
- return new BgpKeepaliveMsgVer4.Builder();
- }
-
- @Override
- public BgpNotificationMsg.Builder notificationMessageBuilder() {
- return new BgpNotificationMsgVer4.Builder();
- }
-
- @Override
- public BgpMessageReader<BgpMessage> getReader() {
- return BgpMessageVer4.READER;
- }
-
- @Override
- public BgpVersion getVersion() {
- return BgpVersion.BGP_4;
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpKeepaliveMsgVer4.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpKeepaliveMsgVer4.java
deleted file mode 100644
index 2c141586..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpKeepaliveMsgVer4.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.protocol.ver4;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.protocol.BgpKeepaliveMsg;
-import org.onosproject.bgpio.protocol.BgpMessageReader;
-import org.onosproject.bgpio.protocol.BgpMessageWriter;
-import org.onosproject.bgpio.types.BgpHeader;
-import org.onosproject.bgpio.protocol.BgpType;
-import org.onosproject.bgpio.protocol.BgpVersion;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Provides BGP keep alive message.
- */
-public class BgpKeepaliveMsgVer4 implements BgpKeepaliveMsg {
-
- /*
- <Keepalive Message>::= <Common Header>
- A KEEPALIVE message consists of only the message header and has a
- length of 19 octets.
-
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | |
- + +
- | |
- + +
- | Marker |
- + +
- | |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Length | Type |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- REFERENCE : RFC 4271
- */
-
- protected static final Logger log = LoggerFactory
- .getLogger(BgpKeepaliveMsgVer4.class);
-
- private BgpHeader bgpMsgHeader;
- public static final byte PACKET_VERSION = 4;
- public static final int PACKET_MINIMUM_LENGTH = 19;
- public static final int MARKER_LENGTH = 16;
- public static final BgpType MSG_TYPE = BgpType.KEEP_ALIVE;
- public static byte[] marker = new byte[] {(byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff,
- (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff,
- (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff,
- (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff};
-
- public static final BgpKeepaliveMsgVer4.Reader READER = new Reader();
-
- /**
- * Reader class for reading BGP keepalive message from channel buffer.
- */
- static class Reader implements BgpMessageReader<BgpKeepaliveMsg> {
-
- @Override
- public BgpKeepaliveMsg readFrom(ChannelBuffer cb, BgpHeader bgpHeader)
- throws BgpParseException {
-
- /* bgpHeader is not required in case of keepalive message and
- Header is already read and no other fields except header in keepalive message.*/
- return new BgpKeepaliveMsgVer4();
- }
- }
-
- /**
- * Default constructor.
- */
- public BgpKeepaliveMsgVer4() {
- }
-
- /**
- * Builder class for BGP keepalive message.
- */
- static class Builder implements BgpKeepaliveMsg.Builder {
- BgpHeader bgpMsgHeader;
-
- @Override
- public Builder setHeader(BgpHeader bgpMsgHeader) {
- this.bgpMsgHeader = bgpMsgHeader;
- return this;
- }
-
- @Override
- public BgpKeepaliveMsg build() {
- return new BgpKeepaliveMsgVer4();
- }
- }
-
- @Override
- public void writeTo(ChannelBuffer cb) {
- WRITER.write(cb, this);
- }
-
- static final Writer WRITER = new Writer();
-
- /**
- * Writer class for writing the BGP keepalive message to channel buffer.
- */
- static class Writer implements BgpMessageWriter<BgpKeepaliveMsgVer4> {
-
- @Override
- public void write(ChannelBuffer cb, BgpKeepaliveMsgVer4 message) {
-
- // write marker
- cb.writeBytes(marker, 0, MARKER_LENGTH);
-
- // write length of header
- cb.writeShort(PACKET_MINIMUM_LENGTH);
-
- // write the type of message
- cb.writeByte(MSG_TYPE.getType());
- }
- }
-
- @Override
- public BgpVersion getVersion() {
- return BgpVersion.BGP_4;
- }
-
- @Override
- public BgpType getType() {
- return MSG_TYPE;
- }
-
- @Override
- public BgpHeader getHeader() {
- return this.bgpMsgHeader;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass()).toString();
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpMessageVer4.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpMessageVer4.java
deleted file mode 100755
index 1c05dae4..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpMessageVer4.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.protocol.ver4;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.protocol.BgpFactories;
-import org.onosproject.bgpio.protocol.BgpMessage;
-import org.onosproject.bgpio.protocol.BgpMessageReader;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpHeader;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Provides BGP messages.
- */
-public abstract class BgpMessageVer4 {
-
- protected static final Logger log = LoggerFactory.getLogger(BgpFactories.class);
-
- static final byte OPEN_MSG_TYPE = 0x1;
- static final byte KEEPALIVE_MSG_TYPE = 0x4;
- static final byte UPDATE_MSG_TYPE = 0x2;
- static final byte NOTIFICATION_MSG_TYPE = 0x3;
- static final int MINIMUM_COMMON_HEADER_LENGTH = 19;
- static final int HEADER_AND_MSG_LEN = 18;
- static final int MAXIMUM_PACKET_LENGTH = 4096;
-
- public static final BgpMessageVer4.Reader READER = new Reader();
-
- /**
- * Reader class for reading BGP messages from channel buffer.
- *
- */
- static class Reader implements BgpMessageReader<BgpMessage> {
- @Override
- public BgpMessage readFrom(ChannelBuffer cb, BgpHeader bgpHeader)
- throws BgpParseException {
-
- if (cb.readableBytes() < MINIMUM_COMMON_HEADER_LENGTH) {
- log.error("Packet should have minimum length.");
- Validation.validateLen(BgpErrorType.MESSAGE_HEADER_ERROR, BgpErrorType.BAD_MESSAGE_LENGTH,
- cb.readableBytes());
- }
- if (cb.readableBytes() > MAXIMUM_PACKET_LENGTH) {
- log.error("Packet length should not exceed {}.", MAXIMUM_PACKET_LENGTH);
- Validation.validateLen(BgpErrorType.MESSAGE_HEADER_ERROR, BgpErrorType.BAD_MESSAGE_LENGTH,
- cb.readableBytes());
- }
- try {
- // fixed value property version == 4
- byte[] marker = new byte[BgpHeader.MARKER_LENGTH];
- cb.readBytes(marker, 0, BgpHeader.MARKER_LENGTH);
- bgpHeader.setMarker(marker);
- for (int i = 0; i < BgpHeader.MARKER_LENGTH; i++) {
- if (marker[i] != (byte) 0xff) {
- throw new BgpParseException(BgpErrorType.MESSAGE_HEADER_ERROR,
- BgpErrorType.CONNECTION_NOT_SYNCHRONIZED, null);
- }
- }
- short length = cb.readShort();
- if (length > cb.readableBytes() + HEADER_AND_MSG_LEN) {
- Validation.validateLen(BgpErrorType.MESSAGE_HEADER_ERROR,
- BgpErrorType.BAD_MESSAGE_LENGTH, length);
- }
- bgpHeader.setLength(length);
- byte type = cb.readByte();
- bgpHeader.setType(type);
- log.debug("Reading update message of type " + type);
-
- int len = length - MINIMUM_COMMON_HEADER_LENGTH;
- switch (type) {
- case OPEN_MSG_TYPE:
- log.debug("OPEN MESSAGE is received");
- return BgpOpenMsgVer4.READER.readFrom(cb.readBytes(len), bgpHeader);
- case KEEPALIVE_MSG_TYPE:
- log.debug("KEEPALIVE MESSAGE is received");
- return BgpKeepaliveMsgVer4.READER.readFrom(cb.readBytes(len), bgpHeader);
- case UPDATE_MSG_TYPE:
- log.debug("UPDATE MESSAGE is received");
- return BgpUpdateMsgVer4.READER.readFrom(cb.readBytes(len), bgpHeader);
- case NOTIFICATION_MSG_TYPE:
- log.debug("NOTIFICATION MESSAGE is received");
- return BgpNotificationMsgVer4.READER.readFrom(cb.readBytes(len), bgpHeader);
- default:
- Validation.validateType(BgpErrorType.MESSAGE_HEADER_ERROR, BgpErrorType.BAD_MESSAGE_TYPE, type);
- return null;
- }
- } catch (IndexOutOfBoundsException e) {
- throw new BgpParseException(BgpErrorType.MESSAGE_HEADER_ERROR,
- BgpErrorType.BAD_MESSAGE_LENGTH, null);
- }
- }
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpNotificationMsgVer4.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpNotificationMsgVer4.java
deleted file mode 100644
index 7243e21a..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpNotificationMsgVer4.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.protocol.ver4;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.protocol.BgpMessageReader;
-import org.onosproject.bgpio.protocol.BgpMessageWriter;
-import org.onosproject.bgpio.protocol.BgpNotificationMsg;
-import org.onosproject.bgpio.protocol.BgpType;
-import org.onosproject.bgpio.protocol.BgpVersion;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpHeader;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * A NOTIFICATION message is sent when an error condition is detected. The BGP connection is closed immediately after it
- * is sent.
- */
-class BgpNotificationMsgVer4 implements BgpNotificationMsg {
-
- /*
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Error code | Error subcode | Data (variable) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- REFERENCE : RFC 4271
- */
-
- private static final Logger log = LoggerFactory.getLogger(BgpNotificationMsgVer4.class);
-
- static final byte PACKET_VERSION = 4;
- //BGPHeader(19) + Error code(1) + Error subcode(1)
- static final int TOTAL_MESSAGE_MIN_LENGTH = 21;
- static final int PACKET_MINIMUM_LENGTH = 2;
- static final BgpType MSG_TYPE = BgpType.NOTIFICATION;
- static final byte DEFAULT_ERRORSUBCODE = 0;
- static final byte[] MARKER = {(byte) 0xff, (byte) 0xff, (byte) 0xff,
- (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff,
- (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff,
- (byte) 0xff, (byte) 0xff, (byte) 0xff };
- static final byte MESSAGE_TYPE = 3;
- static final BgpHeader DEFAULT_MESSAGE_HEADER = new BgpHeader(MARKER, BgpHeader.DEFAULT_HEADER_LENGTH,
- MESSAGE_TYPE);
-
- private byte errorCode;
- private byte errorSubCode;
- private byte[] data;
- private BgpHeader bgpHeader;
- public static final BgpNotificationMsgVer4.Reader READER = new Reader();
-
- /**
- * Initialize fields.
- */
- public BgpNotificationMsgVer4() {
- this.bgpHeader = null;
- this.data = null;
- this.errorCode = 0;
- this.errorSubCode = 0;
- }
-
- /**
- * Constructor to initialize parameters.
- *
- * @param bgpHeader BGP Header in notification message
- * @param errorCode error code
- * @param errorSubCode error subcode
- * @param data field
- */
- public BgpNotificationMsgVer4(BgpHeader bgpHeader, byte errorCode, byte errorSubCode, byte[] data) {
- this.bgpHeader = bgpHeader;
- this.data = data;
- this.errorCode = errorCode;
- this.errorSubCode = errorSubCode;
- }
-
- /**
- * Reader reads BGP Notification Message from the channel buffer.
- */
- static class Reader implements BgpMessageReader<BgpNotificationMsg> {
- @Override
- public BgpNotificationMsg readFrom(ChannelBuffer cb, BgpHeader bgpHeader) throws BgpParseException {
- byte errorCode;
- byte errorSubCode;
- if (cb.readableBytes() < PACKET_MINIMUM_LENGTH) {
- throw new BgpParseException("Not enough readable bytes");
- }
- errorCode = cb.readByte();
- errorSubCode = cb.readByte();
- //Message Length = 21 + Data Length
- int dataLength = bgpHeader.getLength() - TOTAL_MESSAGE_MIN_LENGTH;
- byte[] data = new byte[dataLength];
- cb.readBytes(data, 0, dataLength);
- return new BgpNotificationMsgVer4(bgpHeader, errorCode, errorSubCode, data);
- }
- }
-
- /**
- * Builder class for BGP notification message.
- */
- static class Builder implements BgpNotificationMsg.Builder {
- private byte errorCode;
- private byte errorSubCode;
- private byte[] data;
- private BgpHeader bgpHeader;
- private boolean isErrorCodeSet = false;
- private boolean isErrorSubCodeSet = false;
- private boolean isBGPHeaderSet = false;
-
- @Override
- public BgpNotificationMsg build() throws BgpParseException {
- BgpHeader bgpHeader = this.isBGPHeaderSet ? this.bgpHeader : DEFAULT_MESSAGE_HEADER;
- if (!this.isErrorCodeSet) {
- throw new BgpParseException("Error code must be present");
- }
-
- byte errorSubCode = this.isErrorSubCodeSet ? this.errorSubCode : DEFAULT_ERRORSUBCODE;
- return new BgpNotificationMsgVer4(bgpHeader, this.errorCode, errorSubCode, this.data);
- }
-
- @Override
- public Builder setErrorCode(byte errorCode) {
- this.errorCode = errorCode;
- this.isErrorCodeSet = true;
- return this;
- }
-
- @Override
- public Builder setErrorSubCode(byte errorSubCode) {
- this.errorSubCode = errorSubCode;
- this.isErrorSubCodeSet = true;
- return this;
- }
-
- @Override
- public Builder setData(byte[] data) {
- if (data != null) {
- this.data = data;
- }
- return this;
- }
-
- @Override
- public Builder setHeader(BgpHeader bgpMsgHeader) {
- this.bgpHeader = bgpMsgHeader;
- return this;
- }
- }
-
- @Override
- public BgpVersion getVersion() {
- return BgpVersion.BGP_4;
- }
-
- @Override
- public BgpType getType() {
- return BgpType.NOTIFICATION;
- }
-
- @Override
- public void writeTo(ChannelBuffer cb) throws BgpParseException {
- WRITER.write(cb, this);
- }
-
- static final Writer WRITER = new Writer();
-
- /**
- * Writer writes BGP notification message to channel buffer.
- */
- static class Writer implements BgpMessageWriter<BgpNotificationMsgVer4> {
- @Override
- public void write(ChannelBuffer cb, BgpNotificationMsgVer4 message) throws BgpParseException {
- int msgStartIndex = cb.writerIndex();
- int headerLenIndex = message.bgpHeader.write(cb);
- if (headerLenIndex <= 0) {
- throw new BgpParseException(BgpErrorType.MESSAGE_HEADER_ERROR, (byte) 0, null);
- }
- cb.writeByte(message.errorCode);
- cb.writeByte(message.errorSubCode);
- if (message.data != null) {
- cb.writeBytes(message.data);
- }
-
- //Update message length field in notification message
- int length = cb.writerIndex() - msgStartIndex;
- cb.setShort(headerLenIndex, (short) length);
- message.bgpHeader.setLength((short) length);
- }
- }
-
- @Override
- public byte getErrorCode() {
- return this.errorCode;
- }
-
- /**
- * Sets errorcode with specified errorcode.
- *
- * @param errorCode field
- */
- public void setErrorCode(byte errorCode) {
- this.errorCode = errorCode;
- }
-
- @Override
- public byte getErrorSubCode() {
- return this.errorSubCode;
- }
-
- /**
- * Sets error subcode with specified errorSubCode.
- *
- * @param errorSubCode field
- */
- public void setErrorSubCode(byte errorSubCode) {
- this.errorSubCode = errorSubCode;
- }
-
- @Override
- public byte[] getData() {
- return this.data;
- }
-
- /**
- * Sets error data with specified data.
- *
- * @param data field
- */
- public void setData(byte[] data) {
- this.data = data;
- }
-
- @Override
- public BgpHeader getHeader() {
- return this.bgpHeader;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .omitNullValues()
- .add("bgpHeader", bgpHeader)
- .add("data", data)
- .add("errorCode", errorCode)
- .add("errorSubCode", errorSubCode)
- .toString();
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpOpenMsgVer4.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpOpenMsgVer4.java
deleted file mode 100644
index 359eec25..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpOpenMsgVer4.java
+++ /dev/null
@@ -1,518 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.protocol.ver4;
-
-import java.util.LinkedList;
-import java.util.ListIterator;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.protocol.BgpMessageReader;
-import org.onosproject.bgpio.protocol.BgpMessageWriter;
-import org.onosproject.bgpio.protocol.BgpOpenMsg;
-import org.onosproject.bgpio.protocol.BgpType;
-import org.onosproject.bgpio.protocol.BgpVersion;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpHeader;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.types.FourOctetAsNumCapabilityTlv;
-import org.onosproject.bgpio.types.MultiProtocolExtnCapabilityTlv;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Provides BGP open message.
- */
-public class BgpOpenMsgVer4 implements BgpOpenMsg {
-
- /*
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+
- | Version |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | My Autonomous System |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Hold Time |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | BGP Identifier |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Opt Parm Len |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Optional Parameters (variable) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- OPEN Message Format
- REFERENCE : RFC 4271
- */
-
- protected static final Logger log = LoggerFactory.getLogger(BgpOpenMsgVer4.class);
-
- public static final byte PACKET_VERSION = 4;
- public static final int OPEN_MSG_MINIMUM_LENGTH = 10;
- public static final int MSG_HEADER_LENGTH = 19;
- public static final int MARKER_LENGTH = 16;
- public static final int DEFAULT_HOLD_TIME = 120;
- public static final short AS_TRANS = 23456;
- public static final int OPT_PARA_TYPE_CAPABILITY = 2;
- public static final BgpType MSG_TYPE = BgpType.OPEN;
- public static final short AFI = 16388;
- public static final byte SAFI = 71;
- public static final byte RES = 0;
- public static final int FOUR_OCTET_AS_NUM_CAPA_TYPE = 65;
- public static final byte[] MARKER = new byte[]{(byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff,
- (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff,
- (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff};
- public static final BgpHeader DEFAULT_OPEN_HEADER = new BgpHeader(MARKER,
- (short) OPEN_MSG_MINIMUM_LENGTH, (byte) 0X01);
- private BgpHeader bgpMsgHeader;
- private byte version;
- private short asNumber;
- private short holdTime;
- private int bgpId;
- private boolean isLargeAsCapabilitySet;
- private LinkedList<BgpValueType> capabilityTlv;
-
- public static final BgpOpenMsgVer4.Reader READER = new Reader();
-
- /**
- * reset variables.
- */
- public BgpOpenMsgVer4() {
- this.bgpMsgHeader = null;
- this.version = 0;
- this.holdTime = 0;
- this.asNumber = 0;
- this.bgpId = 0;
- this.capabilityTlv = null;
- }
-
- /**
- * Constructor to initialize all variables of BGP Open message.
- *
- * @param bgpMsgHeader BGP Header in open message
- * @param version BGP version in open message
- * @param holdTime hold time in open message
- * @param asNumber AS number in open message
- * @param bgpId BGP identifier in open message
- * @param capabilityTlv capabilities in open message
- */
- public BgpOpenMsgVer4(BgpHeader bgpMsgHeader, byte version, short asNumber, short holdTime,
- int bgpId, LinkedList<BgpValueType> capabilityTlv) {
- this.bgpMsgHeader = bgpMsgHeader;
- this.version = version;
- this.asNumber = asNumber;
- this.holdTime = holdTime;
- this.bgpId = bgpId;
- this.capabilityTlv = capabilityTlv;
- }
-
- @Override
- public BgpHeader getHeader() {
- return this.bgpMsgHeader;
- }
-
- @Override
- public BgpVersion getVersion() {
- return BgpVersion.BGP_4;
- }
-
- @Override
- public BgpType getType() {
- return MSG_TYPE;
- }
-
- @Override
- public short getHoldTime() {
- return this.holdTime;
- }
-
- @Override
- public short getAsNumber() {
- return this.asNumber;
- }
-
- @Override
- public int getBgpId() {
- return this.bgpId;
- }
-
- @Override
- public LinkedList<BgpValueType> getCapabilityTlv() {
- return this.capabilityTlv;
- }
-
- /**
- * Reader class for reading BGP open message from channel buffer.
- */
- public static class Reader implements BgpMessageReader<BgpOpenMsg> {
-
- @Override
- public BgpOpenMsg readFrom(ChannelBuffer cb, BgpHeader bgpHeader) throws BgpParseException {
-
- byte version;
- short holdTime;
- short asNumber;
- int bgpId;
- byte optParaLen = 0;
- byte optParaType;
- byte capParaLen = 0;
- LinkedList<BgpValueType> capabilityTlv = new LinkedList<>();
-
- if (cb.readableBytes() < OPEN_MSG_MINIMUM_LENGTH) {
- log.error("[readFrom] Invalid length: Packet size is less than the minimum length ");
- Validation.validateLen(BgpErrorType.OPEN_MESSAGE_ERROR, BgpErrorType.BAD_MESSAGE_LENGTH,
- cb.readableBytes());
- }
-
- // Read version
- version = cb.readByte();
- if (version != PACKET_VERSION) {
- log.error("[readFrom] Invalid version: " + version);
- throw new BgpParseException(BgpErrorType.OPEN_MESSAGE_ERROR,
- BgpErrorType.UNSUPPORTED_VERSION_NUMBER, null);
- }
-
- // Read AS number
- asNumber = cb.readShort();
-
- // Read Hold timer
- holdTime = cb.readShort();
-
- // Read BGP Identifier
- bgpId = cb.readInt();
-
- // Read optional parameter length
- optParaLen = cb.readByte();
-
- // Read Capabilities if optional parameter length is greater than 0
- if (optParaLen != 0) {
- // Read optional parameter type
- optParaType = cb.readByte();
-
- // Read optional parameter length
- capParaLen = cb.readByte();
-
- if (cb.readableBytes() < capParaLen) {
- throw new BgpParseException(BgpErrorType.OPEN_MESSAGE_ERROR, (byte) 0, null);
- }
-
- ChannelBuffer capaCb = cb.readBytes(capParaLen);
-
- // Parse capabilities only if optional parameter type is 2
- if ((optParaType == OPT_PARA_TYPE_CAPABILITY) && (capParaLen != 0)) {
- capabilityTlv = parseCapabilityTlv(capaCb);
- } else {
- throw new BgpParseException(BgpErrorType.OPEN_MESSAGE_ERROR,
- BgpErrorType.UNSUPPORTED_OPTIONAL_PARAMETER, null);
- }
- }
- return new BgpOpenMsgVer4(bgpHeader, version, asNumber, holdTime, bgpId, capabilityTlv);
- }
- }
-
- /**
- * Parsing capabilities.
- *
- * @param cb of type channel buffer
- * @return capabilityTlv of open message
- * @throws BgpParseException while parsing capabilities
- */
- protected static LinkedList<BgpValueType> parseCapabilityTlv(ChannelBuffer cb) throws BgpParseException {
-
- LinkedList<BgpValueType> capabilityTlv = new LinkedList<>();
-
- while (cb.readableBytes() > 0) {
- BgpValueType tlv;
- short type = cb.readByte();
- short length = cb.readByte();
-
- switch (type) {
- case FourOctetAsNumCapabilityTlv.TYPE:
- log.debug("FourOctetAsNumCapabilityTlv");
- if (FourOctetAsNumCapabilityTlv.LENGTH != length) {
- throw new BgpParseException("Invalid length received for FourOctetAsNumCapabilityTlv.");
- }
- if (length > cb.readableBytes()) {
- throw new BgpParseException("Four octet as num tlv length"
- + " is more than readableBytes.");
- }
- int as4Num = cb.readInt();
- tlv = new FourOctetAsNumCapabilityTlv(as4Num);
- break;
- case MultiProtocolExtnCapabilityTlv.TYPE:
- log.debug("MultiProtocolExtnCapabilityTlv");
- if (MultiProtocolExtnCapabilityTlv.LENGTH != length) {
- throw new BgpParseException("Invalid length received for MultiProtocolExtnCapabilityTlv.");
- }
- if (length > cb.readableBytes()) {
- throw new BgpParseException("BGP LS tlv length is more than readableBytes.");
- }
- short afi = cb.readShort();
- byte res = cb.readByte();
- byte safi = cb.readByte();
- tlv = new MultiProtocolExtnCapabilityTlv(afi, res, safi);
- break;
- default:
- log.debug("Warning: Unsupported TLV: " + type);
- cb.skipBytes(length);
- continue;
- }
- capabilityTlv.add(tlv);
- }
- return capabilityTlv;
- }
-
- /**
- * Builder class for BGP open message.
- */
- static class Builder implements BgpOpenMsg.Builder {
-
- private boolean isHeaderSet = false;
- private BgpHeader bgpMsgHeader;
- private boolean isHoldTimeSet = false;
- private short holdTime;
- private boolean isAsNumSet = false;
- private short asNumber;
- private boolean isBgpIdSet = false;
- private int bgpId;
- private boolean isLargeAsCapabilityTlvSet = false;
- private boolean isLsCapabilityTlvSet = false;
-
- LinkedList<BgpValueType> capabilityTlv = new LinkedList<>();
-
- @Override
- public BgpOpenMsg build() throws BgpParseException {
- BgpHeader bgpMsgHeader = this.isHeaderSet ? this.bgpMsgHeader : DEFAULT_OPEN_HEADER;
- short holdTime = this.isHoldTimeSet ? this.holdTime : DEFAULT_HOLD_TIME;
-
- if (!this.isAsNumSet) {
- throw new BgpParseException("BGP AS number is not set (mandatory)");
- }
-
- if (!this.isBgpIdSet) {
- throw new BgpParseException("BGPID is not set (mandatory)");
- }
-
- if (this.isLargeAsCapabilityTlvSet) {
- BgpValueType tlv;
- int value = this.asNumber;
- tlv = new FourOctetAsNumCapabilityTlv(value);
- this.capabilityTlv.add(tlv);
- }
-
- if (this.isLsCapabilityTlvSet) {
- BgpValueType tlv;
- tlv = new MultiProtocolExtnCapabilityTlv(AFI, RES, SAFI);
- this.capabilityTlv.add(tlv);
- }
-
- return new BgpOpenMsgVer4(bgpMsgHeader, PACKET_VERSION, this.asNumber, holdTime, this.bgpId,
- this.capabilityTlv);
- }
-
- @Override
- public Builder setHeader(BgpHeader bgpMsgHeader) {
- this.bgpMsgHeader = bgpMsgHeader;
- return this;
- }
-
- @Override
- public Builder setHoldTime(short holdTime) {
- this.holdTime = holdTime;
- this.isHoldTimeSet = true;
- return this;
- }
-
- @Override
- public Builder setAsNumber(short asNumber) {
- this.asNumber = asNumber;
- this.isAsNumSet = true;
- return this;
- }
-
- @Override
- public Builder setBgpId(int bgpId) {
- this.bgpId = bgpId;
- this.isBgpIdSet = true;
- return this;
- }
-
- @Override
- public Builder setCapabilityTlv(LinkedList<BgpValueType> capabilityTlv) {
- this.capabilityTlv = capabilityTlv;
- return this;
- }
-
- @Override
- public Builder setLargeAsCapabilityTlv(boolean isLargeAsCapabilitySet) {
- this.isLargeAsCapabilityTlvSet = isLargeAsCapabilitySet;
- return this;
- }
-
- @Override
- public Builder setLsCapabilityTlv(boolean isLsCapabilitySet) {
- this.isLsCapabilityTlvSet = isLsCapabilitySet;
- return this;
- }
- }
-
- @Override
- public void writeTo(ChannelBuffer cb) {
- try {
- WRITER.write(cb, this);
- } catch (BgpParseException e) {
- log.debug("[writeTo] Error: " + e.toString());
- }
- }
-
- public static final Writer WRITER = new Writer();
-
- /**
- * Writer class for writing BGP open message to channel buffer.
- */
- public static class Writer implements BgpMessageWriter<BgpOpenMsgVer4> {
-
- @Override
- public void write(ChannelBuffer cb, BgpOpenMsgVer4 message) throws BgpParseException {
-
- int optParaLen = 0;
- int as4num = 0;
-
- int startIndex = cb.writerIndex();
-
- // write common header and get msg length index
- int msgLenIndex = message.bgpMsgHeader.write(cb);
-
- if (msgLenIndex <= 0) {
- throw new BgpParseException("Unable to write message header.");
- }
-
- // write version in 1-octet
- cb.writeByte(message.version);
-
- // get as4num if LS Capability is set
- if (message.isLargeAsCapabilitySet) {
- LinkedList<BgpValueType> capabilityTlv = message
- .getCapabilityTlv();
- ListIterator<BgpValueType> listIterator = capabilityTlv
- .listIterator();
-
- while (listIterator.hasNext()) {
- BgpValueType tlv = listIterator.next();
- if (tlv.getType() == FOUR_OCTET_AS_NUM_CAPA_TYPE) {
- as4num = ((FourOctetAsNumCapabilityTlv) tlv).getInt();
- break;
- }
- }
- }
-
- if ((message.isLargeAsCapabilitySet) && (as4num > 65535)) {
- // write As number as AS_TRANS
- cb.writeShort(AS_TRANS);
- } else {
- // write AS number in next 2-octet
- cb.writeShort(message.asNumber);
- }
-
- // write HoldTime in next 2-octet
- cb.writeShort(message.holdTime);
-
- // write BGP Identifier in next 4-octet
- cb.writeInt(message.bgpId);
-
- // store the index of Optional parameter length
- int optParaLenIndex = cb.writerIndex();
-
- // set optional parameter length as 0
- cb.writeByte(0);
-
- // Pack capability TLV
- optParaLen = message.packCapabilityTlv(cb, message);
-
- if (optParaLen != 0) {
- // Update optional parameter length
- cb.setByte(optParaLenIndex, (byte) (optParaLen + 2)); //+2 for optional parameter type.
- }
-
- // write OPEN Object Length
- int length = cb.writerIndex() - startIndex;
- cb.setShort(msgLenIndex, (short) length);
- message.bgpMsgHeader.setLength((short) length);
- }
- }
-
- /**
- * returns length of capability tlvs.
- *
- * @param cb of type channel buffer
- * @param message of type BGPOpenMsgVer4
- * @return capParaLen of open message
- */
- protected int packCapabilityTlv(ChannelBuffer cb, BgpOpenMsgVer4 message) {
- int startIndex = cb.writerIndex();
- int capParaLen = 0;
- int capParaLenIndex = 0;
-
- LinkedList<BgpValueType> capabilityTlv = message.capabilityTlv;
- ListIterator<BgpValueType> listIterator = capabilityTlv.listIterator();
-
- if (listIterator.hasNext()) {
- // Set optional parameter type as 2
- cb.writeByte(OPT_PARA_TYPE_CAPABILITY);
-
- // Store the index of capability parameter length and update length at the end
- capParaLenIndex = cb.writerIndex();
-
- // Set capability parameter length as 0
- cb.writeByte(0);
-
- // Update the startIndex to know the length of capability tlv
- startIndex = cb.writerIndex();
- }
-
- while (listIterator.hasNext()) {
- BgpValueType tlv = listIterator.next();
- if (tlv == null) {
- log.debug("Warning: tlv is null from CapabilityTlv list");
- continue;
- }
- tlv.write(cb);
- }
-
- capParaLen = cb.writerIndex() - startIndex;
-
- if (capParaLen != 0) {
- // Update capability parameter length
- cb.setByte(capParaLenIndex, (byte) capParaLen);
- }
- return capParaLen;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("bgpMsgHeader", bgpMsgHeader)
- .add("version", version)
- .add("holdTime", holdTime)
- .add("asNumber", asNumber)
- .add("bgpId", bgpId)
- .add("capabilityTlv", capabilityTlv)
- .toString();
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpPathAttributes.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpPathAttributes.java
deleted file mode 100644
index 13e52ca2..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpPathAttributes.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.protocol.ver4;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.As4Path;
-import org.onosproject.bgpio.types.AsPath;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.types.LocalPref;
-import org.onosproject.bgpio.types.Med;
-import org.onosproject.bgpio.types.NextHop;
-import org.onosproject.bgpio.types.Origin;
-import org.onosproject.bgpio.types.MpReachNlri;
-import org.onosproject.bgpio.types.MpUnReachNlri;
-import org.onosproject.bgpio.util.UnSupportedAttribute;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Provides Implementation of BGP Path Attribute.
- */
-public class BgpPathAttributes {
-
- /* Path attribute:
- <attribute type, attribute length, attribute value>
-
- 0 1
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Attr. Flags |Attr. Type Code|
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- REFERENCE : RFC 4271
- */
- protected static final Logger log = LoggerFactory.getLogger(BgpPathAttributes.class);
-
- public static final int LINK_STATE_ATTRIBUTE_TYPE = 50;
- public static final int MPREACHNLRI_TYPE = 14;
- public static final int MPUNREACHNLRI_TYPE = 15;
-
- private final List<BgpValueType> pathAttribute;
-
- /**
- * Initialize parameter.
- */
- public BgpPathAttributes() {
- this.pathAttribute = null;
- }
-
- /**
- * Constructor to initialize parameters for BGP path attributes.
- *
- * @param pathAttribute list of path attributes
- */
- public BgpPathAttributes(List<BgpValueType> pathAttribute) {
- this.pathAttribute = pathAttribute;
- }
-
- /**
- * Returns list of path attributes.
- *
- * @return list of path attributes
- */
- public List<BgpValueType> pathAttributes() {
- return this.pathAttribute;
- }
-
- /**
- * Reads from channelBuffer and parses BGP path attributes.
- *
- * @param cb channelBuffer
- * @return object of BgpPathAttributes
- * @throws BgpParseException while parsing BGP path attributes
- */
- public static BgpPathAttributes read(ChannelBuffer cb)
- throws BgpParseException {
-
- BgpValueType pathAttribute = null;
- List<BgpValueType> pathAttributeList = new LinkedList<>();
- boolean isOrigin = false;
- boolean isAsPath = false;
- boolean isNextHop = false;
- boolean isMpReach = false;
- boolean isMpUnReach = false;
- while (cb.readableBytes() > 0) {
- cb.markReaderIndex();
- byte flags = cb.readByte();
- byte typeCode = cb.readByte();
- cb.resetReaderIndex();
- switch (typeCode) {
- case Origin.ORIGIN_TYPE:
- pathAttribute = Origin.read(cb);
- isOrigin = ((Origin) pathAttribute).isOriginSet();
- break;
- case AsPath.ASPATH_TYPE:
- pathAttribute = AsPath.read(cb);
- isAsPath = ((AsPath) pathAttribute).isaspathSet();
- break;
- case As4Path.AS4PATH_TYPE:
- pathAttribute = As4Path.read(cb);
- break;
- case NextHop.NEXTHOP_TYPE:
- pathAttribute = NextHop.read(cb);
- isNextHop = ((NextHop) pathAttribute).isNextHopSet();
- break;
- case Med.MED_TYPE:
- pathAttribute = Med.read(cb);
- break;
- case LocalPref.LOCAL_PREF_TYPE:
- pathAttribute = LocalPref.read(cb);
- break;
- case MpReachNlri.MPREACHNLRI_TYPE:
- pathAttribute = MpReachNlri.read(cb);
- isMpReach = ((MpReachNlri) pathAttribute).isMpReachNlriSet();
- break;
- case MpUnReachNlri.MPUNREACHNLRI_TYPE:
- pathAttribute = MpUnReachNlri.read(cb);
- isMpUnReach = ((MpUnReachNlri) pathAttribute)
- .isMpUnReachNlriSet();
- break;
- case LINK_STATE_ATTRIBUTE_TYPE:
- //TODO: To be merged later
- break;
- default:
- //skip bytes for unsupported attribute types
- UnSupportedAttribute.read(cb);
- }
- pathAttributeList.add(pathAttribute);
- }
-
- checkMandatoryAttr(isOrigin, isAsPath, isNextHop, isMpReach, isMpUnReach);
- //TODO:if mp_reach or mp_unreach not present ignore the packet
- return new BgpPathAttributes(pathAttributeList);
- }
-
- /**
- * Checks mandatory attributes are presents, if not present throws exception.
- *
- * @param isOrigin say whether origin attribute is present
- * @param isAsPath say whether aspath attribute is present
- * @param isNextHop say whether nexthop attribute is present
- * @param isMpReach say whether mpreach attribute is present
- * @param isMpUnReach say whether mpunreach attribute is present
- * @throws BgpParseException if mandatory path attribute is not present
- */
- public static void checkMandatoryAttr(boolean isOrigin, boolean isAsPath,
- boolean isNextHop, boolean isMpReach, boolean isMpUnReach)
- throws BgpParseException {
- // Mandatory attributes validation not required for MP_UNREACH
- if (isMpUnReach) {
- return;
- }
-
- if (!isOrigin) {
- log.debug("Mandatory Attributes not Present");
- Validation.validateType(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.MISSING_WELLKNOWN_ATTRIBUTE,
- Origin.ORIGIN_TYPE);
- }
- if (!isAsPath) {
- log.debug("Mandatory Attributes not Present");
- Validation.validateType(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.MISSING_WELLKNOWN_ATTRIBUTE,
- AsPath.ASPATH_TYPE);
- }
- if (!isMpUnReach && !isMpReach && !isNextHop) {
- log.debug("Mandatory Attributes not Present");
- Validation.validateType(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.MISSING_WELLKNOWN_ATTRIBUTE,
- NextHop.NEXTHOP_TYPE);
- }
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("pathAttribute", pathAttribute)
- .toString();
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpUpdateMsgVer4.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpUpdateMsgVer4.java
deleted file mode 100644
index 4d6af594..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/BgpUpdateMsgVer4.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.protocol.ver4;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onlab.packet.IpPrefix;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.protocol.BgpMessageReader;
-import org.onosproject.bgpio.protocol.BgpType;
-import org.onosproject.bgpio.protocol.BgpUpdateMsg;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpHeader;
-import org.onosproject.bgpio.util.Validation;
-import org.onosproject.bgpio.protocol.BgpVersion;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * BGP Update Message: UPDATE messages are used to transfer routing information
- * between BGP peers. The information in the UPDATE message is used by core to
- * construct a graph
- */
-public class BgpUpdateMsgVer4 implements BgpUpdateMsg {
-
- /* 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | |
- + +
- | |
- + +
- | Marker |
- + +
- | |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Length | Type |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Withdrawn Routes Length (2 octets) |
- +-----------------------------------------------------+
- | Withdrawn Routes (variable) |
- +-----------------------------------------------------+
- | Total Path Attribute Length (2 octets) |
- +-----------------------------------------------------+
- | Path Attributes (variable) |
- +-----------------------------------------------------+
- | Network Layer Reachability Information (variable) |
- +-----------------------------------------------------+
- REFERENCE : RFC 4271
- */
-
- protected static final Logger log = LoggerFactory
- .getLogger(BgpUpdateMsgVer4.class);
-
- public static final byte PACKET_VERSION = 4;
- //Withdrawn Routes Length(2) + Total Path Attribute Length(2)
- public static final int PACKET_MINIMUM_LENGTH = 4;
- public static final int BYTE_IN_BITS = 8;
- public static final int MIN_LEN_AFTER_WITHDRW_ROUTES = 2;
- public static final int MINIMUM_COMMON_HEADER_LENGTH = 19;
- public static final BgpType MSG_TYPE = BgpType.UPDATE;
- public static final BgpUpdateMsgVer4.Reader READER = new Reader();
-
- private List<IpPrefix> withdrawnRoutes;
- private BgpPathAttributes bgpPathAttributes;
- private BgpHeader bgpHeader;
- private List<IpPrefix> nlri;
-
- /**
- * Constructor to initialize parameters for BGP Update message.
- *
- * @param bgpHeader in Update message
- * @param withdrawnRoutes withdrawn routes
- * @param bgpPathAttributes BGP Path attributes
- * @param nlri Network Layer Reachability Information
- */
- public BgpUpdateMsgVer4(BgpHeader bgpHeader, List<IpPrefix> withdrawnRoutes,
- BgpPathAttributes bgpPathAttributes, List<IpPrefix> nlri) {
- this.bgpHeader = bgpHeader;
- this.withdrawnRoutes = withdrawnRoutes;
- this.bgpPathAttributes = bgpPathAttributes;
- this.nlri = nlri;
- }
-
- /**
- * Reader reads BGP Update Message from the channel buffer.
- */
- static class Reader implements BgpMessageReader<BgpUpdateMsg> {
-
- @Override
- public BgpUpdateMsg readFrom(ChannelBuffer cb, BgpHeader bgpHeader)
- throws BgpParseException {
-
- if (cb.readableBytes() != (bgpHeader.getLength() - MINIMUM_COMMON_HEADER_LENGTH)) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.BAD_MESSAGE_LENGTH, bgpHeader.getLength());
- }
-
- LinkedList<IpPrefix> withDrwRoutes = new LinkedList<>();
- LinkedList<IpPrefix> nlri = new LinkedList<>();
- BgpPathAttributes bgpPathAttributes = new BgpPathAttributes();
- // Reading Withdrawn Routes Length
- Short withDrwLen = cb.readShort();
-
- if (cb.readableBytes() < withDrwLen) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.MALFORMED_ATTRIBUTE_LIST,
- cb.readableBytes());
- }
- ChannelBuffer tempCb = cb.readBytes(withDrwLen);
- if (withDrwLen != 0) {
- // Parsing WithdrawnRoutes
- withDrwRoutes = parseWithdrawnRoutes(tempCb);
- }
- if (cb.readableBytes() < MIN_LEN_AFTER_WITHDRW_ROUTES) {
- log.debug("Bgp Path Attribute len field not present");
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.MALFORMED_ATTRIBUTE_LIST, null);
- }
-
- // Reading Total Path Attribute Length
- short totPathAttrLen = cb.readShort();
- int len = withDrwLen + totPathAttrLen + PACKET_MINIMUM_LENGTH;
- if (len > bgpHeader.getLength()) {
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.MALFORMED_ATTRIBUTE_LIST, null);
- }
- if (totPathAttrLen != 0) {
- // Parsing BGPPathAttributes
- if (cb.readableBytes() < totPathAttrLen) {
- Validation
- .validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.MALFORMED_ATTRIBUTE_LIST,
- cb.readableBytes());
- }
- tempCb = cb.readBytes(totPathAttrLen);
- bgpPathAttributes = BgpPathAttributes.read(tempCb);
- }
- if (cb.readableBytes() > 0) {
- // Parsing NLRI
- nlri = parseNlri(cb);
- }
- return new BgpUpdateMsgVer4(bgpHeader, withDrwRoutes,
- bgpPathAttributes, nlri);
- }
- }
-
- /**
- * Parses NLRI from channel buffer.
- *
- * @param cb channelBuffer
- * @return list of IP Prefix
- * @throws BgpParseException while parsing NLRI
- */
- public static LinkedList<IpPrefix> parseNlri(ChannelBuffer cb)
- throws BgpParseException {
- LinkedList<IpPrefix> nlri = new LinkedList<>();
- while (cb.readableBytes() > 0) {
- int length = cb.readByte();
- IpPrefix ipPrefix;
- if (length == 0) {
- byte[] prefix = new byte[] {0};
- ipPrefix = Validation.bytesToPrefix(prefix, length);
- nlri.add(ipPrefix);
- } else {
- int len = length / BYTE_IN_BITS;
- int reminder = length % BYTE_IN_BITS;
- if (reminder > 0) {
- len = len + 1;
- }
- if (cb.readableBytes() < len) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.MALFORMED_ATTRIBUTE_LIST,
- cb.readableBytes());
- }
- byte[] prefix = new byte[len];
- cb.readBytes(prefix, 0, len);
- ipPrefix = Validation.bytesToPrefix(prefix, length);
- nlri.add(ipPrefix);
- }
- }
- return nlri;
- }
-
- /**
- * Parsing withdrawn routes from channel buffer.
- *
- * @param cb channelBuffer
- * @return list of IP prefix
- * @throws BgpParseException while parsing withdrawn routes
- */
- public static LinkedList<IpPrefix> parseWithdrawnRoutes(ChannelBuffer cb)
- throws BgpParseException {
- LinkedList<IpPrefix> withDrwRoutes = new LinkedList<>();
- while (cb.readableBytes() > 0) {
- int length = cb.readByte();
- IpPrefix ipPrefix;
- if (length == 0) {
- byte[] prefix = new byte[] {0};
- ipPrefix = Validation.bytesToPrefix(prefix, length);
- withDrwRoutes.add(ipPrefix);
- } else {
- int len = length / BYTE_IN_BITS;
- int reminder = length % BYTE_IN_BITS;
- if (reminder > 0) {
- len = len + 1;
- }
- if (cb.readableBytes() < len) {
- Validation
- .validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.MALFORMED_ATTRIBUTE_LIST,
- cb.readableBytes());
- }
- byte[] prefix = new byte[len];
- cb.readBytes(prefix, 0, len);
- ipPrefix = Validation.bytesToPrefix(prefix, length);
- withDrwRoutes.add(ipPrefix);
- }
- }
- return withDrwRoutes;
- }
-
- @Override
- public BgpVersion getVersion() {
- return BgpVersion.BGP_4;
- }
-
- @Override
- public BgpType getType() {
- return BgpType.UPDATE;
- }
-
- @Override
- public void writeTo(ChannelBuffer channelBuffer) throws BgpParseException {
- //Not to be implemented as of now
- }
-
- @Override
- public BgpPathAttributes bgpPathAttributes() {
- return this.bgpPathAttributes;
- }
-
- @Override
- public List<IpPrefix> withdrawnRoutes() {
- return withdrawnRoutes;
- }
-
- @Override
- public List<IpPrefix> nlri() {
- return nlri;
- }
-
- @Override
- public BgpHeader getHeader() {
- return this.bgpHeader;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .omitNullValues()
- .add("bgpHeader", bgpHeader)
- .add("withDrawnRoutes", withdrawnRoutes)
- .add("nlri", nlri)
- .add("bgpPathAttributes", bgpPathAttributes)
- .toString();
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/package-info.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/package-info.java
deleted file mode 100755
index fb8c67c0..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/protocol/ver4/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * BGP Protocol specific details of version 4.
- */
-package org.onosproject.bgpio.protocol.ver4; \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/AreaIDTlv.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/AreaIDTlv.java
deleted file mode 100644
index 842c6f02..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/AreaIDTlv.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types;
-
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Provides AreaID Tlv which contains opaque value (32 Bit Area-ID).
- */
-public class AreaIDTlv implements BgpValueType {
-
- /* Reference :draft-ietf-idr-ls-distribution-11
- * 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type= 514 | Length=4 |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | opaque value (32 Bit Area-ID) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- */
-
- public static final short TYPE = 514;
- public static final short LENGTH = 4;
-
- private final int areaID;
-
- /**
- * Constructor to initialize areaID.
- *
- * @param areaID of BGP AreaID Tlv
- */
- public AreaIDTlv(int areaID) {
- this.areaID = areaID;
- }
-
- /**
- * Returns object of this class with specified areaID.
- *
- * @param areaID opaque value of area id
- * @return object of AreaIDTlv
- */
- public static AreaIDTlv of(final int areaID) {
- return new AreaIDTlv(areaID);
- }
-
- /**
- * Returns opaque value of area id.
- *
- * @return opaque value of area id
- */
- public int getAreaID() {
- return areaID;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(areaID);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof AreaIDTlv) {
- AreaIDTlv other = (AreaIDTlv) obj;
- return Objects.equals(areaID, other.areaID);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer c) {
- int iLenStartIndex = c.writerIndex();
- c.writeShort(TYPE);
- c.writeShort(LENGTH);
- c.writeInt(areaID);
- return c.writerIndex() - iLenStartIndex;
- }
-
- /**
- * Reads the channel buffer and returns object of AreaIDTlv.
- *
- * @param cb ChannelBuffer
- * @return object of AreaIDTlv
- */
- public static AreaIDTlv read(ChannelBuffer cb) {
- return AreaIDTlv.of(cb.readInt());
- }
-
- @Override
- public short getType() {
- return TYPE;
- }
-
- @Override
- public int compareTo(Object o) {
- if (this.equals(o)) {
- return 0;
- }
- return ((Integer) (this.areaID)).compareTo((Integer) (((AreaIDTlv) o).areaID));
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("Type", TYPE)
- .add("Length", LENGTH)
- .add("Value", areaID)
- .toString();
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/As4Path.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/As4Path.java
deleted file mode 100644
index 3ceca2ce..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/As4Path.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.util.Constants;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Provides Implementation of As4Path BGP Path Attribute.
- */
-public class As4Path implements BgpValueType {
- private static final Logger log = LoggerFactory.getLogger(AsPath.class);
- public static final byte AS4PATH_TYPE = 17;
- public static final byte ASNUM_SIZE = 4;
-
- private List<Integer> as4pathSet;
- private List<Integer> as4pathSeq;
-
- /**
- * Initialize fields.
- */
- public As4Path() {
- this.as4pathSeq = null;
- this.as4pathSet = null;
- }
-
- /**
- * Constructor to initialize parameters.
- *
- * @param as4pathSet AS4path Set
- * @param as4pathSeq AS4path Sequence
- */
- public As4Path(List<Integer> as4pathSet, List<Integer> as4pathSeq) {
- this.as4pathSeq = as4pathSeq;
- this.as4pathSet = as4pathSet;
- }
-
- /**
- * Reads from the channel buffer and parses As4Path.
- *
- * @param cb ChannelBuffer
- * @return object of As4Path
- * @throws BgpParseException while parsing As4Path
- */
- public static As4Path read(ChannelBuffer cb) throws BgpParseException {
- List<Integer> as4pathSet = new ArrayList<>();
- List<Integer> as4pathSeq = new ArrayList<>();
- ChannelBuffer tempCb = cb.copy();
- Validation validation = Validation.parseAttributeHeader(cb);
-
- if (cb.readableBytes() < validation.getLength()) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- validation.getLength());
- }
- //if fourth bit is set length is read as short otherwise as byte , len includes type, length and value
- int len = validation.isShort() ? validation.getLength() + Constants.TYPE_AND_LEN_AS_SHORT : validation
- .getLength() + Constants.TYPE_AND_LEN_AS_BYTE;
- ChannelBuffer data = tempCb.readBytes(len);
- if (validation.getFirstBit() && !validation.getSecondBit() && validation.getThirdBit()) {
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.ATTRIBUTE_FLAGS_ERROR, data);
- }
-
- ChannelBuffer tempBuf = cb.readBytes(validation.getLength());
- while (tempBuf.readableBytes() > 0) {
- byte pathSegType = tempBuf.readByte();
- //no of ASes
- byte pathSegLen = tempBuf.readByte();
- //length = no of Ases * ASnum size (4 bytes)
- int length = pathSegLen * ASNUM_SIZE;
- if (tempBuf.readableBytes() < length) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR, length);
- }
- ChannelBuffer aspathBuf = tempBuf.readBytes(length);
- while (aspathBuf.readableBytes() > 0) {
- int asNum;
- asNum = aspathBuf.readInt();
- switch (pathSegType) {
- case AsPath.ASPATH_SET_TYPE:
- as4pathSet.add(asNum);
- break;
- case AsPath.ASPATH_SEQ_TYPE:
- as4pathSeq.add(asNum);
- break;
- default: log.debug("Other type Not Supported:" + pathSegType);
- }
- }
- }
- return new As4Path(as4pathSet, as4pathSeq);
- }
-
- @Override
- public short getType() {
- return AS4PATH_TYPE;
- }
-
- /**
- * Returns list of ASNum in AS4path Sequence.
- *
- * @return list of ASNum in AS4path Sequence
- */
- public List<Integer> as4PathSEQ() {
- return this.as4pathSeq;
- }
-
- /**
- * Returns list of ASNum in AS4path Set.
- *
- * @return list of ASNum in AS4path Set
- */
- public List<Integer> as4PathSET() {
- return this.as4pathSet;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(as4pathSet, as4pathSeq);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof As4Path) {
- As4Path other = (As4Path) obj;
- return Objects.equals(as4pathSet, other.as4pathSet) && Objects.equals(as4pathSeq, other.as4pathSeq);
- }
- return false;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .omitNullValues()
- .add("as4pathSet", as4pathSet)
- .add("as4pathSeq", as4pathSeq)
- .toString();
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- //Not required to Implement as of now
- return 0;
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/AsPath.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/AsPath.java
deleted file mode 100644
index 2a050c44..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/AsPath.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.types;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.util.Constants;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Provides Implementation of AsPath mandatory BGP Path Attribute.
- */
-public class AsPath implements BgpValueType {
- /**
- * Enum to provide AS types.
- */
- public enum ASTYPE {
- AS_SET(1), AS_SEQUENCE(2), AS_CONFED_SEQUENCE(3), AS_CONFED_SET(4);
- int value;
-
- /**
- * Assign val with the value as the AS type.
- *
- * @param val AS type
- */
- ASTYPE(int val) {
- value = val;
- }
-
- /**
- * Returns value of AS type.
- *
- * @return AS type
- */
- public byte type() {
- return (byte) value;
- }
- }
-
- private static final Logger log = LoggerFactory.getLogger(AsPath.class);
- public static final byte ASPATH_TYPE = 2;
- public static final byte ASPATH_SET_TYPE = 1;
- public static final byte ASPATH_SEQ_TYPE = 2;
- public static final byte ASNUM_SIZE = 2;
-
- private boolean isAsPath = false;
- private List<Short> aspathSet;
- private List<Short> aspathSeq;
-
- /**
- * Initialize Fields.
- */
- public AsPath() {
- this.aspathSeq = null;
- this.aspathSet = null;
- }
-
- /**
- * Constructor to initialize parameters.
- *
- * @param aspathSet ASpath Set type
- * @param aspathSeq ASpath Sequence type
- */
- public AsPath(List<Short> aspathSet, List<Short> aspathSeq) {
- this.aspathSeq = aspathSeq;
- this.aspathSet = aspathSet;
- this.isAsPath = true;
- }
-
- /**
- * Reads from the channel buffer and parses AsPath.
- *
- * @param cb ChannelBuffer
- * @return object of AsPath
- * @throws BgpParseException while parsing AsPath
- */
- public static AsPath read(ChannelBuffer cb) throws BgpParseException {
- List<Short> aspathSet = new ArrayList<>();
- List<Short> aspathSeq = new ArrayList<>();
- ChannelBuffer tempCb = cb.copy();
- Validation validation = Validation.parseAttributeHeader(cb);
-
- if (cb.readableBytes() < validation.getLength()) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- validation.getLength());
- }
- //if fourth bit is set, length is read as short otherwise as byte , len includes type, length and value
- int len = validation.isShort() ? validation.getLength() + Constants.TYPE_AND_LEN_AS_SHORT : validation
- .getLength() + Constants.TYPE_AND_LEN_AS_BYTE;
- ChannelBuffer data = tempCb.readBytes(len);
- if (validation.getFirstBit() && !validation.getSecondBit() && validation.getThirdBit()) {
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.ATTRIBUTE_FLAGS_ERROR, data);
- }
-
- ChannelBuffer tempBuf = cb.readBytes(validation.getLength());
- while (tempBuf.readableBytes() > 0) {
- byte pathSegType = tempBuf.readByte();
- //no of ASes
- byte pathSegLen = tempBuf.readByte();
- int length = pathSegLen * ASNUM_SIZE;
- if (tempBuf.readableBytes() < length) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR, length);
- }
- ChannelBuffer aspathBuf = tempBuf.readBytes(length);
- while (aspathBuf.readableBytes() > 0) {
- short asNum;
- asNum = aspathBuf.readShort();
- switch (pathSegType) {
- case ASPATH_SET_TYPE:
- aspathSet.add(asNum);
- break;
- case ASPATH_SEQ_TYPE:
- aspathSeq.add(asNum);
- break;
- default: log.debug("Other type Not Supported:" + pathSegType);
- }
- }
- }
- return new AsPath(aspathSet, aspathSeq);
- }
-
- @Override
- public short getType() {
- return ASPATH_TYPE;
- }
-
- /**
- * Returns whether ASpath path attribute is present.
- *
- * @return whether ASpath path attribute is present
- */
- public boolean isaspathSet() {
- return this.isAsPath;
- }
-
- /**
- * Returns list of ASNum in ASpath Sequence.
- *
- * @return list of ASNum in ASpath Sequence
- */
- public List<Short> asPathSeq() {
- return this.aspathSeq;
- }
-
- /**
- * Returns list of ASNum in ASpath SET.
- *
- * @return list of ASNum in ASpath SET
- */
- public List<Short> asPathSet() {
- return this.aspathSet;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(aspathSet, aspathSeq);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof AsPath) {
- AsPath other = (AsPath) obj;
- return Objects.equals(aspathSet, other.aspathSet) && Objects.equals(aspathSeq, other.aspathSeq);
- }
- return false;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .omitNullValues()
- .add("aspathSet", aspathSet)
- .add("aspathSeq", aspathSeq)
- .toString();
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- //Not required to Implement as of now
- return 0;
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/AutonomousSystemTlv.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/AutonomousSystemTlv.java
deleted file mode 100644
index 119926c8..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/AutonomousSystemTlv.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types;
-
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Provides Autonomous System Tlv which contains opaque value (32 Bit AS Number).
- */
-public class AutonomousSystemTlv implements BgpValueType {
-
- /* Reference :draft-ietf-idr-ls-distribution-11
- * 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type= 512 | Length=4 |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | opaque value (32 Bit AS Number) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- */
-
- public static final short TYPE = 512;
- public static final short LENGTH = 4;
-
- private final int asNum;
-
- /**
- * Constructor to initialize asNum.
- *
- * @param asNum 32 Bit AS Number
- */
- public AutonomousSystemTlv(int asNum) {
- this.asNum = asNum;
- }
-
- /**
- * Returns object of this class with specified asNum.
- *
- * @param asNum 32 Bit AS Number
- * @return object of AutonomousSystemTlv
- */
- public static AutonomousSystemTlv of(final int asNum) {
- return new AutonomousSystemTlv(asNum);
- }
-
- /**
- * Returns opaque value of AS Number.
- *
- * @return opaque value of AS Number
- */
- public int getAsNum() {
- return asNum;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(asNum);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof AutonomousSystemTlv) {
- AutonomousSystemTlv other = (AutonomousSystemTlv) obj;
- return Objects.equals(asNum, other.asNum);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer c) {
- int iLenStartIndex = c.writerIndex();
- c.writeShort(TYPE);
- c.writeShort(LENGTH);
- c.writeInt(asNum);
- return c.writerIndex() - iLenStartIndex;
- }
-
- /**
- * Reads the channel buffer and returns object of AutonomousSystemTlv.
- *
- * @param c ChannelBuffer
- * @return object of AutonomousSystemTlv
- */
- public static AutonomousSystemTlv read(ChannelBuffer c) {
- return AutonomousSystemTlv.of(c.readInt());
- }
-
- @Override
- public short getType() {
- return TYPE;
- }
-
- @Override
- public int compareTo(Object o) {
- if (this.equals(o)) {
- return 0;
- }
- return ((Integer) (this.asNum)).compareTo((Integer) (((AutonomousSystemTlv) o).asNum));
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("Type", TYPE)
- .add("Length", LENGTH)
- .add("asNum", asNum)
- .toString();
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/BgpErrorType.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/BgpErrorType.java
deleted file mode 100644
index c0932ebe..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/BgpErrorType.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.types;
-
-/**
- * BgpErrorType class defines all errorCodes and error Subcodes required for Notification message.
- */
-public final class BgpErrorType {
- private BgpErrorType() {
- }
-
- //Error Codes
- public static final byte MESSAGE_HEADER_ERROR = 1;
- public static final byte OPEN_MESSAGE_ERROR = 2;
- public static final byte UPDATE_MESSAGE_ERROR = 3;
- public static final byte HOLD_TIMER_EXPIRED = 4;
- public static final byte FINITE_STATE_MACHINE_ERROR = 5;
- public static final byte CEASE = 6;
-
- //Message Header Error subcodes
- public static final byte CONNECTION_NOT_SYNCHRONIZED = 1;
- public static final byte BAD_MESSAGE_LENGTH = 2;
- public static final byte BAD_MESSAGE_TYPE = 3;
-
- //OPEN Message Error subcodes
- public static final byte UNSUPPORTED_VERSION_NUMBER = 1;
- public static final byte BAD_PEER_AS = 2;
- public static final byte BAD_BGP_IDENTIFIER = 3;
- public static final byte UNSUPPORTED_OPTIONAL_PARAMETER = 4;
- public static final byte UNACCEPTABLE_HOLD_TIME = 5;
- public static final byte UNSUPPORTED_CAPABILITY = 7;
-
- //UPDATE Message Error subcodes
- public static final byte MALFORMED_ATTRIBUTE_LIST = 1;
- public static final byte UNRECOGNIZED_WELLKNOWN_ATTRIBUTE = 2;
- public static final byte MISSING_WELLKNOWN_ATTRIBUTE = 3;
- public static final byte ATTRIBUTE_FLAGS_ERROR = 4;
- public static final byte ATTRIBUTE_LENGTH_ERROR = 5;
- public static final byte INVALID_ORIGIN_ATTRIBUTE = 6;
- public static final byte INVALID_NEXTHOP_ATTRIBUTE = 8;
- public static final byte OPTIONAL_ATTRIBUTE_ERROR = 9;
- public static final byte INVALID_NETWORK_FIELD = 10;
- public static final byte MALFORMED_ASPATH = 11;
-
- //FSM Error subcodes
- public static final byte UNSPECIFIED_ERROR = 0;
- public static final byte RECEIVE_UNEXPECTED_MESSAGE_IN_OPENSENT_STATE = 1;
- public static final byte RECEIVE_UNEXPECTED_MESSAGE_IN_OPENCONFIRM_STATE = 2;
- public static final byte RECEIVE_UNEXPECTED_MESSAGE_IN_ESTABLISHED_STATE = 3;
-
- //Cease Error subcodes
- public static final byte MAXIMUM_NUMBER_OF_PREFIXES_REACHED = 1;
- public static final byte ADMINISTRATIVE_SHUTDOWN = 2;
- public static final byte PEER_DECONFIGURED = 3;
- public static final byte ADMINISTRATIVE_RESET = 4;
- public static final byte CONNECTION_REJECTED = 5;
- public static final byte OTHER_CONFIGURATION_CHANGE = 6;
- public static final byte CONNECTION_COLLISION_RESOLUTION = 7;
- public static final byte OUT_OF_RESOURCES = 8;
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/BgpHeader.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/BgpHeader.java
deleted file mode 100755
index ad637753..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/BgpHeader.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Provides BGP Message Header which is common for all the Messages.
- */
-
-public class BgpHeader {
-
- /* 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | |
- + +
- | |
- + +
- | Marker |
- + +
- | |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Length | Type |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- */
-
- protected static final Logger log = LoggerFactory.getLogger(BgpHeader.class);
-
- public static final int MARKER_LENGTH = 16;
- public static final short DEFAULT_HEADER_LENGTH = 19;
-
- private byte[] marker;
- private byte type;
- private short length;
-
- /**
- * Reset fields.
- */
- public BgpHeader() {
- this.marker = null;
- this.length = 0;
- this.type = 0;
- }
-
- /**
- * Constructors to initialize parameters.
- *
- * @param marker field in BGP header
- * @param length message length
- * @param type message type
- */
- public BgpHeader(byte[] marker, short length, byte type) {
- this.marker = marker;
- this.length = length;
- this.type = type;
- }
-
- /**
- * Sets marker field.
- *
- * @param value marker field
- */
- public void setMarker(byte[] value) {
- this.marker = value;
- }
-
- /**
- * Sets message type.
- *
- * @param value message type
- */
- public void setType(byte value) {
- this.type = value;
- }
-
- /**
- * Sets message length.
- *
- * @param value message length
- */
- public void setLength(short value) {
- this.length = value;
- }
-
- /**
- * Returns message length.
- *
- * @return message length
- */
- public short getLength() {
- return this.length;
- }
-
- /**
- * Returns message marker.
- *
- * @return message marker
- */
- public byte[] getMarker() {
- return this.marker;
- }
-
- /**
- * Returns message type.
- *
- * @return message type
- */
- public byte getType() {
- return this.type;
- }
-
- /**
- * Writes Byte stream of BGP header to channel buffer.
- *
- * @param cb ChannelBuffer
- * @return length index of message header
- */
- public int write(ChannelBuffer cb) {
-
- cb.writeBytes(getMarker(), 0, MARKER_LENGTH);
-
- int headerLenIndex = cb.writerIndex();
- cb.writeShort((short) 0);
- cb.writeByte(type);
-
- return headerLenIndex;
- }
-
- /**
- * Read from channel buffer and Returns BGP header.
- *
- * @param cb ChannelBuffer
- * @return object of BGPHeader
- */
- public static BgpHeader read(ChannelBuffer cb) {
-
- byte[] marker = new byte[MARKER_LENGTH];
- byte type;
- short length;
- cb.readBytes(marker, 0, MARKER_LENGTH);
- length = cb.readShort();
- type = cb.readByte();
- return new BgpHeader(marker, length, type);
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/BgpLSIdentifierTlv.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/BgpLSIdentifierTlv.java
deleted file mode 100644
index 58645d4f..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/BgpLSIdentifierTlv.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.types;
-
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Provides BGPLSIdentifier Tlv which contains opaque value (32 Bit BGPLS-Identifier).
- */
-public class BgpLSIdentifierTlv implements BgpValueType {
-
- /* Reference :draft-ietf-idr-ls-distribution-11
- * 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type= 513 | Length=4 |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | opaque value (32 Bit BGPLS-Identifier) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- */
-
- public static final short TYPE = 513;
- public static final short LENGTH = 4;
-
- private final int bgpLsIdentifier;
-
- /**
- * Constructor to initialize bgpLsIdentifier.
- *
- * @param bgpLsIdentifier BGPLS-Identifier
- */
- public BgpLSIdentifierTlv(int bgpLsIdentifier) {
- this.bgpLsIdentifier = bgpLsIdentifier;
- }
-
- /**
- * Returns object of this class with specified bgpLsIdentifier.
- *
- * @param bgpLsIdentifier BGPLS-Identifier
- * @return BGPLS-Identifier
- */
- public static BgpLSIdentifierTlv of(final int bgpLsIdentifier) {
- return new BgpLSIdentifierTlv(bgpLsIdentifier);
- }
-
- /**
- * Returns opaque value of BGPLS-Identifier.
- *
- * @return opaque value of BGPLS-Identifier
- */
- public int getBgpLsIdentifier() {
- return bgpLsIdentifier;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(bgpLsIdentifier);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpLSIdentifierTlv) {
- BgpLSIdentifierTlv other = (BgpLSIdentifierTlv) obj;
- return Objects.equals(bgpLsIdentifier, other.bgpLsIdentifier);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer c) {
- int iLenStartIndex = c.writerIndex();
- c.writeShort(TYPE);
- c.writeShort(LENGTH);
- c.writeInt(bgpLsIdentifier);
- return c.writerIndex() - iLenStartIndex;
- }
-
- /**
- * Reads the channel buffer and parses BGPLS Identifier TLV.
- *
- * @param cb ChannelBuffer
- * @return object of BGPLSIdentifierTlv
- */
- public static BgpLSIdentifierTlv read(ChannelBuffer cb) {
- return BgpLSIdentifierTlv.of(cb.readInt());
- }
-
- @Override
- public short getType() {
- return TYPE;
- }
-
- @Override
- public int compareTo(Object o) {
- if (this.equals(o)) {
- return 0;
- }
- return ((Integer) (this.bgpLsIdentifier)).compareTo((Integer) (((BgpLSIdentifierTlv) o).bgpLsIdentifier));
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("Type", TYPE)
- .add("Length", LENGTH)
- .add("Value", bgpLsIdentifier)
- .toString();
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/BgpValueType.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/BgpValueType.java
deleted file mode 100644
index af7f4b75..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/BgpValueType.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.types;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-
-/**
- * Abstraction which Provides the BGP of TLV format.
- */
-public interface BgpValueType {
- /**
- * Returns the Type of BGP Message.
- *
- * @return short value of type
- */
- short getType();
-
- /**
- * Writes the byte Stream of BGP Message to channel buffer.
- *
- * @param cb channel buffer
- * @return length written to channel buffer
- */
- int write(ChannelBuffer cb);
-
- /**
- * Compares two objects.
- *
- * @param o object
- * @return result after comparing two objects
- */
- int compareTo(Object o);
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/FourOctetAsNumCapabilityTlv.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/FourOctetAsNumCapabilityTlv.java
deleted file mode 100644
index 59db3318..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/FourOctetAsNumCapabilityTlv.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types;
-
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Provides FourOctetAsNumCapabilityTlv Capability Tlv.
- */
-public class FourOctetAsNumCapabilityTlv implements BgpValueType {
-
- /**
- * support to indicate its support for four-octet AS numbers -CAPABILITY TLV format.
- */
- protected static final Logger log = LoggerFactory
- .getLogger(FourOctetAsNumCapabilityTlv.class);
-
- public static final byte TYPE = 65;
- public static final byte LENGTH = 4;
-
- private final int rawValue;
-
- /**
- * constructor to initialize rawValue.
- * @param rawValue FourOctetAsNumCapabilityTlv
- */
- public FourOctetAsNumCapabilityTlv(int rawValue) {
- this.rawValue = rawValue;
- }
-
- /**
- * constructor to initialize raw.
- * @param raw AS number
- * @return object of FourOctetAsNumCapabilityTlv
- */
- public static FourOctetAsNumCapabilityTlv of(final int raw) {
- return new FourOctetAsNumCapabilityTlv(raw);
- }
-
- /**
- * Returns value of TLV.
- * @return int value of rawValue
- */
- public int getInt() {
- return rawValue;
- }
-
- @Override
- public short getType() {
- return TYPE;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(rawValue);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof FourOctetAsNumCapabilityTlv) {
- FourOctetAsNumCapabilityTlv other = (FourOctetAsNumCapabilityTlv) obj;
- return Objects.equals(rawValue, other.rawValue);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- int iLenStartIndex = cb.writerIndex();
- cb.writeByte(TYPE);
- cb.writeByte(LENGTH);
- cb.writeInt(rawValue);
- return cb.writerIndex() - iLenStartIndex;
- }
-
- /**
- * Reads the channel buffer and returns object of FourOctetAsNumCapabilityTlv.
- * @param cb type of channel buffer
- * @return object of FourOctetAsNumCapabilityTlv
- */
- public static FourOctetAsNumCapabilityTlv read(ChannelBuffer cb) {
- return FourOctetAsNumCapabilityTlv.of(cb.readInt());
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("Type", TYPE)
- .add("Length", LENGTH)
- .add("Value", rawValue).toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPReachabilityInformationTlv.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPReachabilityInformationTlv.java
deleted file mode 100644
index d97537e8..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPReachabilityInformationTlv.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types;
-
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onlab.packet.IpPrefix;
-import org.onosproject.bgpio.util.Validation;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Provides IP Reachability InformationTlv Tlv which contains IP Prefix.
- */
-public class IPReachabilityInformationTlv implements BgpValueType {
-
- /*
- * Reference :draft-ietf-idr-ls-distribution-11
-
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Prefix Length | IP Prefix (variable) //
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- Figure 14: IP Reachability Information TLV Format
- */
-
- public static final short TYPE = 265;
- public static final int ONE_BYTE_LEN = 8;
-
- private byte prefixLen;
- private byte[] ipPrefix;
- public short length;
-
- /**
- * Constructor to initialize parameters.
- *
- * @param prefixLen length of IP Prefix
- * @param ipPrefix IP Prefix
- * @param length length of value field
- */
- public IPReachabilityInformationTlv(byte prefixLen, byte[] ipPrefix, short length) {
- this.ipPrefix = ipPrefix;
- this.prefixLen = prefixLen;
- this.length = length;
- }
-
- /**
- * Returns IP Prefix.
- *
- * @return IP Prefix
- */
- public IpPrefix getPrefixValue() {
- IpPrefix prefix = Validation.bytesToPrefix(ipPrefix, prefixLen);
- return prefix;
- }
-
- /**
- * Returns IP Prefix length.
- *
- * @return IP Prefix length
- */
- public byte getPrefixLen() {
- return this.prefixLen;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(Arrays.hashCode(ipPrefix), prefixLen);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof IPReachabilityInformationTlv) {
- IPReachabilityInformationTlv other = (IPReachabilityInformationTlv) obj;
- return Objects.equals(prefixLen, other.prefixLen) && Arrays.equals(ipPrefix, other.ipPrefix);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- int iLenStartIndex = cb.writerIndex();
- cb.writeShort(TYPE);
- cb.writeShort(length);
- cb.writeByte(prefixLen);
- cb.writeBytes(ipPrefix);
- return cb.writerIndex() - iLenStartIndex;
- }
-
- /**
- * Reads the channel buffer and returns object of IPReachabilityInformationTlv.
- *
- * @param cb ChannelBuffer
- * @param length of value field
- * @return object of IPReachabilityInformationTlv
- */
- public static IPReachabilityInformationTlv read(ChannelBuffer cb, short length) {
- byte preficLen = cb.readByte();
- byte[] prefix;
- if (preficLen == 0) {
- prefix = new byte[] {0};
- } else {
- int len = preficLen / ONE_BYTE_LEN;
- int reminder = preficLen % ONE_BYTE_LEN;
- if (reminder > 0) {
- len = len + 1;
- }
- prefix = new byte[len];
- cb.readBytes(prefix, 0, len);
- }
- return IPReachabilityInformationTlv.of(preficLen, prefix, length);
- }
-
- public static IPReachabilityInformationTlv of(final byte preficLen, final byte[] prefix, final short length) {
- return new IPReachabilityInformationTlv(preficLen, prefix, length);
- }
- @Override
- public short getType() {
- return TYPE;
- }
-
- @Override
- public int compareTo(Object o) {
- if (this.equals(o)) {
- return 0;
- }
- ByteBuffer value1 = ByteBuffer.wrap(this.ipPrefix);
- ByteBuffer value2 = ByteBuffer.wrap(((IPReachabilityInformationTlv) o).ipPrefix);
- return value1.compareTo(value2);
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("Type", TYPE)
- .add("Length", length)
- .add("Prefixlength", getPrefixLen())
- .add("Prefixvalue", getPrefixValue())
- .toString();
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPv4AddressTlv.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPv4AddressTlv.java
deleted file mode 100644
index 4efde70e..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPv4AddressTlv.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types;
-
-import java.net.InetAddress;
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onlab.packet.Ip4Address;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.util.Validation;
-
-import com.google.common.base.MoreObjects;
-import com.google.common.base.Preconditions;
-
-/**
- * Provides Implementation of IPv4AddressTlv.
- */
-public class IPv4AddressTlv implements BgpValueType {
- private static final int LENGTH = 4;
-
- private Ip4Address address;
- private short type;
-
- /**
- * Constructor to initialize parameters.
- *
- * @param address Ipv4 address of interface/neighbor
- * @param type address type
- */
- public IPv4AddressTlv(Ip4Address address, short type) {
- this.address = Preconditions.checkNotNull(address);
- this.type = type;
- }
-
- /**
- * Returns Ipv4 address of interface/neighbor.
- *
- * @return Ipv4 address of interface/neighbor
- */
- public Ip4Address address() {
- return address;
- }
-
- @Override
- public short getType() {
- return this.type;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(address);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof IPv4AddressTlv) {
- IPv4AddressTlv other = (IPv4AddressTlv) obj;
- return Objects.equals(this.address, other.address) && Objects.equals(this.type, other.type);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- int iLenStartIndex = cb.writerIndex();
- cb.writeShort(type);
- cb.writeShort(LENGTH);
- cb.writeInt(address.toInt());
- return cb.writerIndex() - iLenStartIndex;
- }
-
- /**
- * Reads the channel buffer and returns object of IPv4AddressTlv.
- *
- * @param cb channelBuffer
- * @param type address type
- * @return object of IPv4AddressTlv
- * @throws BgpParseException while parsing IPv4AddressTlv
- */
- public static IPv4AddressTlv read(ChannelBuffer cb, short type) throws BgpParseException {
- InetAddress ipAddress = Validation.toInetAddress(LENGTH, cb);
- if (ipAddress.isMulticastAddress()) {
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, (byte) 0, null);
- }
- Ip4Address address = Ip4Address.valueOf(ipAddress);
- return IPv4AddressTlv.of(address, type);
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param address Ipv4 interface/neighbor Address
- * @param type says Ipv4 address of interface/neighbor tlv type
- * @return object of this class
- */
- public static IPv4AddressTlv of(final Ip4Address address , final short type) {
- return new IPv4AddressTlv(address, type);
- }
-
- @Override
- public int compareTo(Object o) {
- if (this.equals(o)) {
- return 0;
- }
- return ((Ip4Address) (this.address)).compareTo((Ip4Address) (((IPv4AddressTlv) o).address));
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("type", type)
- .add("LENGTH", LENGTH)
- .add("address", address)
- .toString();
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPv6AddressTlv.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPv6AddressTlv.java
deleted file mode 100644
index 087cd5c6..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPv6AddressTlv.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types;
-
-import java.net.InetAddress;
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onlab.packet.Ip6Address;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.util.Validation;
-
-import com.google.common.base.MoreObjects;
-import com.google.common.base.Preconditions;
-
-/**
- * Provides Implementation of IPv6AddressTlv.
- */
-public class IPv6AddressTlv implements BgpValueType {
- private static final int LENGTH = 16;
-
- private final Ip6Address address;
- private short type;
-
- /**
- * Constructor to initialize parameters.
- *
- * @param address Ipv6 address of interface/neighbor
- * @param type address type
- */
- public IPv6AddressTlv(Ip6Address address, short type) {
- this.address = Preconditions.checkNotNull(address);
- this.type = type;
- }
-
- /**
- * Returns Ipv6 address of interface/neighbor.
- *
- * @return Ipv6 address of interface/neighbor
- */
- public Ip6Address address() {
- return address;
- }
-
- @Override
- public short getType() {
- return type;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(address);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof IPv6AddressTlv) {
- IPv6AddressTlv other = (IPv6AddressTlv) obj;
- return Objects.equals(this.address, other.address) && Objects.equals(this.type, other.type);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- int iLenStartIndex = cb.writerIndex();
- cb.writeShort(type);
- cb.writeShort(LENGTH);
- cb.writeBytes(address.toOctets());
- return cb.writerIndex() - iLenStartIndex;
- }
-
- /**
- * Reads the channel buffer and returns object of IPv6AddressTlv.
- *
- * @param cb channelBuffer
- * @param type address type
- * @return object of IPv6AddressTlv
- * @throws BgpParseException while parsing IPv6AddressTlv
- */
- public static IPv6AddressTlv read(ChannelBuffer cb, short type) throws BgpParseException {
- InetAddress ipAddress = Validation.toInetAddress(LENGTH, cb);
- if (ipAddress.isMulticastAddress()) {
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, (byte) 0, null);
- }
- Ip6Address address = Ip6Address.valueOf(ipAddress);
- return IPv6AddressTlv.of(address, type);
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param address Ipv6 interface/neighbor address
- * @param type says Ipv6 address of interface/neighbor tlv type
- * @return object of this class
- */
- public static IPv6AddressTlv of(final Ip6Address address , final short type) {
- return new IPv6AddressTlv(address, type);
- }
-
- @Override
- public int compareTo(Object o) {
- if (this.equals(o)) {
- return 0;
- }
- return ((Ip6Address) (this.address)).compareTo((Ip6Address) (((IPv6AddressTlv) o).address));
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("type", type)
- .add("LENGTH", LENGTH)
- .add("address", address)
- .toString();
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IsIsNonPseudonode.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IsIsNonPseudonode.java
deleted file mode 100644
index 427aa929..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IsIsNonPseudonode.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types;
-
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.protocol.IGPRouterID;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Provides Implementation of IsIsNonPseudonode Tlv.
- */
-public class IsIsNonPseudonode implements IGPRouterID, BgpValueType {
- public static final short TYPE = 515;
- public static final short LENGTH = 6;
-
- private final byte[] isoNodeID;
-
- /**
- * Constructor to initialize isoNodeID.
- *
- * @param isoNodeID ISO system-ID
- */
- public IsIsNonPseudonode(byte[] isoNodeID) {
- this.isoNodeID = Arrays.copyOf(isoNodeID, isoNodeID.length);
- }
-
- /**
- * Returns object of this class with specified isoNodeID.
- *
- * @param isoNodeID ISO system-ID
- * @return object of IsIsNonPseudonode
- */
- public static IsIsNonPseudonode of(final byte[] isoNodeID) {
- return new IsIsNonPseudonode(isoNodeID);
- }
-
- /**
- * Returns ISO NodeID.
- *
- * @return ISO NodeID
- */
- public byte[] getISONodeID() {
- return isoNodeID;
- }
-
- @Override
- public int hashCode() {
- return Arrays.hashCode(isoNodeID);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof IsIsNonPseudonode) {
- IsIsNonPseudonode other = (IsIsNonPseudonode) obj;
- return Arrays.equals(isoNodeID, other.isoNodeID);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer c) {
- int iLenStartIndex = c.writerIndex();
- c.writeShort(TYPE);
- c.writeShort(LENGTH);
- c.writeBytes(isoNodeID);
- return c.writerIndex() - iLenStartIndex;
- }
-
- /**
- * Reads the channel buffer and returns object of IsIsNonPseudonode.
- *
- * @param cb ChannelBuffer
- * @return object of IsIsNonPseudonode
- */
- public static IsIsNonPseudonode read(ChannelBuffer cb) {
- byte[] isoNodeID = new byte[LENGTH];
- cb.readBytes(isoNodeID);
- return IsIsNonPseudonode.of(isoNodeID);
- }
-
- @Override
- public short getType() {
- return TYPE;
- }
-
- @Override
- public int compareTo(Object o) {
- if (this.equals(o)) {
- return 0;
- }
- ByteBuffer value1 = ByteBuffer.wrap(this.isoNodeID);
- ByteBuffer value2 = ByteBuffer.wrap(((IsIsNonPseudonode) o).isoNodeID);
- return value1.compareTo(value2);
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("Type", TYPE)
- .add("Length", LENGTH)
- .add("ISONodeID", isoNodeID)
- .toString();
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IsIsPseudonode.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IsIsPseudonode.java
deleted file mode 100644
index 094c4382..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IsIsPseudonode.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types;
-
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.protocol.IGPRouterID;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Provides implementation of IsIsPseudonode Tlv.
- */
-public class IsIsPseudonode implements IGPRouterID, BgpValueType {
- public static final short TYPE = 515;
- public static final short LENGTH = 7;
-
- private final byte[] isoNodeID;
- private byte psnIdentifier;
-
- /**
- * Constructor to initialize isoNodeID.
- *
- * @param isoNodeID ISO system-ID
- * @param psnIdentifier PSN identifier
- */
- public IsIsPseudonode(byte[] isoNodeID, byte psnIdentifier) {
- this.isoNodeID = Arrays.copyOf(isoNodeID, isoNodeID.length);
- this.psnIdentifier = psnIdentifier;
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param isoNodeID ISO system-ID
- * @param psnIdentifier PSN identifier
- * @return object of IsIsPseudonode
- */
- public static IsIsPseudonode of(final byte[] isoNodeID,
- final byte psnIdentifier) {
- return new IsIsPseudonode(isoNodeID, psnIdentifier);
- }
-
- /**
- * Returns ISO NodeID.
- *
- * @return ISO NodeID
- */
- public byte[] getISONodeID() {
- return isoNodeID;
- }
-
- /**
- * Returns PSN Identifier.
- *
- * @return PSN Identifier
- */
- public byte getPSNIdentifier() {
- return this.psnIdentifier;
- }
-
- @Override
- public int hashCode() {
- return Arrays.hashCode(isoNodeID) & Objects.hash(psnIdentifier);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof IsIsPseudonode) {
- IsIsPseudonode other = (IsIsPseudonode) obj;
- return Arrays.equals(isoNodeID, other.isoNodeID)
- && Objects.equals(psnIdentifier, other.psnIdentifier);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer c) {
- int iLenStartIndex = c.writerIndex();
- c.writeShort(TYPE);
- c.writeShort(LENGTH);
- c.writeBytes(isoNodeID, 0, LENGTH - 1);
- c.writeByte(psnIdentifier);
- return c.writerIndex() - iLenStartIndex;
- }
-
- /**
- * Reads the channel buffer and returns object of IsIsPseudonode.
- *
- * @param cb ChannelBuffer
- * @return object of IsIsPseudonode
- */
- public static IsIsPseudonode read(ChannelBuffer cb) {
- byte[] isoNodeID = new byte[LENGTH - 1];
- cb.readBytes(isoNodeID);
- byte psnIdentifier = cb.readByte();
- return IsIsPseudonode.of(isoNodeID, psnIdentifier);
- }
-
- @Override
- public short getType() {
- return TYPE;
- }
-
- @Override
- public int compareTo(Object o) {
- if (this.equals(o)) {
- return 0;
- }
- ByteBuffer value1 = ByteBuffer.wrap(this.isoNodeID);
- ByteBuffer value2 = ByteBuffer.wrap(((IsIsPseudonode) o).isoNodeID);
- if (value1.compareTo(value2) != 0) {
- return value1.compareTo(value2);
- }
- return ((Byte) (this.psnIdentifier)).compareTo((Byte) (((IsIsPseudonode) o).psnIdentifier));
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("Type", TYPE)
- .add("Length", LENGTH)
- .add("isoNodeID", isoNodeID)
- .add("psnIdentifier", psnIdentifier)
- .toString();
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/LinkLocalRemoteIdentifiersTlv.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/LinkLocalRemoteIdentifiersTlv.java
deleted file mode 100644
index 0c412432..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/LinkLocalRemoteIdentifiersTlv.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types;
-
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Provides Implementation of Link Local/Remote IdentifiersTlv.
- */
-public class LinkLocalRemoteIdentifiersTlv implements BgpValueType {
- public static final short TYPE = 258;
- private static final int LENGTH = 8;
-
- private final int linkLocalIdentifer;
- private final int linkRemoteIdentifer;
-
- /**
- * Constructor to initialize parameters.
- *
- * @param linkLocalIdentifer link local Identifer
- * @param linkRemoteIdentifer link remote Identifer
- */
- public LinkLocalRemoteIdentifiersTlv(int linkLocalIdentifer, int linkRemoteIdentifer) {
- this.linkLocalIdentifer = linkLocalIdentifer;
- this.linkRemoteIdentifer = linkRemoteIdentifer;
- }
-
- /**
- * Returns link remote Identifer.
- *
- * @return link remote Identifer
- */
- public int getLinkRemoteIdentifier() {
- return linkRemoteIdentifer;
- }
-
- /**
- * Returns link local Identifer.
- *
- * @return link local Identifer
- */
- public int getLinkLocalIdentifier() {
- return linkLocalIdentifer;
- }
-
- @Override
- public short getType() {
- return TYPE;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(linkLocalIdentifer, linkRemoteIdentifer);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof LinkLocalRemoteIdentifiersTlv) {
- LinkLocalRemoteIdentifiersTlv other = (LinkLocalRemoteIdentifiersTlv) obj;
- return Objects.equals(this.linkLocalIdentifer, other.linkLocalIdentifer)
- && Objects.equals(this.linkRemoteIdentifer, other.linkRemoteIdentifer);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- int iLenStartIndex = cb.writerIndex();
- cb.writeShort(TYPE);
- cb.writeShort(LENGTH);
- cb.writeInt(linkLocalIdentifer);
- cb.writeInt(linkRemoteIdentifer);
- return cb.writerIndex() - iLenStartIndex;
- }
-
- /**
- * Reads the channel buffer and returns object of LinkLocalRemoteIdentifiersTlv.
- *
- * @param cb channelBuffer
- * @return object of LinkLocalRemoteIdentifiersTlv
- */
- public static LinkLocalRemoteIdentifiersTlv read(ChannelBuffer cb) {
- int linkLocalIdentifer = cb.readInt();
- int linkRemoteIdentifer = cb.readInt();
- return LinkLocalRemoteIdentifiersTlv.of(linkLocalIdentifer, linkRemoteIdentifer);
- }
-
- /**
- * Returns object of this class with specified link local identifer and link remote identifer.
- *
- * @param linkLocalIdentifer link local identifier
- * @param linkRemoteIdentifer link remote identifier
- * @return object of LinkLocalRemoteIdentifiersTlv
- */
- public static LinkLocalRemoteIdentifiersTlv of(final int linkLocalIdentifer, final int linkRemoteIdentifer) {
- return new LinkLocalRemoteIdentifiersTlv(linkLocalIdentifer, linkRemoteIdentifer);
- }
-
- @Override
- public int compareTo(Object o) {
- if (this.equals(o)) {
- return 0;
- }
- int result = ((Integer) (this.linkLocalIdentifer))
- .compareTo((Integer) (((LinkLocalRemoteIdentifiersTlv) o).linkLocalIdentifer));
- if (result != 0) {
- return result;
- }
- return ((Integer) (this.linkRemoteIdentifer))
- .compareTo((Integer) (((LinkLocalRemoteIdentifiersTlv) o).linkRemoteIdentifer));
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("TYPE", TYPE)
- .add("LENGTH", LENGTH)
- .add("linkLocalIdentifer", linkLocalIdentifer)
- .add("linkRemoteIdentifer", linkRemoteIdentifer)
- .toString();
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/LinkStateAttributes.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/LinkStateAttributes.java
deleted file mode 100644
index cdf6ebeb..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/LinkStateAttributes.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.attr.BgpAttrNodeFlagBitTlv;
-import org.onosproject.bgpio.types.attr.BgpAttrNodeIsIsAreaId;
-import org.onosproject.bgpio.types.attr.BgpAttrNodeMultiTopologyId;
-import org.onosproject.bgpio.types.attr.BgpAttrNodeName;
-import org.onosproject.bgpio.types.attr.BgpAttrOpaqueNode;
-import org.onosproject.bgpio.types.attr.BgpAttrRouterIdV4;
-import org.onosproject.bgpio.types.attr.BgpAttrRouterIdV6;
-import org.onosproject.bgpio.types.attr.BgpLinkAttrIgpMetric;
-import org.onosproject.bgpio.types.attr.BgpLinkAttrIsIsAdminstGrp;
-import org.onosproject.bgpio.types.attr.BgpLinkAttrMplsProtocolMask;
-import org.onosproject.bgpio.types.attr.BgpLinkAttrMaxLinkBandwidth;
-import org.onosproject.bgpio.types.attr.BgpLinkAttrName;
-import org.onosproject.bgpio.types.attr.BgpLinkAttrOpaqLnkAttrib;
-import org.onosproject.bgpio.types.attr.BgpLinkAttrProtectionType;
-import org.onosproject.bgpio.types.attr.BgpLinkAttrSrlg;
-import org.onosproject.bgpio.types.attr.BgpLinkAttrTeDefaultMetric;
-import org.onosproject.bgpio.types.attr.BgpLinkAttrUnRsrvdLinkBandwidth;
-import org.onosproject.bgpio.types.attr.BgpPrefixAttrExtRouteTag;
-import org.onosproject.bgpio.types.attr.BgpPrefixAttrIgpFlags;
-import org.onosproject.bgpio.types.attr.BgpPrefixAttrMetric;
-import org.onosproject.bgpio.types.attr.BgpPrefixAttrOspfFwdAddr;
-import org.onosproject.bgpio.types.attr.BgpPrefixAttrOpaqueData;
-import org.onosproject.bgpio.types.attr.BgpPrefixAttrRouteTag;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implements BGP Link state attribute.
- */
-public class LinkStateAttributes implements BgpValueType {
-
- protected static final Logger log = LoggerFactory
- .getLogger(LinkStateAttributes.class);
-
- /* Node Attributes */
- public static final short ATTR_NODE_MT_TOPOLOGY_ID = 263;
- public static final short ATTR_NODE_FLAG_BITS = 1024;
- public static final short ATTR_NODE_OPAQUE_NODE = 1025;
- public static final short ATTR_NODE_NAME = 1026;
- public static final short ATTR_NODE_ISIS_AREA_ID = 1027;
- public static final short ATTR_NODE_IPV4_LOCAL_ROUTER_ID = 1028;
- public static final short ATTR_NODE_IPV6_LOCAL_ROUTER_ID = 1029;
-
- /* Link Attributes */
- public static final short ATTR_LINK_IPV4_REMOTE_ROUTER_ID = 1030;
- public static final short ATTR_LINK_IPV6_REMOTE_ROUTER_ID = 1031;
- public static final short ATTR_LINK_ADMINISTRATIVE_GRPS = 1088;
- public static final short ATTR_LINK_MAX_BANDWIDTH = 1089;
- public static final short ATTR_LINK_MAX_RES_BANDWIDTH = 1090;
- public static final short ATTR_LINK_UNRES_BANDWIDTH = 1091;
- public static final short ATTR_LINK_TE_DEFAULT_METRIC = 1092;
- public static final short ATTR_LINK_PROTECTION_TYPE = 1093;
- public static final short ATTR_LINK_MPLS_PROTOCOL_MASK = 1094;
- public static final short ATTR_LINK_IGP_METRIC = 1095;
- public static final short ATTR_LINK_SHR_RISK_GRP = 1096;
- public static final short ATTR_LINK_OPAQUE_ATTR = 1097;
- public static final short ATTR_LINK_NAME_ATTR = 1098;
-
- /* Prefix Attributes */
- public static final short ATTR_PREFIX_IGP_FLAG = 1152;
- public static final short ATTR_PREFIX_ROUTE_TAG = 1153;
- public static final short ATTR_PREFIX_EXTENDED_TAG = 1154;
- public static final short ATTR_PREFIX_METRIC = 1155;
- public static final short ATTR_PREFIX_OSPF_FWD_ADDR = 1156;
- public static final short ATTR_PREFIX_OPAQUE_ATTR = 1157;
-
- public static final byte LINKSTATE_ATTRIB_TYPE = 50;
- public static final byte TYPE_AND_LEN = 4;
- private boolean isLinkStateAttribute = false;
- private List<BgpValueType> linkStateAttribList;
-
- /**
- * Constructor to reset parameters.
- */
- LinkStateAttributes() {
- this.linkStateAttribList = null;
- }
-
- /**
- * Constructor to initialize parameters.
- *
- * @param linkStateAttribList Linked list of Link, Node and Prefix TLVs
- */
- LinkStateAttributes(List<BgpValueType> linkStateAttribList) {
- this.linkStateAttribList = linkStateAttribList;
- this.isLinkStateAttribute = true;
- }
-
- /**
- * Returns linked list of Link, Node and Prefix TLVs.
- *
- * @return linked list of Link, Node and Prefix TLVs
- */
- public List<BgpValueType> linkStateAttributes() {
- return this.linkStateAttribList;
- }
-
- /**
- * Returns if the Link state attributes are set or not.
- *
- * @return a boolean value to to check if the LS attributes are set or not
- */
- public boolean isLinkStateAttributeSet() {
- return this.isLinkStateAttribute;
- }
-
- /**
- * Reads the Link state attribute TLVs.
- *
- * @param cb ChannelBuffer
- * @return constructor of LinkStateAttributes
- * @throws BgpParseException while parsing link state attributes
- */
- public static LinkStateAttributes read(ChannelBuffer cb)
- throws BgpParseException {
-
- ChannelBuffer tempBuf = cb;
- Validation parseFlags = Validation.parseAttributeHeader(cb);
- int len = parseFlags.isShort() ? parseFlags.getLength() + TYPE_AND_LEN
- : parseFlags.getLength() + 3;
-
- ChannelBuffer data = tempBuf.readBytes(len);
- if (!parseFlags.getFirstBit() || parseFlags.getSecondBit()
- || parseFlags.getThirdBit()) {
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_FLAGS_ERROR,
- data);
- }
-
- if (cb.readableBytes() < parseFlags.getLength()) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.BAD_MESSAGE_LENGTH,
- parseFlags.getLength());
- }
-
- BgpValueType bgpLSAttrib = null;
- LinkedList<BgpValueType> linkStateAttribList;
- linkStateAttribList = new LinkedList<BgpValueType>();
- ChannelBuffer tempCb = cb.readBytes(parseFlags.getLength());
- while (tempCb.readableBytes() > 0) {
- short tlvCodePoint = tempCb.readShort();
- switch (tlvCodePoint) {
-
- /********* 7 NODE ATTRIBUTES ********/
- case ATTR_NODE_MT_TOPOLOGY_ID: /* 263 Multi-Topology Identifier*/
- bgpLSAttrib = BgpAttrNodeMultiTopologyId.read(tempCb);
- break;
-
- case ATTR_NODE_FLAG_BITS: /*Node flag bit TLV*/
- bgpLSAttrib = BgpAttrNodeFlagBitTlv.read(tempCb);
- break;
-
- case ATTR_NODE_OPAQUE_NODE: /*Opaque Node Attribute*/
- bgpLSAttrib = BgpAttrOpaqueNode.read(tempCb);
- break;
-
- case ATTR_NODE_NAME: /*Node Name*/
- bgpLSAttrib = BgpAttrNodeName.read(tempCb);
- break;
-
- case ATTR_NODE_ISIS_AREA_ID: /*IS-IS Area Identifier TLV*/
- bgpLSAttrib = BgpAttrNodeIsIsAreaId.read(tempCb);
- break;
-
- case ATTR_NODE_IPV4_LOCAL_ROUTER_ID: /*IPv4 Router-ID of Local Node*/
- bgpLSAttrib = BgpAttrRouterIdV4.read(tempCb, (short) ATTR_NODE_IPV4_LOCAL_ROUTER_ID);
- break;
-
- case ATTR_NODE_IPV6_LOCAL_ROUTER_ID: /*IPv6 Router-ID of Local Node*/
- bgpLSAttrib = BgpAttrRouterIdV6.read(tempCb, (short) ATTR_NODE_IPV6_LOCAL_ROUTER_ID);
- break;
-
- /********* 15 LINK ATTRIBUTES ********/
-
- case ATTR_LINK_IPV4_REMOTE_ROUTER_ID: /*IPv4 Router-ID of Remote Node*/
- bgpLSAttrib = BgpAttrRouterIdV4.read(tempCb, (short) 1030);
- break;
-
- case ATTR_LINK_IPV6_REMOTE_ROUTER_ID: /*IPv6 Router-ID of Remote Node*/
- bgpLSAttrib = BgpAttrRouterIdV6.read(tempCb, (short) 1031);
- break;
-
- case ATTR_LINK_ADMINISTRATIVE_GRPS: /*ISIS Administrative group STLV 3*/
- bgpLSAttrib = BgpLinkAttrIsIsAdminstGrp.read(tempCb);
- break;
-
- case ATTR_LINK_MAX_BANDWIDTH: /*Maximum link bandwidth*/
- bgpLSAttrib = BgpLinkAttrMaxLinkBandwidth.read(tempCb,
- (short) 1089);
- break;
-
- case ATTR_LINK_MAX_RES_BANDWIDTH: /* Maximum Reservable link bandwidth */
- bgpLSAttrib = BgpLinkAttrMaxLinkBandwidth.read(tempCb,
- (short) 1090);
- break;
-
- case ATTR_LINK_UNRES_BANDWIDTH: /* UnReserved link bandwidth */
- bgpLSAttrib = BgpLinkAttrUnRsrvdLinkBandwidth
- .read(tempCb, (short) 1091);
- break;
-
- case ATTR_LINK_TE_DEFAULT_METRIC: /* TE Default Metric */
- bgpLSAttrib = BgpLinkAttrTeDefaultMetric.read(tempCb);
- break;
-
- case ATTR_LINK_PROTECTION_TYPE:/* Link Protection type */
- bgpLSAttrib = BgpLinkAttrProtectionType.read(tempCb);
- break;
-
- case ATTR_LINK_MPLS_PROTOCOL_MASK: /* MPLS Protocol Mask */
- bgpLSAttrib = BgpLinkAttrMplsProtocolMask.read(tempCb); // 2
- break;
-
- case ATTR_LINK_IGP_METRIC: /* IGP Metric */
- bgpLSAttrib = BgpLinkAttrIgpMetric.read(tempCb); // 2
- break;
-
- case ATTR_LINK_SHR_RISK_GRP: /* Shared Risk Link Group */
- bgpLSAttrib = BgpLinkAttrSrlg.read(tempCb); // 3
- break;
-
- case ATTR_LINK_OPAQUE_ATTR: /* Opaque link attribute */
- bgpLSAttrib = BgpLinkAttrOpaqLnkAttrib.read(tempCb);
- break;
-
- case ATTR_LINK_NAME_ATTR: /* Link Name attribute */
- bgpLSAttrib = BgpLinkAttrName.read(tempCb);
- break;
-
- /********* 6 PREFIX ATTRIBUTES ********/
-
- case ATTR_PREFIX_IGP_FLAG: /* IGP Flags */
- bgpLSAttrib = BgpPrefixAttrIgpFlags.read(tempCb);
- break;
-
- case ATTR_PREFIX_ROUTE_TAG: /* Route Tag */
- bgpLSAttrib = BgpPrefixAttrRouteTag.read(tempCb);
- break;
-
- case ATTR_PREFIX_EXTENDED_TAG: /* Extended Tag */
- bgpLSAttrib = BgpPrefixAttrExtRouteTag.read(tempCb);
- break;
-
- case ATTR_PREFIX_METRIC: /* Prefix Metric */
- bgpLSAttrib = BgpPrefixAttrMetric.read(tempCb);
- break;
-
- case ATTR_PREFIX_OSPF_FWD_ADDR: /* OSPF Forwarding Address */
- bgpLSAttrib = BgpPrefixAttrOspfFwdAddr.read(tempCb);
- break;
-
- case ATTR_PREFIX_OPAQUE_ATTR: /* Opaque Prefix Attribute */
- bgpLSAttrib = BgpPrefixAttrOpaqueData.read(tempCb);
- break;
-
- default:
- throw new BgpParseException(
- "The Bgp-LS Attribute is not supported : "
- + tlvCodePoint);
- }
-
- linkStateAttribList.add(bgpLSAttrib);
- }
- return new LinkStateAttributes(linkStateAttribList);
- }
-
- @Override
- public short getType() {
- return LINKSTATE_ATTRIB_TYPE;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- // TODO This will be implemented in the next version
- return 0;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass()).omitNullValues()
- .add("linkStateAttribList", linkStateAttribList).toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/LocalPref.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/LocalPref.java
deleted file mode 100644
index 36793c18..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/LocalPref.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types;
-
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.util.Constants;
-import org.onosproject.bgpio.util.Validation;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Provides implementation of LocalPref BGP Path Attribute.
- */
-public class LocalPref implements BgpValueType {
- public static final byte LOCAL_PREF_TYPE = 5;
- public static final byte LOCAL_PREF_MAX_LEN = 4;
-
- private int localPref;
-
- /**
- * Constructor to initialize LocalPref.
- *
- * @param localPref local preference
- */
- public LocalPref(int localPref) {
- this.localPref = localPref;
- }
-
- /**
- * Returns local preference value.
- *
- * @return local preference value
- */
- public int localPref() {
- return this.localPref;
- }
-
- /**
- * Reads the channel buffer and returns object of LocalPref.
- *
- * @param cb channelBuffer
- * @return object of LocalPref
- * @throws BgpParseException while parsing localPref attribute
- */
- public static LocalPref read(ChannelBuffer cb) throws BgpParseException {
- int localPref;
- ChannelBuffer tempCb = cb.copy();
- Validation parseFlags = Validation.parseAttributeHeader(cb);
- if ((parseFlags.getLength() > LOCAL_PREF_MAX_LEN) || cb.readableBytes() < parseFlags.getLength()) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- parseFlags.getLength());
- }
-
- int len = parseFlags.isShort() ? parseFlags.getLength() +
- Constants.TYPE_AND_LEN_AS_SHORT : parseFlags.getLength() + Constants.TYPE_AND_LEN_AS_BYTE;
- ChannelBuffer data = tempCb.readBytes(len);
- if (parseFlags.getFirstBit()) {
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.ATTRIBUTE_FLAGS_ERROR, data);
- }
-
- localPref = cb.readInt();
- return new LocalPref(localPref);
- }
-
- @Override
- public short getType() {
- return LOCAL_PREF_TYPE;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(localPref);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof LocalPref) {
- LocalPref other = (LocalPref) obj;
- return Objects.equals(localPref, other.localPref);
- }
- return false;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("localPref", localPref)
- .toString();
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- //Not to implement as of now
- return 0;
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/Med.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/Med.java
deleted file mode 100644
index 7f1ab53f..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/Med.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types;
-
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.util.Constants;
-import org.onosproject.bgpio.util.Validation;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Provides Implementation of Med BGP Path Attribute.
- */
-public class Med implements BgpValueType {
- public static final byte MED_TYPE = 4;
- public static final byte MED_MAX_LEN = 4;
-
- private int med;
-
- /**
- * Constructor to initialize med.
- *
- * @param med MULTI_EXIT_DISC value
- */
- public Med(int med) {
- this.med = med;
- }
-
- /**
- * Returns Med value.
- *
- * @return Med value
- */
- public int med() {
- return this.med;
- }
-
- /**
- * Reads the channel buffer and returns object of Med.
- *
- * @param cb ChannelBuffer
- * @return object of Med
- * @throws BgpParseException while parsing Med path attribute
- */
- public static Med read(ChannelBuffer cb) throws BgpParseException {
- int med;
- ChannelBuffer tempCb = cb.copy();
- Validation parseFlags = Validation.parseAttributeHeader(cb);
-
- if ((parseFlags.getLength() > MED_MAX_LEN) || cb.readableBytes() < parseFlags.getLength()) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- parseFlags.getLength());
- }
- int len = parseFlags.isShort() ? parseFlags.getLength() + Constants.TYPE_AND_LEN_AS_SHORT : parseFlags
- .getLength() + Constants.TYPE_AND_LEN_AS_BYTE;
- ChannelBuffer data = tempCb.readBytes(len);
- if (!parseFlags.getFirstBit() && parseFlags.getSecondBit() && parseFlags.getThirdBit()) {
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.ATTRIBUTE_FLAGS_ERROR, data);
- }
-
- med = cb.readInt();
- return new Med(med);
- }
-
- @Override
- public short getType() {
- return MED_TYPE;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(med);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof Med) {
- Med other = (Med) obj;
- return Objects.equals(med, other.med);
- }
- return false;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("med", med)
- .toString();
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- //Not to implement as of now
- return 0;
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/MpReachNlri.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/MpReachNlri.java
deleted file mode 100644
index 2e4e6599..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/MpReachNlri.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.types;
-
-import java.net.InetAddress;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onlab.packet.Ip4Address;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.protocol.BgpLSNlri;
-import org.onosproject.bgpio.protocol.linkstate.BgpPrefixIPv4LSNlriVer4;
-import org.onosproject.bgpio.protocol.linkstate.BgpNodeLSNlriVer4;
-import org.onosproject.bgpio.protocol.linkstate.BgpLinkLsNlriVer4;
-import org.onosproject.bgpio.util.Constants;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/*
- * Provides Implementation of MpReach Nlri BGP Path Attribute.
- */
-public class MpReachNlri implements BgpValueType {
-
- private static final Logger log = LoggerFactory.getLogger(MpReachNlri.class);
- public static final byte MPREACHNLRI_TYPE = 14;
- public static final byte LINK_NLRITYPE = 2;
-
- private boolean isMpReachNlri = false;
- private final List<BgpLSNlri> mpReachNlri;
- private final int length;
- private final short afi;
- private final byte safi;
- private final Ip4Address ipNextHop;
-
- /**
- * Constructor to initialize parameters.
- *
- * @param mpReachNlri MpReach Nlri attribute
- * @param afi address family identifier
- * @param safi subsequent address family identifier
- * @param ipNextHop nexthop IpAddress
- * @param length of MpReachNlri
- */
- public MpReachNlri(List<BgpLSNlri> mpReachNlri, short afi, byte safi, Ip4Address ipNextHop, int length) {
- this.mpReachNlri = mpReachNlri;
- this.isMpReachNlri = true;
- this.ipNextHop = ipNextHop;
- this.afi = afi;
- this.safi = safi;
- this.length = length;
- }
-
- /**
- * Returns whether MpReachNlri is present.
- *
- * @return whether MpReachNlri is present
- */
- public boolean isMpReachNlriSet() {
- return this.isMpReachNlri;
- }
-
- /**
- * Returns list of MpReach Nlri.
- *
- * @return list of MpReach Nlri
- */
- public List<BgpLSNlri> mpReachNlri() {
- return this.mpReachNlri;
- }
-
- /**
- * Returns length of MpReachNlri.
- *
- * @return length of MpReachNlri
- */
- public int mpReachNlriLen() {
- return this.length;
- }
-
- /**
- * Reads from ChannelBuffer and parses MpReachNlri.
- *
- * @param cb channelBuffer
- * @return object of MpReachNlri
- * @throws BgpParseException while parsing MpReachNlri
- */
- public static MpReachNlri read(ChannelBuffer cb) throws BgpParseException {
- ChannelBuffer tempBuf = cb.copy();
- Validation parseFlags = Validation.parseAttributeHeader(cb);
- int len = parseFlags.isShort() ? parseFlags.getLength() + Constants.TYPE_AND_LEN_AS_SHORT :
- parseFlags.getLength() + Constants.TYPE_AND_LEN_AS_BYTE;
- ChannelBuffer data = tempBuf.readBytes(len);
-
- if (cb.readableBytes() < parseFlags.getLength()) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- parseFlags.getLength());
- }
- if (!parseFlags.getFirstBit() && parseFlags.getSecondBit() && parseFlags.getThirdBit()) {
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.ATTRIBUTE_FLAGS_ERROR, data);
- }
-
- BgpLSNlri bgpLSNlri = null;
- List<BgpLSNlri> mpReachNlri = new LinkedList<>();
- ChannelBuffer tempCb = cb.readBytes(parseFlags.getLength());
- short afi = 0;
- byte safi = 0;
- Ip4Address ipNextHop = null;
- while (tempCb.readableBytes() > 0) {
- afi = tempCb.readShort();
- safi = tempCb.readByte();
-
- //Supporting for AFI 16388 / SAFI 71 and VPN AFI 16388 / SAFI 128
- if ((afi == Constants.AFI_VALUE) && (safi == Constants.SAFI_VALUE) || (afi == Constants.AFI_VALUE)
- && (safi == Constants.VPN_SAFI_VALUE)) {
- byte nextHopLen = tempCb.readByte();
- InetAddress ipAddress = Validation.toInetAddress(nextHopLen, tempCb);
- if (ipAddress.isMulticastAddress()) {
- throw new BgpParseException("Multicast not supported");
- }
- ipNextHop = Ip4Address.valueOf(ipAddress);
- byte reserved = tempCb.readByte();
-
- while (tempCb.readableBytes() > 0) {
- short nlriType = tempCb.readShort();
- short totNlriLen = tempCb.readShort();
- if (tempCb.readableBytes() < totNlriLen) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR, totNlriLen);
- }
- tempBuf = tempCb.readBytes(totNlriLen);
- switch (nlriType) {
- case BgpNodeLSNlriVer4.NODE_NLRITYPE:
- bgpLSNlri = BgpNodeLSNlriVer4.read(tempBuf, afi, safi);
- break;
- case BgpLinkLsNlriVer4.LINK_NLRITYPE:
- bgpLSNlri = BgpLinkLsNlriVer4.read(tempBuf, afi, safi);
- break;
- case BgpPrefixIPv4LSNlriVer4.PREFIX_IPV4_NLRITYPE:
- bgpLSNlri = BgpPrefixIPv4LSNlriVer4.read(tempBuf, afi, safi);
- break;
- default:
- log.debug("nlriType not supported" + nlriType);
- }
- mpReachNlri.add(bgpLSNlri);
- }
- } else {
- throw new BgpParseException("Not Supporting afi " + afi + "safi " + safi);
- }
- }
- return new MpReachNlri(mpReachNlri, afi, safi, ipNextHop, parseFlags.getLength());
- }
-
- @Override
- public short getType() {
- return MPREACHNLRI_TYPE;
- }
-
- /**
- * Returns AFI.
- *
- * @return AFI
- */
- public short afi() {
- return this.afi;
- }
-
- /**
- * Returns Nexthop IpAddress.
- *
- * @return Nexthop IpAddress
- */
- public Ip4Address nexthop4() {
- return this.ipNextHop;
- }
-
- /**
- * Returns SAFI.
- *
- * @return SAFI
- */
- public byte safi() {
- return this.safi;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- //Not to be Implemented as of now
- return 0;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("mpReachNlri", mpReachNlri)
- .add("afi", afi)
- .add("safi", safi)
- .add("ipNextHop", ipNextHop)
- .add("length", length)
- .toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/MpUnReachNlri.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/MpUnReachNlri.java
deleted file mode 100644
index f354b3ea..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/MpUnReachNlri.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.types;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.protocol.BgpLSNlri;
-import org.onosproject.bgpio.protocol.linkstate.BgpNodeLSNlriVer4;
-import org.onosproject.bgpio.protocol.linkstate.BgpPrefixIPv4LSNlriVer4;
-import org.onosproject.bgpio.protocol.linkstate.BgpLinkLsNlriVer4;
-import org.onosproject.bgpio.util.Constants;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Provides Implementation of MpUnReach Nlri BGP Path Attribute.
- */
-public class MpUnReachNlri implements BgpValueType {
-
- private static final Logger log = LoggerFactory.getLogger(MpUnReachNlri.class);
- public static final byte MPUNREACHNLRI_TYPE = 15;
- public static final byte LINK_NLRITYPE = 2;
-
- private boolean isMpUnReachNlri = false;
- private final short afi;
- private final byte safi;
- private final List<BgpLSNlri> mpUnReachNlri;
- private final int length;
-
- /**
- * Constructor to initialize parameters.
- *
- * @param mpUnReachNlri MpUnReach Nlri attribute
- * @param afi address family identifier
- * @param safi subsequent address family identifier
- * @param length of MpUnReachNlri
- */
- public MpUnReachNlri(List<BgpLSNlri> mpUnReachNlri, short afi, byte safi,
- int length) {
- this.mpUnReachNlri = mpUnReachNlri;
- this.isMpUnReachNlri = true;
- this.afi = afi;
- this.safi = safi;
- this.length = length;
- }
-
- /**
- * Reads from ChannelBuffer and parses MpUnReachNlri.
- *
- * @param cb ChannelBuffer
- * @return object of MpUnReachNlri
- * @throws BgpParseException while parsing MpUnReachNlri
- */
- public static MpUnReachNlri read(ChannelBuffer cb) throws BgpParseException {
- ChannelBuffer tempBuf = cb.copy();
- Validation parseFlags = Validation.parseAttributeHeader(cb);
- int len = parseFlags.isShort() ? parseFlags.getLength() + Constants.TYPE_AND_LEN_AS_SHORT
- : parseFlags.getLength() + Constants.TYPE_AND_LEN_AS_BYTE;
- ChannelBuffer data = tempBuf.readBytes(len);
-
- if (!parseFlags.getFirstBit() && parseFlags.getSecondBit()
- && parseFlags.getThirdBit()) {
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_FLAGS_ERROR, data);
- }
-
- if (cb.readableBytes() < parseFlags.getLength()) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR, parseFlags.getLength());
- }
-
- LinkedList<BgpLSNlri> mpUnReachNlri = new LinkedList<>();
- BgpLSNlri bgpLSNlri = null;
- short afi = 0;
- byte safi = 0;
- ChannelBuffer tempCb = cb.readBytes(parseFlags.getLength());
- while (tempCb.readableBytes() > 0) {
- afi = tempCb.readShort();
- safi = tempCb.readByte();
-
- //Supporting only for AFI 16388 / SAFI 71
- if ((afi == Constants.AFI_VALUE) && (safi == Constants.SAFI_VALUE)
- || (afi == Constants.AFI_VALUE) && (safi == Constants.VPN_SAFI_VALUE)) {
- while (tempCb.readableBytes() > 0) {
- short nlriType = tempCb.readShort();
- short totNlriLen = tempCb.readShort();
- if (tempCb.readableBytes() < totNlriLen) {
- Validation.validateLen(
- BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR, totNlriLen);
- }
- tempBuf = tempCb.readBytes(totNlriLen);
- switch (nlriType) {
- case BgpNodeLSNlriVer4.NODE_NLRITYPE:
- bgpLSNlri = BgpNodeLSNlriVer4.read(tempBuf, afi, safi);
- break;
- case BgpLinkLsNlriVer4.LINK_NLRITYPE:
- bgpLSNlri = BgpLinkLsNlriVer4.read(tempBuf, afi, safi);
- break;
- case BgpPrefixIPv4LSNlriVer4.PREFIX_IPV4_NLRITYPE:
- bgpLSNlri = BgpPrefixIPv4LSNlriVer4.read(tempBuf, afi,
- safi);
- break;
- default:
- log.debug("nlriType not supported" + nlriType);
- }
- mpUnReachNlri.add(bgpLSNlri);
- }
- } else {
- //TODO: check with the values got from capability
- throw new BgpParseException("Not Supporting afi " + afi
- + "safi " + safi);
- }
- }
- return new MpUnReachNlri(mpUnReachNlri, afi, safi,
- parseFlags.getLength());
- }
-
- @Override
- public short getType() {
- return MPUNREACHNLRI_TYPE;
- }
-
- /**
- * Returns SAFI.
- *
- * @return SAFI
- */
- public byte safi() {
- return this.safi;
- }
-
- /**
- * Returns AFI.
- *
- * @return AFI
- */
- public short afi() {
- return this.afi;
- }
-
- /**
- * Returns list of MpUnReach Nlri.
- *
- * @return list of MpUnReach Nlri
- */
- public List<BgpLSNlri> mpUnReachNlri() {
- return this.mpUnReachNlri;
- }
-
- /**
- * Returns whether MpReachNlri is present.
- *
- * @return whether MpReachNlri is present
- */
- public boolean isMpUnReachNlriSet() {
- return this.isMpUnReachNlri;
- }
-
- /**
- * Returns length of MpUnReach.
- *
- * @return length of MpUnReach
- */
- public int mpUnReachNlriLen() {
- return this.length;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- //Not to be Implemented as of now
- return 0;
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("mpReachNlri", mpUnReachNlri)
- .add("afi", afi)
- .add("safi", safi)
- .add("length", length)
- .toString();
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/MultiProtocolExtnCapabilityTlv.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/MultiProtocolExtnCapabilityTlv.java
deleted file mode 100644
index 7082483e..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/MultiProtocolExtnCapabilityTlv.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types;
-
-import java.util.Objects;
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Provides MultiProtocolExtnCapabilityTlv.
- */
-public class MultiProtocolExtnCapabilityTlv implements BgpValueType {
-
- /*
- 0 7 15 23 31
- +-------+-------+-------+-------+
- | AFI | Res | SAFI |
- +-------+-------+-------+-------+
-
- Multiprotocol Extensions CAPABILITY TLV format
- REFERENCE : RFC 4760
- */
- protected static final Logger log = LoggerFactory
- .getLogger(MultiProtocolExtnCapabilityTlv.class);
-
- public static final byte TYPE = 1;
- public static final byte LENGTH = 4;
-
- private final short afi;
- private final byte res;
- private final byte safi;
-
- /**
- * Constructor to initialize variables.
- * @param afi Address Family Identifiers
- * @param res reserved field
- * @param safi Subsequent Address Family Identifier
- */
- public MultiProtocolExtnCapabilityTlv(short afi, byte res, byte safi) {
- this.afi = afi;
- this.res = res;
- this.safi = safi;
- }
-
- /**
- * Returns object of MultiProtocolExtnCapabilityTlv.
- * @param afi Address Family Identifiers
- * @param res reserved field
- * @param safi Subsequent Address Family Identifier
- * @return object of MultiProtocolExtnCapabilityTlv
- */
- public static MultiProtocolExtnCapabilityTlv of(short afi, byte res,
- byte safi) {
- return new MultiProtocolExtnCapabilityTlv(afi, res, safi);
- }
-
- /**
- * Returns afi Address Family Identifiers value.
- * @return afi Address Family Identifiers value
- */
- public short getAFI() {
- return afi;
- }
-
- /**
- * Returns res reserved field value.
- * @return res reserved field value
- */
- public byte getRes() {
- return res;
- }
-
- /**
- * Returns safi Subsequent Address Family Identifier value.
- * @return safi Subsequent Address Family Identifier value
- */
- public byte getSAFI() {
- return safi;
- }
-
- @Override
- public short getType() {
- return TYPE;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(afi, res, safi);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof MultiProtocolExtnCapabilityTlv) {
- MultiProtocolExtnCapabilityTlv other = (MultiProtocolExtnCapabilityTlv) obj;
- return Objects.equals(this.afi, other.afi)
- && Objects.equals(this.res, other.res)
- && Objects.equals(this.safi, other.safi);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- int iLenStartIndex = cb.writerIndex();
- cb.writeByte(TYPE);
- cb.writeByte(LENGTH);
-
- // write afi
- cb.writeShort(afi);
-
- // write res
- cb.writeByte(res);
-
- // write safi
- cb.writeByte(safi);
-
- return cb.writerIndex() - iLenStartIndex;
- }
-
- /**
- * Reads from channel buffer and returns object of MultiprotocolCapabilityTlv.
- * @param cb of type channel buffer
- * @return object of MultiProtocolExtnCapabilityTlv
- */
- public static BgpValueType read(ChannelBuffer cb) {
- short afi = cb.readShort();
- byte res = cb.readByte();
- byte safi = cb.readByte();
- return new MultiProtocolExtnCapabilityTlv(afi, res, safi);
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("Type", TYPE)
- .add("Length", LENGTH)
- .add("AFI", afi)
- .add("Reserved", res)
- .add("SAFI", safi).toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/NextHop.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/NextHop.java
deleted file mode 100644
index 806efe52..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/NextHop.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types;
-
-import java.net.InetAddress;
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onlab.packet.Ip4Address;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.util.Constants;
-import org.onosproject.bgpio.util.Validation;
-
-import com.google.common.base.MoreObjects;
-import com.google.common.base.Preconditions;
-
-/**
- * Implementation of NextHop BGP Path Attribute.
- */
-public class NextHop implements BgpValueType {
- public static final byte NEXTHOP_TYPE = 3;
-
- private boolean isNextHop = false;
- private Ip4Address nextHop;
-
- /**
- * Constructor to initialize parameters.
- *
- * @param nextHop nextHop address
- */
- public NextHop(Ip4Address nextHop) {
- this.nextHop = Preconditions.checkNotNull(nextHop);
- this.isNextHop = true;
- }
-
- /**
- * Returns whether next hop is present.
- *
- * @return whether next hop is present
- */
- public boolean isNextHopSet() {
- return this.isNextHop;
- }
-
- /**
- * Reads from ChannelBuffer and parses NextHop.
- *
- * @param cb ChannelBuffer
- * @return object of NextHop
- * @throws BgpParseException while parsing nexthop attribute
- */
- public static NextHop read(ChannelBuffer cb) throws BgpParseException {
- Ip4Address nextHop;
- ChannelBuffer tempCb = cb.copy();
- Validation parseFlags = Validation.parseAttributeHeader(cb);
-
- if (cb.readableBytes() < parseFlags.getLength()) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- parseFlags.getLength());
- }
- int len = parseFlags.isShort() ? parseFlags.getLength() + Constants.TYPE_AND_LEN_AS_SHORT : parseFlags
- .getLength() + Constants.TYPE_AND_LEN_AS_BYTE;
- ChannelBuffer data = tempCb.readBytes(len);
- if (parseFlags.getFirstBit() && !parseFlags.getSecondBit() && parseFlags.getThirdBit()) {
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.ATTRIBUTE_FLAGS_ERROR, data);
- }
-
- InetAddress ipAddress = Validation.toInetAddress(parseFlags.getLength(), cb);
- if (ipAddress.isMulticastAddress()) {
- throw new BgpParseException("Multicast address is not supported");
- }
-
- nextHop = Ip4Address.valueOf(ipAddress);
- return new NextHop(nextHop);
- }
-
- /**
- * Return nexthop address.
- *
- * @return nexthop address
- */
- public Ip4Address nextHop() {
- return nextHop;
- }
-
- @Override
- public short getType() {
- return NEXTHOP_TYPE;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- //Not required to be implemented now
- return 0;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(nextHop);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof NextHop) {
- NextHop other = (NextHop) obj;
- return Objects.equals(nextHop, other.nextHop);
- }
- return false;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("nextHop", nextHop)
- .toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/OSPFNonPseudonode.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/OSPFNonPseudonode.java
deleted file mode 100644
index d281a4ef..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/OSPFNonPseudonode.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.types;
-
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.protocol.IGPRouterID;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Provides implementation of OSPFNonPseudonode Tlv.
- */
-public class OSPFNonPseudonode implements IGPRouterID, BgpValueType {
- public static final short TYPE = 515;
- public static final short LENGTH = 4;
-
- private final int routerID;
-
- /**
- * Constructor to initialize routerID.
- *
- * @param routerID routerID
- */
- public OSPFNonPseudonode(int routerID) {
- this.routerID = routerID;
- }
-
- /**
- * Returns object of this class with specified routerID.
- *
- * @param routerID routerID
- * @return object of OSPFNonPseudonode
- */
- public static OSPFNonPseudonode of(final int routerID) {
- return new OSPFNonPseudonode(routerID);
- }
-
- /**
- * Returns RouterID.
- *
- * @return RouterID
- */
- public int getrouterID() {
- return this.routerID;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(routerID);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof OSPFNonPseudonode) {
- OSPFNonPseudonode other = (OSPFNonPseudonode) obj;
- return Objects.equals(routerID, other.routerID);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer c) {
- int iLenStartIndex = c.writerIndex();
- c.writeShort(TYPE);
- c.writeShort(LENGTH);
- c.writeInt(routerID);
- return c.writerIndex() - iLenStartIndex;
- }
-
- /**
- * Reads the channel buffer and returns object of OSPFNonPseudonode.
- *
- * @param cb ChannelBuffer
- * @return object of OSPFNonPseudonode
- */
- public static OSPFNonPseudonode read(ChannelBuffer cb) {
- return OSPFNonPseudonode.of(cb.readInt());
- }
-
- @Override
- public short getType() {
- return TYPE;
- }
-
- @Override
- public int compareTo(Object o) {
- if (this.equals(o)) {
- return 0;
- }
- return ((Integer) (this.routerID)).compareTo((Integer) (((OSPFNonPseudonode) o).routerID));
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("Type", TYPE)
- .add("Length", LENGTH)
- .add("RouterID", routerID)
- .toString();
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/OSPFPseudonode.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/OSPFPseudonode.java
deleted file mode 100644
index 0d17651a..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/OSPFPseudonode.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types;
-
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onlab.packet.Ip4Address;
-import org.onosproject.bgpio.protocol.IGPRouterID;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Provides implementation of OSPFPseudonode Tlv.
- */
-public class OSPFPseudonode implements IGPRouterID, BgpValueType {
- public static final short TYPE = 515;
- public static final short LENGTH = 8;
-
- private final int routerID;
- private final Ip4Address drInterface;
-
- /**
- * Constructor to initialize parameters.
- *
- * @param routerID routerID
- * @param drInterface IPv4 address of the DR's interface
- */
- public OSPFPseudonode(int routerID, Ip4Address drInterface) {
- this.routerID = routerID;
- this.drInterface = drInterface;
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param routerID routerID
- * @param drInterface IPv4 address of the DR's interface
- * @return object of OSPFPseudonode
- */
- public static OSPFPseudonode of(final int routerID, final Ip4Address drInterface) {
- return new OSPFPseudonode(routerID, drInterface);
- }
-
- /**
- * Returns RouterID.
- *
- * @return RouterID
- */
- public int getrouterID() {
- return this.routerID;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(routerID, drInterface);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof OSPFPseudonode) {
- OSPFPseudonode other = (OSPFPseudonode) obj;
- return Objects.equals(routerID, other.routerID) && Objects.equals(drInterface, other.drInterface);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer c) {
- int iLenStartIndex = c.writerIndex();
- c.writeShort(TYPE);
- c.writeShort(LENGTH);
- c.writeInt(routerID);
- c.writeInt(drInterface.toInt());
- return c.writerIndex() - iLenStartIndex;
- }
-
- /**
- * Reads the channel buffer and returns object of OSPFPseudonode.
- *
- * @param cb ChannelBuffer
- * @return object of OSPFPseudonode
- */
- public static OSPFPseudonode read(ChannelBuffer cb) {
- int routerID = cb.readInt();
- Ip4Address drInterface = Ip4Address.valueOf(cb.readInt());
- return OSPFPseudonode.of(routerID, drInterface);
- }
-
- @Override
- public short getType() {
- return TYPE;
- }
-
- @Override
- public int compareTo(Object o) {
- if (this.equals(o)) {
- return 0;
- }
- int result = ((Integer) (this.routerID)).compareTo((Integer) (((OSPFPseudonode) o).routerID));
- if (result != 0) {
- return this.drInterface.compareTo(((OSPFPseudonode) o).drInterface);
- }
- return result;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("Type", TYPE)
- .add("Length", LENGTH)
- .add("RouterID", routerID)
- .add("DRInterface", drInterface)
- .toString();
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/OSPFRouteTypeTlv.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/OSPFRouteTypeTlv.java
deleted file mode 100644
index be321c95..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/OSPFRouteTypeTlv.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types;
-
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Provides OSPF Route Type Tlv which contains route type.
- */
-public class OSPFRouteTypeTlv implements BgpValueType {
-
- /* Reference :draft-ietf-idr-ls-distribution-11
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Route Type |
- +-+-+-+-+-+-+-+-+
-
- Figure : OSPF Route Type TLV Format
- */
-
- public static final short TYPE = 264;
- public static final short LENGTH = 1;
- public static final int INTRA_AREA_TYPE = 1;
- public static final short INTER_AREA_TYPE = 2;
- public static final short EXTERNAL_TYPE_1 = 3;
- public static final short EXTERNAL_TYPE_2 = 4;
- public static final short NSSA_TYPE_1 = 5;
- public static final short NSSA_TYPE_2 = 6;
-
- private final byte routeType;
-
- /**
- * Enum for Route Type.
- */
- public enum RouteType {
- Intra_Area(1), Inter_Area(2), External_1(3), External_2(4), NSSA_1(5), NSSA_2(6);
- int value;
- RouteType(int val) {
- value = val;
- }
- public byte getType() {
- return (byte) value;
- }
- }
-
- /**
- * Constructor to initialize routeType.
- *
- * @param routeType Route type
- */
- public OSPFRouteTypeTlv(byte routeType) {
- this.routeType = routeType;
- }
-
- /**
- * Returns object of this class with specified routeType.
- *
- * @param routeType Route type
- * @return object of OSPFRouteTypeTlv
- */
- public static OSPFRouteTypeTlv of(final byte routeType) {
- return new OSPFRouteTypeTlv(routeType);
- }
-
- /**
- * Returns RouteType.
- *
- * @return RouteType
- * @throws BgpParseException if routeType is not matched
- */
- public RouteType getValue() throws BgpParseException {
- switch (routeType) {
- case INTRA_AREA_TYPE:
- return RouteType.Intra_Area;
- case INTER_AREA_TYPE:
- return RouteType.Inter_Area;
- case EXTERNAL_TYPE_1:
- return RouteType.External_1;
- case EXTERNAL_TYPE_2:
- return RouteType.External_2;
- case NSSA_TYPE_1:
- return RouteType.NSSA_1;
- case NSSA_TYPE_2:
- return RouteType.NSSA_2;
- default:
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, (byte) 0, null);
- }
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(routeType);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof OSPFRouteTypeTlv) {
- OSPFRouteTypeTlv other = (OSPFRouteTypeTlv) obj;
- return Objects.equals(routeType, other.routeType);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer c) {
- int iLenStartIndex = c.writerIndex();
- c.writeShort(TYPE);
- c.writeShort(LENGTH);
- c.writeByte(routeType);
- return c.writerIndex() - iLenStartIndex;
- }
-
- /**
- * Reads from ChannelBuffer and parses OSPFRouteTypeTlv.
- *
- * @param cb channelBuffer
- * @return object of OSPFRouteTypeTlv
- */
- public static OSPFRouteTypeTlv read(ChannelBuffer cb) {
- return OSPFRouteTypeTlv.of(cb.readByte());
- }
-
- @Override
- public short getType() {
- return TYPE;
- }
-
- @Override
- public int compareTo(Object o) {
- if (this.equals(o)) {
- return 0;
- }
- return ((Byte) (this.routeType)).compareTo((Byte) (((OSPFRouteTypeTlv) o).routeType));
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("Type", TYPE)
- .add("Length", LENGTH)
- .add("Value", routeType)
- .toString();
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/Origin.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/Origin.java
deleted file mode 100644
index d642d83c..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/Origin.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types;
-
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.util.Constants;
-import org.onosproject.bgpio.util.Validation;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Provides Implementation of mandatory BGP Origin path attribute.
- */
-public class Origin implements BgpValueType {
-
- /**
- * Enum to provide ORIGIN types.
- */
- public enum ORIGINTYPE {
- IGP(0), EGP(1), INCOMPLETE(2);
- int value;
- /**
- * Assign val with the value as the ORIGIN type.
- *
- * @param val ORIGIN type
- */
- ORIGINTYPE(int val) {
- value = val;
- }
-
- /**
- * Returns value of ORIGIN type.
- *
- * @return ORIGIN type
- */
- public byte getType() {
- return (byte) value;
- }
- }
-
- public static final byte ORIGIN_TYPE = 1;
- public static final byte ORIGIN_VALUE_LEN = 1;
-
- private boolean isOrigin = false;
- private byte origin;
-
- /**
- * Constructor to initialize parameters.
- *
- * @param origin origin value
- */
- public Origin(byte origin) {
- this.origin = origin;
- this.isOrigin = true;
- }
-
- /**
- * Returns true if origin attribute is present otherwise false.
- *
- * @return whether origin is present or not
- */
- public boolean isOriginSet() {
- return this.isOrigin;
- }
-
- /**
- * Returns type of Origin in Enum values.
- *
- * @return type of Origin in Enum values
- */
- public ORIGINTYPE origin() {
- if (this.origin == 0) {
- return ORIGINTYPE.IGP;
- } else if (this.origin == 1) {
- return ORIGINTYPE.EGP;
- } else {
- return ORIGINTYPE.INCOMPLETE;
- }
- }
-
- /**
- * Reads from ChannelBuffer and parses Origin.
- *
- * @param cb ChannelBuffer
- * @return object of Origin
- * @throws BgpParseException while parsing Origin path attribute
- */
- public static Origin read(ChannelBuffer cb) throws BgpParseException {
- ChannelBuffer tempCb = cb.copy();
- Validation parseFlags = Validation.parseAttributeHeader(cb);
-
- int len = parseFlags.isShort() ? parseFlags.getLength() + Constants.TYPE_AND_LEN_AS_SHORT : parseFlags
- .getLength() + Constants.TYPE_AND_LEN_AS_BYTE;
- ChannelBuffer data = tempCb.readBytes(len);
- if ((parseFlags.getLength() > ORIGIN_VALUE_LEN) || (cb.readableBytes() < parseFlags.getLength())) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- parseFlags.getLength());
- }
- if (parseFlags.getFirstBit() && !parseFlags.getSecondBit() && parseFlags.getThirdBit()) {
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.ATTRIBUTE_FLAGS_ERROR, data);
- }
-
- byte originValue;
- originValue = cb.readByte();
- if ((originValue != ORIGINTYPE.INCOMPLETE.value) && (originValue != ORIGINTYPE.IGP.value) &&
- (originValue != ORIGINTYPE.EGP.value)) {
- throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, BgpErrorType.INVALID_ORIGIN_ATTRIBUTE, data);
- }
- return new Origin(originValue);
- }
-
- @Override
- public short getType() {
- return ORIGIN_TYPE;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- //Not required to Implement as of now
- return 0;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(origin);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof Origin) {
- Origin other = (Origin) obj;
- return Objects.equals(origin, other.origin);
- }
- return false;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("origin", origin)
- .toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/RouteDistinguisher.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/RouteDistinguisher.java
deleted file mode 100644
index 37632ad8..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/RouteDistinguisher.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.types;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implementation of RouteDistinguisher.
- */
-public class RouteDistinguisher implements Comparable<RouteDistinguisher> {
-
- private long routeDistinguisher;
-
- /**
- * Resets fields.
- */
- public RouteDistinguisher() {
- this.routeDistinguisher = 0;
- }
-
- /**
- * Constructor to initialize parameters.
- *
- * @param routeDistinguisher route distinguisher
- */
- public RouteDistinguisher(long routeDistinguisher) {
- this.routeDistinguisher = routeDistinguisher;
- }
-
- /**
- * Reads route distinguisher from channelBuffer.
- *
- * @param cb channelBuffer
- * @return object of RouteDistinguisher
- */
- public static RouteDistinguisher read(ChannelBuffer cb) {
- return new RouteDistinguisher(cb.readLong());
- }
-
- /**
- * Returns route distinguisher.
- *
- * @return route distinguisher
- */
- public long getRouteDistinguisher() {
- return this.routeDistinguisher;
- }
-
- @Override
- public int compareTo(RouteDistinguisher rd) {
- if (this.equals(rd)) {
- return 0;
- }
- return ((Long) (this.getRouteDistinguisher())).compareTo((Long) (rd.getRouteDistinguisher()));
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("routeDistinguisher", routeDistinguisher)
- .toString();
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrNodeFlagBitTlv.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrNodeFlagBitTlv.java
deleted file mode 100755
index e0fef7c8..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrNodeFlagBitTlv.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types.attr;
-
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implements BGP attribute node flag.
- */
-public final class BgpAttrNodeFlagBitTlv implements BgpValueType {
-
- protected static final Logger log = LoggerFactory
- .getLogger(BgpAttrNodeFlagBitTlv.class);
-
- public static final int ATTRNODE_FLAGBIT = 1024;
-
- /* Node flag bit TLV */
- private final boolean bOverloadBit;
- private final boolean bAttachedBit;
- private final boolean bExternalBit;
- private final boolean bAbrBit;
-
- public static final byte FIRST_BIT = (byte) 0x80;
- public static final byte SECOND_BIT = 0x40;
- public static final byte THIRD_BIT = 0x20;
- public static final byte FOURTH_BIT = 0x01;
-
- /**
- * Constructor to initialize parameters.
- *
- * @param bOverloadBit Overload bit
- * @param bAttachedBit Attached bit
- * @param bExternalBit External bit
- * @param bAbrBit ABR Bit
- */
- private BgpAttrNodeFlagBitTlv(boolean bOverloadBit, boolean bAttachedBit,
- boolean bExternalBit, boolean bAbrBit) {
- this.bOverloadBit = bOverloadBit;
- this.bAttachedBit = bAttachedBit;
- this.bExternalBit = bExternalBit;
- this.bAbrBit = bAbrBit;
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param bOverloadBit Overload bit
- * @param bAttachedBit Attached bit
- * @param bExternalBit External bit
- * @param bAbrBit ABR Bit
- * @return object of BgpAttrNodeFlagBitTlv
- */
- public static BgpAttrNodeFlagBitTlv of(final boolean bOverloadBit,
- final boolean bAttachedBit,
- final boolean bExternalBit,
- final boolean bAbrBit) {
- return new BgpAttrNodeFlagBitTlv(bOverloadBit, bAttachedBit,
- bExternalBit, bAbrBit);
- }
-
- /**
- * Reads the Node Flag Bits.
- *
- * @param cb ChannelBuffer
- * @return attribute node flag bit tlv
- * @throws BgpParseException while parsing BgpAttrNodeFlagBitTlv
- */
- public static BgpAttrNodeFlagBitTlv read(ChannelBuffer cb)
- throws BgpParseException {
- boolean bOverloadBit = false;
- boolean bAttachedBit = false;
- boolean bExternalBit = false;
- boolean bAbrBit = false;
-
- short lsAttrLength = cb.readShort();
-
- if ((lsAttrLength != 1) || (cb.readableBytes() < lsAttrLength)) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- lsAttrLength);
- }
-
- byte nodeFlagBits = cb.readByte();
-
- bOverloadBit = ((nodeFlagBits & FIRST_BIT) == FIRST_BIT);
- bAttachedBit = ((nodeFlagBits & SECOND_BIT) == SECOND_BIT);
- bExternalBit = ((nodeFlagBits & THIRD_BIT) == THIRD_BIT);
- bAbrBit = ((nodeFlagBits & FOURTH_BIT) == FOURTH_BIT);
-
- return BgpAttrNodeFlagBitTlv.of(bOverloadBit, bAttachedBit,
- bExternalBit, bAbrBit);
- }
-
- /**
- * Returns Overload Bit.
- *
- * @return Overload Bit
- */
- public boolean overLoadBit() {
- return bOverloadBit;
- }
-
- /**
- * Returns Attached Bit.
- *
- * @return Attached Bit
- */
- public boolean attachedBit() {
- return bAttachedBit;
- }
-
- /**
- * Returns External Bit.
- *
- * @return External Bit
- */
- public boolean externalBit() {
- return bExternalBit;
- }
-
- /**
- * Returns ABR Bit.
- *
- * @return ABR Bit
- */
- public boolean abrBit() {
- return bAbrBit;
- }
-
- @Override
- public short getType() {
- return ATTRNODE_FLAGBIT;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- // TODO This will be implemented in the next version
- return 0;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(bOverloadBit, bAttachedBit, bExternalBit, bAbrBit);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpAttrNodeFlagBitTlv) {
- BgpAttrNodeFlagBitTlv other = (BgpAttrNodeFlagBitTlv) obj;
- return Objects.equals(bOverloadBit, other.bOverloadBit)
- && Objects.equals(bAttachedBit, other.bAttachedBit)
- && Objects.equals(bExternalBit, other.bExternalBit)
- && Objects.equals(bAbrBit, other.bAbrBit);
- }
- return false;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("bOverloadBit", bOverloadBit)
- .add("bAttachedBit", bAttachedBit)
- .add("bExternalBit", bExternalBit).add("bAbrBit", bAbrBit)
- .toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrNodeIsIsAreaId.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrNodeIsIsAreaId.java
deleted file mode 100644
index 0435a65f..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrNodeIsIsAreaId.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types.attr;
-
-import java.util.Arrays;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implements BGP attribute ISIS Area Identifier.
- */
-public class BgpAttrNodeIsIsAreaId implements BgpValueType {
-
- protected static final Logger log = LoggerFactory
- .getLogger(BgpAttrNodeIsIsAreaId.class);
-
- public static final int ATTRNODE_ISISAREAID = 1027;
-
- /* IS-IS Area Identifier TLV */
- private byte[] isisAreaId;
-
- /**
- * Constructor to initialize value.
- *
- * @param isisAreaId ISIS area Identifier
- */
- public BgpAttrNodeIsIsAreaId(byte[] isisAreaId) {
- this.isisAreaId = Arrays.copyOf(isisAreaId, isisAreaId.length);
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param isisAreaId ISIS area Identifier
- * @return object of BgpAttrNodeIsIsAreaId
- */
- public static BgpAttrNodeIsIsAreaId of(final byte[] isisAreaId) {
- return new BgpAttrNodeIsIsAreaId(isisAreaId);
- }
-
- /**
- * Reads the IS-IS Area Identifier.
- *
- * @param cb ChannelBuffer
- * @return object of BgpAttrNodeIsIsAreaId
- * @throws BgpParseException while parsing BgpAttrNodeIsIsAreaId
- */
- public static BgpAttrNodeIsIsAreaId read(ChannelBuffer cb)
- throws BgpParseException {
- byte[] isisAreaId;
-
- short lsAttrLength = cb.readShort();
-
- if (cb.readableBytes() < lsAttrLength) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- lsAttrLength);
- }
-
- isisAreaId = new byte[lsAttrLength];
- cb.readBytes(isisAreaId);
-
- return BgpAttrNodeIsIsAreaId.of(isisAreaId);
- }
-
- /**
- * Returns ISIS area Identifier.
- *
- * @return Area ID
- */
- public byte[] attrNodeIsIsAreaId() {
- return isisAreaId;
- }
-
- @Override
- public short getType() {
- return ATTRNODE_ISISAREAID;
- }
-
- @Override
- public int hashCode() {
- return Arrays.hashCode(isisAreaId);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpAttrNodeIsIsAreaId) {
- BgpAttrNodeIsIsAreaId other = (BgpAttrNodeIsIsAreaId) obj;
- return Arrays.equals(isisAreaId, other.isisAreaId);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- // TODO This will be implemented in the next version
- return 0;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass()).omitNullValues()
- .add("isisAreaId", isisAreaId).toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrNodeMultiTopologyId.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrNodeMultiTopologyId.java
deleted file mode 100644
index 31d855db..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrNodeMultiTopologyId.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types.attr;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * BGP Multi-Topology ID of the LS attribute.
- */
-public class BgpAttrNodeMultiTopologyId implements BgpValueType {
-
- private static final Logger log = LoggerFactory
- .getLogger(BgpAttrNodeMultiTopologyId.class);
-
- public static final int ATTRNODE_MULTITOPOLOGY = 263;
-
- /* Opaque Node Attribute */
- private List<Short> multiTopologyId = new ArrayList<Short>();
-
- /**
- * Constructor to initialize the Node attribute multi-topology ID.
- *
- * @param multiTopologyId multi-topology ID
- */
- public BgpAttrNodeMultiTopologyId(List<Short> multiTopologyId) {
- this.multiTopologyId = multiTopologyId;
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param multiTopologyId Prefix Metric
- * @return object of BgpAttrNodeMultiTopologyId
- */
- public static BgpAttrNodeMultiTopologyId of(ArrayList<Short> multiTopologyId) {
- return new BgpAttrNodeMultiTopologyId(multiTopologyId);
- }
-
- /**
- * Reads the Multi-topology ID of Node attribute.
- *
- * @param cb ChannelBuffer
- * @return Constructor of BgpAttrNodeMultiTopologyId
- * @throws BgpParseException while parsing BgpAttrNodeMultiTopologyId
- */
- public static BgpAttrNodeMultiTopologyId read(ChannelBuffer cb)
- throws BgpParseException {
- ArrayList<Short> multiTopologyId = new ArrayList<Short>();
- short tempMultiTopologyId;
- short lsAttrLength = cb.readShort();
- int len = lsAttrLength / 2; // Length is 2*n and n is the number of MT-IDs
-
- if (cb.readableBytes() < lsAttrLength) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- lsAttrLength);
- }
-
- for (int i = 0; i < len; i++) {
- tempMultiTopologyId = cb.readShort();
- multiTopologyId.add(new Short(tempMultiTopologyId));
- }
-
- return new BgpAttrNodeMultiTopologyId(multiTopologyId);
- }
-
- /**
- * to get the multi-topology ID.
- *
- * @return multitopology ID
- */
- public List<Short> attrMultiTopologyId() {
- return multiTopologyId;
- }
-
- @Override
- public short getType() {
- return ATTRNODE_MULTITOPOLOGY;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(multiTopologyId);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpAttrNodeMultiTopologyId) {
- BgpAttrNodeMultiTopologyId other = (BgpAttrNodeMultiTopologyId) obj;
- return Objects.equals(multiTopologyId, other.multiTopologyId);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- // TODO This will be implemented in the next version
- return 0;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .omitNullValues()
- .add("multiTopologyId", multiTopologyId)
- .toString();
- }
-
- @Override
- public int compareTo(Object o) {
- if (this.equals(o)) {
- return 0;
- }
- int countOtherSubTlv = ((BgpAttrNodeMultiTopologyId) o).multiTopologyId.size();
- int countObjSubTlv = multiTopologyId.size();
- if (countOtherSubTlv != countObjSubTlv) {
- if (countOtherSubTlv > countObjSubTlv) {
- return 1;
- } else {
- return -1;
- }
- }
- ListIterator<Short> listIterator = multiTopologyId.listIterator();
- ListIterator<Short> listIteratorOther = ((BgpAttrNodeMultiTopologyId) o).multiTopologyId.listIterator();
- while (listIterator.hasNext()) {
- short id = listIterator.next();
- short id1 = listIteratorOther.next();
- if (((Short) id).compareTo((Short) id1) != 0) {
- return ((Short) id).compareTo((Short) id1);
- }
- }
- return 0;
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrNodeName.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrNodeName.java
deleted file mode 100644
index 2e1c7a05..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrNodeName.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types.attr;
-
-import java.util.Arrays;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implements BGP attribute node name.
- */
-public class BgpAttrNodeName implements BgpValueType {
-
- protected static final Logger log = LoggerFactory
- .getLogger(BgpAttrNodeName.class);
-
- public static final int ATTRNODE_NAME = 1026;
-
- /* Node Name */
- private byte[] nodeName;
-
- /**
- * Constructor to initialize value.
- *
- * @param nodeName node name
- */
- public BgpAttrNodeName(byte[] nodeName) {
- this.nodeName = Arrays.copyOf(nodeName, nodeName.length);
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param nodeName node name
- * @return object of BgpAttrNodeName
- */
- public static BgpAttrNodeName of(final byte[] nodeName) {
- return new BgpAttrNodeName(nodeName);
- }
-
- /**
- * Reads the LS attribute node name.
- *
- * @param cb ChannelBuffer
- * @return object of BgpAttrNodeName
- * @throws BgpParseException while parsing BgpAttrNodeName
- */
- public static BgpAttrNodeName read(ChannelBuffer cb)
- throws BgpParseException {
- byte[] nodeName;
-
- short lsAttrLength = cb.readShort();
-
- if (cb.readableBytes() < lsAttrLength) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- lsAttrLength);
- }
-
- nodeName = new byte[lsAttrLength];
- cb.readBytes(nodeName);
- return BgpAttrNodeName.of(nodeName);
- }
-
- /**
- * Returns LS attribute node name.
- *
- * @return node name
- */
- public byte[] attrNodeName() {
- return nodeName;
- }
-
- @Override
- public short getType() {
- return ATTRNODE_NAME;
- }
-
- @Override
- public int hashCode() {
- return Arrays.hashCode(nodeName);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpAttrNodeName) {
- BgpAttrNodeName other = (BgpAttrNodeName) obj;
- return Arrays.equals(nodeName, other.nodeName);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- // TODO This will be implemented in the next version
- return 0;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass()).omitNullValues()
- .add("nodeName", nodeName).toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrOpaqueNode.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrOpaqueNode.java
deleted file mode 100644
index 545755a7..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrOpaqueNode.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types.attr;
-
-import java.util.Arrays;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implements BGP attribute opaque node.
- */
-public class BgpAttrOpaqueNode implements BgpValueType {
-
- protected static final Logger log = LoggerFactory
- .getLogger(BgpAttrOpaqueNode.class);
-
- public static final int ATTRNODE_OPAQUEDATA = 1025;
-
- /* Opaque Node Attribute */
- private byte[] opaqueNodeAttribute;
-
- /**
- * Constructor to initialize parameter.
- *
- * @param opaqueNodeAttribute opaque node attribute
- */
- public BgpAttrOpaqueNode(byte[] opaqueNodeAttribute) {
- this.opaqueNodeAttribute = Arrays.copyOf(opaqueNodeAttribute, opaqueNodeAttribute.length);
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param opaqueNodeAttribute Prefix Metric
- * @return object of BgpAttrOpaqueNode
- */
- public static BgpAttrOpaqueNode of(byte[] opaqueNodeAttribute) {
- return new BgpAttrOpaqueNode(opaqueNodeAttribute);
- }
-
- /**
- * Reads the Opaque Node Properties.
- *
- * @param cb ChannelBuffer
- * @return object of BgpAttrOpaqueNode
- * @throws BgpParseException while parsing BgpAttrOpaqueNode
- */
- public static BgpAttrOpaqueNode read(ChannelBuffer cb)
- throws BgpParseException {
-
- byte[] opaqueNodeAttribute;
-
- short lsAttrLength = cb.readShort();
-
- if (cb.readableBytes() < lsAttrLength) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- lsAttrLength);
- }
-
- opaqueNodeAttribute = new byte[lsAttrLength];
- cb.readBytes(opaqueNodeAttribute);
-
- return BgpAttrOpaqueNode.of(opaqueNodeAttribute);
- }
-
- /**
- * Returns opaque node attribute.
- *
- * @return LS node attribute value
- */
- public byte[] attrOpaqueNode() {
- return opaqueNodeAttribute;
- }
-
- @Override
- public short getType() {
- return ATTRNODE_OPAQUEDATA;
- }
-
- @Override
- public int hashCode() {
- return Arrays.hashCode(opaqueNodeAttribute);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpAttrOpaqueNode) {
- BgpAttrOpaqueNode other = (BgpAttrOpaqueNode) obj;
- return Arrays
- .equals(opaqueNodeAttribute, other.opaqueNodeAttribute);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- // TODO This will be implemented in the next version
- return 0;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass()).omitNullValues()
- .add("opaqueNodeAttribute", opaqueNodeAttribute).toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrRouterIdV4.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrRouterIdV4.java
deleted file mode 100644
index f3c0d17b..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrRouterIdV4.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types.attr;
-
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onlab.packet.Ip4Address;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implements BGP attribute node router ID.
- */
-public final class BgpAttrRouterIdV4 implements BgpValueType {
-
- protected static final Logger log = LoggerFactory
- .getLogger(BgpAttrRouterIdV4.class);
-
- private final short sType;
-
- /* IPv4 Router-ID of Node */
- private final Ip4Address ip4RouterId;
-
- /**
- * Constructor to initialize the value.
- *
- * @param ip4RouterId IPV4 address of router
- * @param sType TLV type
- */
- private BgpAttrRouterIdV4(Ip4Address ip4RouterId, short sType) {
- this.ip4RouterId = ip4RouterId;
- this.sType = sType;
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param ip4RouterId IPv4 address
- * @param sType Type of this TLV
- * @return object of BgpAttrRouterIdV4
- */
- public static BgpAttrRouterIdV4 of(final Ip4Address ip4RouterId,
- final short sType) {
- return new BgpAttrRouterIdV4(ip4RouterId, sType);
- }
-
- /**
- * Reads the IPv4 Router-ID.
- *
- * @param cb ChannelBuffer
- * @param sType tag type
- * @return object of BgpAttrRouterIdV4
- * @throws BgpParseException while parsing BgpAttrRouterIdV4
- */
- public static BgpAttrRouterIdV4 read(ChannelBuffer cb, short sType)
- throws BgpParseException {
- short lsAttrLength = cb.readShort();
-
- if ((lsAttrLength != 4) || (cb.readableBytes() < lsAttrLength)) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- lsAttrLength);
- }
-
- byte[] ipBytes = new byte[lsAttrLength];
- cb.readBytes(ipBytes, 0, lsAttrLength);
- Ip4Address ip4RouterId = Ip4Address.valueOf(ipBytes);
- return BgpAttrRouterIdV4.of(ip4RouterId, sType);
- }
-
- /**
- * Returns the IPV4 router ID.
- *
- * @return Router ID
- */
- public Ip4Address attrRouterId() {
- return ip4RouterId;
- }
-
- @Override
- public short getType() {
- return sType;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(ip4RouterId);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpAttrRouterIdV4) {
- BgpAttrRouterIdV4 other = (BgpAttrRouterIdV4) obj;
- return Objects.equals(ip4RouterId, other.ip4RouterId);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- // TODO This will be implemented in the next version
- return 0;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass()).omitNullValues()
- .add("ip4RouterId", ip4RouterId).toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrRouterIdV6.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrRouterIdV6.java
deleted file mode 100644
index 648fd56e..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrRouterIdV6.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types.attr;
-
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onlab.packet.Ip6Address;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implements BGP attribute IPv6 router ID.
- */
-public final class BgpAttrRouterIdV6 implements BgpValueType {
-
- protected static final Logger log = LoggerFactory
- .getLogger(BgpAttrRouterIdV6.class);
-
- private final short sType;
-
- /* IPv4 Router-ID of Node */
- private final Ip6Address ip6RouterId;
-
- /**
- * Constructor to initialize the value.
- *
- * @param ip6RouterId IPV6 address of the router ID
- * @param sType TLV type
- */
- private BgpAttrRouterIdV6(Ip6Address ip6RouterId, short sType) {
- this.ip6RouterId = ip6RouterId;
- this.sType = sType;
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param ip6RouterId IPV6 address of the router ID
- * @param sType TLV type
- * @return object of BgpAttrRouterIdV6
- */
- public static BgpAttrRouterIdV6 of(final Ip6Address ip6RouterId,
- final short sType) {
- return new BgpAttrRouterIdV6(ip6RouterId, sType);
- }
-
- /**
- * Reads the IPv6 Router-ID.
- *
- * @param cb ChannelBuffer
- * @param sType TLV type
- * @return object of BgpAttrRouterIdV6
- * @throws BgpParseException while parsing BgpAttrRouterIdV6
- */
- public static BgpAttrRouterIdV6 read(ChannelBuffer cb, short sType)
- throws BgpParseException {
- byte[] ipBytes;
- Ip6Address ip6RouterId;
-
- short lsAttrLength = cb.readShort();
-
- if ((lsAttrLength != 16) || (cb.readableBytes() < lsAttrLength)) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- lsAttrLength);
- }
-
- ipBytes = new byte[lsAttrLength];
- cb.readBytes(ipBytes);
- ip6RouterId = Ip6Address.valueOf(ipBytes);
- return BgpAttrRouterIdV6.of(ip6RouterId, sType);
- }
-
- /**
- * Returns IPV6 router ID.
- *
- * @return Router ID
- */
- public Ip6Address attrRouterId() {
- return ip6RouterId;
- }
-
- @Override
- public short getType() {
- return sType;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(ip6RouterId);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpAttrRouterIdV6) {
- BgpAttrRouterIdV6 other = (BgpAttrRouterIdV6) obj;
- return Objects.equals(ip6RouterId, other.ip6RouterId);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- // TODO This will be implemented in the next version
- return 0;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass()).omitNullValues()
- .add("ip6RouterId", ip6RouterId).toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrIgpMetric.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrIgpMetric.java
deleted file mode 100644
index 5721cf6c..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrIgpMetric.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types.attr;
-
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implements BGP link IGP metric attribute.
- */
-public class BgpLinkAttrIgpMetric implements BgpValueType {
-
- protected static final Logger log = LoggerFactory
- .getLogger(BgpLinkAttrIgpMetric.class);
-
- public static final int ATTRLINK_IGPMETRIC = 1095;
- public static final int ATTRLINK_MAX_LEN = 3;
-
- /* Variable metric length based on protocol */
- public static final int ISIS_SMALL_METRIC = 1;
- public static final int OSPF_LINK_METRIC = 2;
- public static final int ISIS_WIDE_METRIC = 3;
-
- /* IGP Metric */
- private final int igpMetric;
- private final int igpMetricLen;
-
- /**
- * Constructor to initialize the value.
- *
- * @param igpMetric 3 byte IGP metric data.
- * @param igpMetricLen length of IGP metric data.
- */
- public BgpLinkAttrIgpMetric(final int igpMetric, final int igpMetricLen) {
- this.igpMetric = igpMetric;
- this.igpMetricLen = igpMetricLen;
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param igpMetric 3 byte IGP metric data.
- * @param igpMetricLen length of IGP metric data.
- * @return object of BgpLinkAttrIgpMetric
- */
- public static BgpLinkAttrIgpMetric of(final int igpMetric,
- final int igpMetricLen) {
- return new BgpLinkAttrIgpMetric(igpMetric, igpMetricLen);
- }
-
- /**
- * Reads the BGP link attributes IGP Metric.
- *
- * @param cb Channel buffer
- * @return object of type BgpLinkAttrIgpMetric
- * @throws BgpParseException while parsing BgpLinkAttrIgpMetric
- */
- public static BgpLinkAttrIgpMetric read(ChannelBuffer cb)
- throws BgpParseException {
-
- short linkigp;
- int igpMetric = 0;
- int igpMetricLen = 0;
-
- short lsAttrLength = cb.readShort();
-
- if (cb.readableBytes() < lsAttrLength
- || lsAttrLength > ATTRLINK_MAX_LEN) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- lsAttrLength);
- }
-
- switch (lsAttrLength) {
- case ISIS_SMALL_METRIC:
- igpMetric = cb.readByte();
- igpMetricLen = ISIS_SMALL_METRIC;
- break;
- case OSPF_LINK_METRIC:
- igpMetric = cb.readShort();
- igpMetricLen = OSPF_LINK_METRIC;
- break;
- case ISIS_WIDE_METRIC:
- linkigp = cb.readShort();
- igpMetric = cb.readByte();
- igpMetric = (igpMetric << 16) | linkigp;
- igpMetricLen = ISIS_WIDE_METRIC;
- break;
- default: // validation is already in place
- break;
- }
-
- return BgpLinkAttrIgpMetric.of(igpMetric, igpMetricLen);
- }
-
- /**
- * Returns the variable length IGP metric data.
- *
- * @return IGP metric data
- */
- public int attrLinkIgpMetric() {
- return igpMetric;
- }
-
- /**
- * Returns IGP metric data length.
- *
- * @return IGP metric length
- */
- public int attrLinkIgpMetricLength() {
- return igpMetricLen;
- }
-
- @Override
- public short getType() {
- return ATTRLINK_IGPMETRIC;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(igpMetric, igpMetricLen);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpLinkAttrIgpMetric) {
- BgpLinkAttrIgpMetric other = (BgpLinkAttrIgpMetric) obj;
- return Objects.equals(igpMetric, other.igpMetric)
- && Objects.equals(igpMetricLen, other.igpMetricLen);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- // TODO This will be implemented in the next version
- return 0;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("igpMetric", igpMetric).add("igpMetricLen", igpMetricLen)
- .toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrIsIsAdminstGrp.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrIsIsAdminstGrp.java
deleted file mode 100644
index 448f1e58..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrIsIsAdminstGrp.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types.attr;
-
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implements BGP attribute Is Is Administrative area.
- */
-public final class BgpLinkAttrIsIsAdminstGrp implements BgpValueType {
-
- protected static final Logger log = LoggerFactory
- .getLogger(BgpLinkAttrIsIsAdminstGrp.class);
-
- public static final int ATTRLINK_PROTECTIONTYPE = 1088;
- public static final int ISIS_ADMIN_DATA_LEN = 4;
-
- /* ISIS administrative group */
- private final long isisAdminGrp;
-
- /**
- * Constructor to initialize the values.
- *
- * @param isisAdminGrp ISIS protocol admin group
- */
- public BgpLinkAttrIsIsAdminstGrp(long isisAdminGrp) {
- this.isisAdminGrp = isisAdminGrp;
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param isisAdminGrp ISIS admin group
- * @return object of BgpLinkAttrIsIsAdminstGrp
- */
- public static BgpLinkAttrIsIsAdminstGrp of(final long isisAdminGrp) {
- return new BgpLinkAttrIsIsAdminstGrp(isisAdminGrp);
- }
-
- /**
- * Reads the BGP link attributes of ISIS administrative group area.
- *
- * @param cb Channel buffer
- * @return object of type BgpLinkAttrIsIsAdminstGrp
- * @throws BgpParseException while parsing BgpLinkAttrIsIsAdminstGrp
- */
- public static BgpLinkAttrIsIsAdminstGrp read(ChannelBuffer cb)
- throws BgpParseException {
- long isisAdminGrp;
- short lsAttrLength = cb.readShort();
-
- if ((lsAttrLength != ISIS_ADMIN_DATA_LEN)
- || (cb.readableBytes() < lsAttrLength)) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- lsAttrLength);
- }
-
- isisAdminGrp = cb.readUnsignedInt();
-
- return BgpLinkAttrIsIsAdminstGrp.of(isisAdminGrp);
- }
-
- /**
- * Link attributes of ISIS administrative group area.
- *
- * @return long value of the administrative group area
- */
- public long linkAttrIsIsAdminGrp() {
- return isisAdminGrp;
- }
-
- @Override
- public short getType() {
- return ATTRLINK_PROTECTIONTYPE;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(isisAdminGrp);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpLinkAttrIsIsAdminstGrp) {
- BgpLinkAttrIsIsAdminstGrp other = (BgpLinkAttrIsIsAdminstGrp) obj;
- return Objects.equals(isisAdminGrp, other.isisAdminGrp);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- // TODO This will be implemented in the next version
- return 0;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("isisAdminGrp", isisAdminGrp).toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrMaxLinkBandwidth.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrMaxLinkBandwidth.java
deleted file mode 100644
index 2711ca94..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrMaxLinkBandwidth.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types.attr;
-
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implements BGP attribute Max Link bandwidth.
- */
-public final class BgpLinkAttrMaxLinkBandwidth implements BgpValueType {
-
- protected static final Logger log = LoggerFactory
- .getLogger(BgpLinkAttrMaxLinkBandwidth.class);
-
- public static final int MAX_BANDWIDTH_LEN = 4;
- public static final int NO_OF_BITS = 8;
-
- public short type;
-
- /* ISIS administrative group */
- private final float maxBandwidth;
-
- /**
- * Constructor to initialize the values.
- *
- * @param maxBandwidth Maximum link bandwidth.
- * @param type TLV type
- */
- private BgpLinkAttrMaxLinkBandwidth(float maxBandwidth, short type) {
- this.maxBandwidth = maxBandwidth;
- this.type = type;
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param maxBandwidth Maximum link bandwidth.
- * @param type TLV type
- * @return object of BgpLinkAttrMaxLinkBandwidth
- */
- public static BgpLinkAttrMaxLinkBandwidth of(final float maxBandwidth,
- final short type) {
- return new BgpLinkAttrMaxLinkBandwidth(maxBandwidth, type);
- }
-
- /**
- * Reads the BGP link attributes of Maximum link bandwidth.
- *
- * @param cb Channel buffer
- * @param type type of this tlv
- * @return object of type BgpLinkAttrMaxLinkBandwidth
- * @throws BgpParseException while parsing BgpLinkAttrMaxLinkBandwidth
- */
- public static BgpLinkAttrMaxLinkBandwidth read(ChannelBuffer cb, short type)
- throws BgpParseException {
- float maxBandwidth;
- short lsAttrLength = cb.readShort();
-
- if ((lsAttrLength != MAX_BANDWIDTH_LEN)
- || (cb.readableBytes() < lsAttrLength)) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- lsAttrLength);
- }
-
- maxBandwidth = ieeeToFloatRead(cb.readInt()) * NO_OF_BITS;
-
- return BgpLinkAttrMaxLinkBandwidth.of(maxBandwidth, type);
- }
-
- /**
- * Returns Maximum link bandwidth.
- *
- * @return Maximum link bandwidth
- */
- float linkAttrMaxLinkBandwidth() {
- return maxBandwidth;
- }
-
- /**
- * Parse the IEEE floating point notation and returns it in normal float.
- *
- * @param iVal IEEE floating point number
- * @return normal float
- */
- static float ieeeToFloatRead(int iVal) {
- iVal = (((iVal & 0xFF) << 24) | ((iVal & 0xFF00) << 8)
- | ((iVal & 0xFF0000) >> 8) | ((iVal >> 24) & 0xFF));
-
- return Float.intBitsToFloat(iVal);
- }
-
- @Override
- public short getType() {
- return this.type;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(maxBandwidth);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpLinkAttrMaxLinkBandwidth) {
- BgpLinkAttrMaxLinkBandwidth other = (BgpLinkAttrMaxLinkBandwidth) obj;
- return Objects.equals(maxBandwidth, other.maxBandwidth);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- // TODO This will be implemented in the next version
- return 0;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("maxBandwidth", maxBandwidth).toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrMplsProtocolMask.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrMplsProtocolMask.java
deleted file mode 100644
index 2bf1a59d..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrMplsProtocolMask.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types.attr;
-
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implements BGP MPLS protocol mask attribute.
- */
-public class BgpLinkAttrMplsProtocolMask implements BgpValueType {
-
- protected static final Logger log = LoggerFactory
- .getLogger(BgpLinkAttrMplsProtocolMask.class);
-
- public static final int ATTRLINK_MPLSPROTOMASK = 1094;
- public static final int MASK_BYTE_LEN = 1;
-
- private final boolean bLdp;
- private final boolean bRsvpTe;
-
- public static final byte FIRST_BIT = (byte) 0x80;
- public static final byte SECOND_BIT = 0x40;
-
- /**
- * Constructor to initialize the values.
- *
- * @param bLdp boolean value true if LDP flag is available
- * @param bRsvpTe boolean value true if RSVP TE information is available
- */
- public BgpLinkAttrMplsProtocolMask(boolean bLdp, boolean bRsvpTe) {
- this.bLdp = bLdp;
- this.bRsvpTe = bRsvpTe;
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param bLdp boolean value true if LDP flag is available
- * @param bRsvpTe boolean value true if RSVP TE information is available
- * @return object of BgpLinkAttrMplsProtocolMask
- */
- public static BgpLinkAttrMplsProtocolMask of(final boolean bLdp,
- final boolean bRsvpTe) {
- return new BgpLinkAttrMplsProtocolMask(bLdp, bRsvpTe);
- }
-
- /**
- * Reads the BGP link attributes MPLS protocol mask.
- *
- * @param cb Channel buffer
- * @return object of type BgpLinkAttrMPLSProtocolMask
- * @throws BgpParseException while parsing BgpLinkAttrMplsProtocolMask
- */
- public static BgpLinkAttrMplsProtocolMask read(ChannelBuffer cb)
- throws BgpParseException {
- boolean bLdp = false;
- boolean bRsvpTe = false;
-
- short lsAttrLength = cb.readShort();
-
- if ((lsAttrLength != MASK_BYTE_LEN)
- || (cb.readableBytes() < lsAttrLength)) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- lsAttrLength);
- }
-
- byte flags = cb.readByte();
-
- bLdp = ((flags & (byte) FIRST_BIT) == FIRST_BIT);
- bRsvpTe = ((flags & (byte) SECOND_BIT) == SECOND_BIT);
-
- return BgpLinkAttrMplsProtocolMask.of(bLdp, bRsvpTe);
- }
-
- /**
- * Returns true if LDP bit is set.
- *
- * @return True if LDP information is set else false.
- */
- public boolean ldpBit() {
- return bLdp;
- }
-
- /**
- * Returns RSVP TE information.
- *
- * @return True if RSVP TE information is set else false.
- */
- public boolean rsvpBit() {
- return bRsvpTe;
- }
-
- @Override
- public short getType() {
- return ATTRLINK_MPLSPROTOMASK;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(bLdp, bRsvpTe);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpLinkAttrMplsProtocolMask) {
- BgpLinkAttrMplsProtocolMask other = (BgpLinkAttrMplsProtocolMask) obj;
- return Objects.equals(bLdp, other.bLdp)
- && Objects.equals(bRsvpTe, other.bRsvpTe);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- // TODO This will be implemented in the next version
- return 0;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("bLdp", bLdp).add("bRsvpTe", bRsvpTe).toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrName.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrName.java
deleted file mode 100644
index 856ffc36..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrName.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types.attr;
-
-import java.util.Arrays;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implements BGP link name attribute.
- */
-public class BgpLinkAttrName implements BgpValueType {
-
- protected static final Logger log = LoggerFactory
- .getLogger(BgpLinkAttrName.class);
-
- public static final int ATTRLINK_NAME = 1098;
-
- /* Link Name */
- private byte[] linkName;
-
- /**
- * Constructor to initialize the values.
- *
- * @param linkName link name
- */
- public BgpLinkAttrName(byte[] linkName) {
- this.linkName = Arrays.copyOf(linkName, linkName.length);
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param linkName Prefix Metric
- * @return object of BgpLinkAttrName
- */
- public static BgpLinkAttrName of(byte[] linkName) {
- return new BgpLinkAttrName(linkName);
- }
-
- /**
- * Reads the BGP link attributes Name.
- *
- * @param cb Channel buffer
- * @return object of type BgpLinkAttrName
- * @throws BgpParseException while parsing BgpLinkAttrName
- */
- public static BgpLinkAttrName read(ChannelBuffer cb)
- throws BgpParseException {
- byte[] linkName;
- short lsAttrLength = cb.readShort();
-
- if (cb.readableBytes() < lsAttrLength) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- lsAttrLength);
- }
-
- linkName = new byte[lsAttrLength];
- cb.readBytes(linkName);
- return BgpLinkAttrName.of(linkName);
- }
-
- /**
- * Returns the link name.
- *
- * @return link name
- */
- public byte[] attrLinkName() {
- return linkName;
- }
-
- @Override
- public short getType() {
- return ATTRLINK_NAME;
- }
-
- @Override
- public int hashCode() {
- return Arrays.hashCode(linkName);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpLinkAttrName) {
- BgpLinkAttrName other = (BgpLinkAttrName) obj;
- return Arrays.equals(linkName, other.linkName);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- // TODO This will be implemented in the next version
- return 0;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass()).omitNullValues()
- .add("linkName", linkName).toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrOpaqLnkAttrib.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrOpaqLnkAttrib.java
deleted file mode 100644
index 275b85be..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrOpaqLnkAttrib.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types.attr;
-
-import java.util.Arrays;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implements BGP link opaque attribute.
- */
-public final class BgpLinkAttrOpaqLnkAttrib implements BgpValueType {
-
- protected static final Logger log = LoggerFactory
- .getLogger(BgpLinkAttrOpaqLnkAttrib.class);
-
- public static final int ATTRNODE_OPAQUELNKATTRIB = 1097;
-
- /* Opaque Node Attribute */
- private final byte[] opaqueLinkAttribute;
-
- /**
- * Constructor to initialize the data.
- *
- * @param opaqueLinkAttribute opaque link attribute
- */
- private BgpLinkAttrOpaqLnkAttrib(byte[] opaqueLinkAttribute) {
- this.opaqueLinkAttribute = Arrays.copyOf(opaqueLinkAttribute,
- opaqueLinkAttribute.length);
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param opaqueLinkAttribute opaque link attribute
- * @return object of BgpLinkAttrOpaqLnkAttrib
- */
- public static BgpLinkAttrOpaqLnkAttrib of(final byte[] opaqueLinkAttribute) {
- return new BgpLinkAttrOpaqLnkAttrib(opaqueLinkAttribute);
- }
-
- /**
- * Reads the BGP link attributes Opaque link attribute.
- *
- * @param cb Channel buffer
- * @return object of type BgpLinkAttrOpaqLnkAttrib
- * @throws BgpParseException while parsing BgpLinkAttrOpaqLnkAttrib
- */
- public static BgpLinkAttrOpaqLnkAttrib read(ChannelBuffer cb)
- throws BgpParseException {
-
- byte[] opaqueLinkAttribute;
-
- short lsAttrLength = cb.readShort();
-
- if (cb.readableBytes() < lsAttrLength) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- lsAttrLength);
- }
-
- opaqueLinkAttribute = new byte[lsAttrLength];
- cb.readBytes(opaqueLinkAttribute);
-
- return BgpLinkAttrOpaqLnkAttrib.of(opaqueLinkAttribute);
- }
-
- /**
- * Returns the Opaque link attribute.
- *
- * @return byte array of opaque link attribute.
- */
- public byte[] attrOpaqueLnk() {
- return opaqueLinkAttribute;
- }
-
- @Override
- public short getType() {
- return ATTRNODE_OPAQUELNKATTRIB;
- }
-
- @Override
- public int hashCode() {
- return Arrays.hashCode(opaqueLinkAttribute);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpLinkAttrOpaqLnkAttrib) {
- BgpLinkAttrOpaqLnkAttrib other = (BgpLinkAttrOpaqLnkAttrib) obj;
- return Arrays
- .equals(opaqueLinkAttribute, other.opaqueLinkAttribute);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- // TODO This will be implemented in the next version
- return 0;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass()).omitNullValues()
- .add("opaqueLinkAttribute", opaqueLinkAttribute).toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrProtectionType.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrProtectionType.java
deleted file mode 100644
index 59011d97..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrProtectionType.java
+++ /dev/null
@@ -1,246 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types.attr;
-
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implements BGP link protection type attribute.
- */
-public final class BgpLinkAttrProtectionType implements BgpValueType {
-
- protected static final Logger log = LoggerFactory
- .getLogger(BgpLinkAttrProtectionType.class);
-
- public static final int ATTRLINK_PROTECTIONTYPE = 1093;
- public static final int LINK_PROTECTION_LEN = 2;
-
- public static final int EXTRA_TRAFFIC = 0x01;
- public static final int UNPROTECTED = 0x02;
- public static final int SHARED = 0x04;
- public static final int DEDICATED_ONE_ISTO_ONE = 0x08;
- public static final int DEDICATED_ONE_PLUS_ONE = 0x10;
- public static final int ENHANCED = 0x20;
-
- /* Link Protection type flags */
- private final boolean bExtraTraffic;
- private final boolean bUnprotected;
- private final boolean bShared;
- private final boolean bDedOneIstoOne;
- private final boolean bDedOnePlusOne;
- private final boolean bEnhanced;
-
- /**
- * Constructor to initialize the value.
- *
- * @param bExtraTraffic Extra Traffic
- * @param bUnprotected Unprotected
- * @param bShared Shared
- * @param bDedOneIstoOne Dedicated 1:1
- * @param bDedOnePlusOne Dedicated 1+1
- * @param bEnhanced Enhanced
- */
- private BgpLinkAttrProtectionType(boolean bExtraTraffic,
- boolean bUnprotected,
- boolean bShared, boolean bDedOneIstoOne,
- boolean bDedOnePlusOne, boolean bEnhanced) {
- this.bExtraTraffic = bExtraTraffic;
- this.bUnprotected = bUnprotected;
- this.bShared = bShared;
- this.bDedOneIstoOne = bDedOneIstoOne;
- this.bDedOnePlusOne = bDedOnePlusOne;
- this.bEnhanced = bEnhanced;
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param bExtraTraffic Extra Traffic
- * @param bUnprotected Unprotected
- * @param bShared Shared
- * @param bDedOneIstoOne Dedicated 1:1
- * @param bDedOnePlusOne Dedicated 1+1
- * @param bEnhanced Enhanced
- * @return object of BgpLinkAttrProtectionType
- */
- public static BgpLinkAttrProtectionType of(boolean bExtraTraffic,
- boolean bUnprotected,
- boolean bShared,
- boolean bDedOneIstoOne,
- boolean bDedOnePlusOne,
- boolean bEnhanced) {
- return new BgpLinkAttrProtectionType(bExtraTraffic, bUnprotected,
- bShared, bDedOneIstoOne,
- bDedOnePlusOne, bEnhanced);
- }
-
- /**
- * Reads the BGP link attributes protection type.
- *
- * @param cb Channel buffer
- * @return object of type BgpLinkAttrProtectionType
- * @throws BgpParseException while parsing BgpLinkAttrProtectionType
- */
- public static BgpLinkAttrProtectionType read(ChannelBuffer cb)
- throws BgpParseException {
- short linkProtectionType;
- byte higherByte;
- short lsAttrLength = cb.readShort();
-
- boolean bExtraTraffic;
- boolean bUnprotected;
- boolean bShared;
- boolean bDedOneIstoOne;
- boolean bDedOnePlusOne;
- boolean bEnhanced;
-
- if ((lsAttrLength != LINK_PROTECTION_LEN)
- || (cb.readableBytes() < lsAttrLength)) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- lsAttrLength);
- }
-
- linkProtectionType = cb.readShort();
- higherByte = (byte) (linkProtectionType >> 8);
-
- bExtraTraffic = ((higherByte & (byte) EXTRA_TRAFFIC) == EXTRA_TRAFFIC);
- bUnprotected = ((higherByte & (byte) UNPROTECTED) == UNPROTECTED);
- bShared = ((higherByte & (byte) SHARED) == SHARED);
- bDedOneIstoOne = ((higherByte & (byte) DEDICATED_ONE_ISTO_ONE) == DEDICATED_ONE_ISTO_ONE);
- bDedOnePlusOne = ((higherByte & (byte) DEDICATED_ONE_PLUS_ONE) == DEDICATED_ONE_PLUS_ONE);
- bEnhanced = ((higherByte & (byte) ENHANCED) == ENHANCED);
-
- return BgpLinkAttrProtectionType.of(bExtraTraffic, bUnprotected,
- bShared, bDedOneIstoOne,
- bDedOnePlusOne, bEnhanced);
- }
-
- /**
- * Returns ExtraTraffic Bit.
- *
- * @return ExtraTraffic Bit
- */
- public boolean extraTraffic() {
- return bExtraTraffic;
- }
-
- /**
- * Returns Unprotected Bit.
- *
- * @return Unprotected Bit
- */
- public boolean unprotected() {
- return bUnprotected;
- }
-
- /**
- * Returns Shared Bit.
- *
- * @return Shared Bit
- */
- public boolean shared() {
- return bShared;
- }
-
- /**
- * Returns DedOneIstoOne Bit.
- *
- * @return DedOneIstoOne Bit
- */
- public boolean dedOneIstoOne() {
- return bDedOneIstoOne;
- }
-
- /**
- * Returns DedOnePlusOne Bit.
- *
- * @return DedOnePlusOne Bit
- */
- public boolean dedOnePlusOne() {
- return bDedOnePlusOne;
- }
-
- /**
- * Returns Enhanced Bit.
- *
- * @return Enhanced Bit
- */
- public boolean enhanced() {
- return bEnhanced;
- }
-
- @Override
- public short getType() {
- return ATTRLINK_PROTECTIONTYPE;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(bExtraTraffic, bUnprotected, bShared,
- bDedOneIstoOne, bDedOnePlusOne, bEnhanced);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpLinkAttrProtectionType) {
- BgpLinkAttrProtectionType other = (BgpLinkAttrProtectionType) obj;
- return Objects.equals(bExtraTraffic, other.bExtraTraffic)
- && Objects.equals(bUnprotected, other.bUnprotected)
- && Objects.equals(bShared, other.bShared)
- && Objects.equals(bDedOneIstoOne, other.bDedOneIstoOne)
- && Objects.equals(bDedOnePlusOne, other.bDedOnePlusOne)
- && Objects.equals(bEnhanced, other.bEnhanced);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- // TODO This will be implemented in the next version
- return 0;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("bExtraTraffic", bExtraTraffic)
- .add("bUnprotected", bUnprotected).add("bShared", bShared)
- .add("bDedOneIstoOne", bDedOneIstoOne)
- .add("bDedOnePlusOne", bDedOnePlusOne)
- .add("bEnhanced", bEnhanced).toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrSrlg.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrSrlg.java
deleted file mode 100644
index 4a6f23f9..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrSrlg.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types.attr;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.util.Validation;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implements BGP link Shared Risk Link Group attribute.
- */
-public class BgpLinkAttrSrlg implements BgpValueType {
-
- public static final short ATTRNODE_SRLG = 1097;
-
- /* Shared Risk Link Group */
- private List<Integer> sRlg = new ArrayList<Integer>();
-
- /**
- * Constructor to initialize the date.
- *
- * @param sRlg Shared Risk link group data
- */
- public BgpLinkAttrSrlg(List<Integer> sRlg) {
- this.sRlg = sRlg;
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param sRlg Shared Risk link group data
- * @return object of BgpLinkAttrSrlg
- */
- public static BgpLinkAttrSrlg of(ArrayList<Integer> sRlg) {
- return new BgpLinkAttrSrlg(sRlg);
- }
-
- /**
- * Reads the BGP link attributes Shared Risk link group data.
- *
- * @param cb Channel buffer
- * @return object of type BgpLinkAttrSrlg
- * @throws BgpParseException while parsing BgpLinkAttrSrlg
- */
- public static BgpLinkAttrSrlg read(ChannelBuffer cb)
- throws BgpParseException {
- int tempSrlg;
- ArrayList<Integer> sRlg = new ArrayList<Integer>();
-
- short lsAttrLength = cb.readShort();
- int len = lsAttrLength / Integer.SIZE; // each element is of 4 octets
-
- if (cb.readableBytes() < lsAttrLength) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- lsAttrLength);
- }
-
- for (int i = 0; i < len; i++) {
- tempSrlg = cb.readInt();
- sRlg.add(new Integer(tempSrlg));
- }
-
- return BgpLinkAttrSrlg.of(sRlg);
- }
-
- /**
- * Returns the Shared Risk link group data.
- *
- * @return array of Shared Risk link group data
- */
- public List<Integer> attrSrlg() {
- return sRlg;
- }
-
- @Override
- public short getType() {
- return ATTRNODE_SRLG;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(sRlg);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpLinkAttrSrlg) {
- BgpLinkAttrSrlg other = (BgpLinkAttrSrlg) obj;
- return Objects.equals(sRlg, other.sRlg);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- // TODO This will be implemented in the next version
- return 0;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass()).omitNullValues().add("sRlg", sRlg).toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrTeDefaultMetric.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrTeDefaultMetric.java
deleted file mode 100644
index 1ae7ecc5..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrTeDefaultMetric.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types.attr;
-
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implements BGP link state Default TE metric link attribute.
- */
-public class BgpLinkAttrTeDefaultMetric implements BgpValueType {
-
- protected static final Logger log = LoggerFactory
- .getLogger(BgpLinkAttrTeDefaultMetric.class);
-
- public static final int ATTRLINK_TEDEFAULTMETRIC = 1092;
- public static final int TE_DATA_LEN = 4;
-
- /* TE Default Metric */
- private int linkTeMetric;
-
- /**
- * Constructor to initialize the value.
- *
- * @param linkTeMetric TE default metric
- *
- */
- public BgpLinkAttrTeDefaultMetric(int linkTeMetric) {
- this.linkTeMetric = linkTeMetric;
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param linkTeMetric TE default metric
- * @return object of BgpLinkAttrTeDefaultMetric
- */
- public static BgpLinkAttrTeDefaultMetric of(final int linkTeMetric) {
- return new BgpLinkAttrTeDefaultMetric(linkTeMetric);
- }
-
- /**
- * Reads the BGP link attributes of TE default metric.
- *
- * @param cb Channel buffer
- * @return object of type BgpLinkAttrTeDefaultMetric
- * @throws BgpParseException while parsing BgpLinkAttrTeDefaultMetric
- */
- public static BgpLinkAttrTeDefaultMetric read(ChannelBuffer cb)
- throws BgpParseException {
- int linkTeMetric;
-
- short lsAttrLength = cb.readShort();
-
- if ((lsAttrLength != TE_DATA_LEN)
- || (cb.readableBytes() < lsAttrLength)) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- lsAttrLength);
- }
-
- linkTeMetric = cb.readInt();
-
- return new BgpLinkAttrTeDefaultMetric(linkTeMetric);
- }
-
- /**
- * Returns the TE default metrics.
- *
- * @return link default metric
- */
- public int attrLinkDefTeMetric() {
- return linkTeMetric;
- }
-
- @Override
- public short getType() {
- return ATTRLINK_TEDEFAULTMETRIC;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(linkTeMetric);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpLinkAttrTeDefaultMetric) {
- BgpLinkAttrTeDefaultMetric other = (BgpLinkAttrTeDefaultMetric) obj;
- return Objects.equals(linkTeMetric, other.linkTeMetric);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- // TODO This will be implemented in the next version
- return 0;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("linkTEMetric", linkTeMetric).toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrUnRsrvdLinkBandwidth.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrUnRsrvdLinkBandwidth.java
deleted file mode 100644
index c927eea5..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpLinkAttrUnRsrvdLinkBandwidth.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types.attr;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implements BGP unreserved bandwidth attribute.
- */
-public class BgpLinkAttrUnRsrvdLinkBandwidth implements BgpValueType {
-
- protected static final Logger log = LoggerFactory
- .getLogger(BgpLinkAttrUnRsrvdLinkBandwidth.class);
-
- public static final int MAX_BANDWIDTH_LEN = 4;
- public static final int NO_OF_BITS = 8;
- public static final int NO_OF_PRIORITY = 8;
-
- public short sType;
-
- /* ISIS administrative group */
- private List<Float> maxUnResBandwidth = new ArrayList<Float>();
-
- /**
- * Constructor to initialize the values.
- *
- * @param maxUnResBandwidth Maximum Unreserved bandwidth
- * @param sType returns the tag value
- */
- public BgpLinkAttrUnRsrvdLinkBandwidth(List<Float> maxUnResBandwidth,
- short sType) {
- this.maxUnResBandwidth = maxUnResBandwidth;
- this.sType = sType;
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param linkPfxMetric Prefix Metric
- * @param sType returns the tag value
- * @return object of BgpLinkAttrUnRsrvdLinkBandwidth
- */
- public static BgpLinkAttrUnRsrvdLinkBandwidth of(List<Float> linkPfxMetric, short sType) {
- return new BgpLinkAttrUnRsrvdLinkBandwidth(linkPfxMetric, sType);
- }
-
- /**
- * Reads the BGP link attributes of Maximum link bandwidth.
- *
- * @param cb Channel buffer
- * @return object of type BgpLinkAttrMaxLinkBandwidth
- * @throws BgpParseException while parsing BgpLinkAttrMaxLinkBandwidth
- */
- public static BgpLinkAttrUnRsrvdLinkBandwidth read(ChannelBuffer cb,
- short sType)
- throws BgpParseException {
- ArrayList<Float> maxUnResBandwidth = new ArrayList<Float>();
- float tmp;
- short lsAttrLength = cb.readShort();
-
- if ((lsAttrLength != MAX_BANDWIDTH_LEN * NO_OF_PRIORITY)
- || (cb.readableBytes() < lsAttrLength)) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- lsAttrLength);
- }
-
- for (int i = 0; i < NO_OF_PRIORITY; i++) {
- tmp = ieeeToFloatRead(cb.readInt()) * NO_OF_BITS;
- maxUnResBandwidth.add(new Float(tmp));
- }
-
- return BgpLinkAttrUnRsrvdLinkBandwidth.of(maxUnResBandwidth, sType);
- }
-
- /**
- * Returns maximum unreserved bandwidth.
- *
- * @return unreserved bandwidth.
- */
- public List<Float> getLinkAttrUnRsrvdLinkBandwidth() {
- return maxUnResBandwidth;
- }
-
- /**
- * Parse the IEEE floating point notation and returns it in normal float.
- *
- * @param iVal IEEE floating point number
- * @return normal float
- */
- static float ieeeToFloatRead(int iVal) {
- iVal = (((iVal & 0xFF) << 24) | ((iVal & 0xFF00) << 8)
- | ((iVal & 0xFF0000) >> 8) | ((iVal >> 24) & 0xFF));
-
- return Float.intBitsToFloat(iVal);
- }
-
- @Override
- public short getType() {
- return this.sType;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(maxUnResBandwidth);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpLinkAttrUnRsrvdLinkBandwidth) {
- BgpLinkAttrUnRsrvdLinkBandwidth other = (BgpLinkAttrUnRsrvdLinkBandwidth) obj;
- return Objects.equals(maxUnResBandwidth, other.maxUnResBandwidth);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- // TODO This will be implemented in the next version
- return 0;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass()).omitNullValues()
- .add("maxUnResBandwidth", maxUnResBandwidth).toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrExtRouteTag.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrExtRouteTag.java
deleted file mode 100644
index a2d7c57e..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrExtRouteTag.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types.attr;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implements BGP prefix route Extended tag attribute.
- */
-public class BgpPrefixAttrExtRouteTag implements BgpValueType {
-
- protected static final Logger log = LoggerFactory
- .getLogger(BgpPrefixAttrExtRouteTag.class);
-
- public static final int ATTR_PREFIX_EXTROUTETAG = 1154;
- public static final int ATTR_PREFIX_EXT_LEN = 8;
-
- /* Prefix Route Tag */
- private List<Long> pfxExtRouteTag = new ArrayList<Long>();
-
- /**
- * Constructor to initialize the values.
- *
- * @param pfxExtRouteTag Extended route tag
- */
- public BgpPrefixAttrExtRouteTag(List<Long> pfxExtRouteTag) {
- this.pfxExtRouteTag = checkNotNull(pfxExtRouteTag);
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param pfxExtRouteTag Prefix Metric
- * @return object of BgpPrefixAttrMetric
- */
- public static BgpPrefixAttrExtRouteTag of(ArrayList<Long> pfxExtRouteTag) {
- return new BgpPrefixAttrExtRouteTag(pfxExtRouteTag);
- }
-
- /**
- * Reads the Extended Tag.
- *
- * @param cb ChannelBuffer
- * @return object of BgpPrefixAttrExtRouteTag
- * @throws BgpParseException while parsing BgpPrefixAttrExtRouteTag
- */
- public static BgpPrefixAttrExtRouteTag read(ChannelBuffer cb)
- throws BgpParseException {
- ArrayList<Long> pfxExtRouteTag = new ArrayList<Long>();
- long temp;
-
- short lsAttrLength = cb.readShort();
- int len = lsAttrLength / ATTR_PREFIX_EXT_LEN;
-
- if (cb.readableBytes() < lsAttrLength) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- lsAttrLength);
- }
-
- for (int i = 0; i < len; i++) {
- temp = cb.readLong();
- pfxExtRouteTag.add(new Long(temp));
- }
-
- return new BgpPrefixAttrExtRouteTag(pfxExtRouteTag);
- }
-
- /**
- * Returns Extended route tag.
- *
- * @return route tag
- */
- public List<Long> pfxExtRouteTag() {
- return pfxExtRouteTag;
- }
-
- @Override
- public short getType() {
- return ATTR_PREFIX_EXTROUTETAG;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(pfxExtRouteTag);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpPrefixAttrExtRouteTag) {
- BgpPrefixAttrExtRouteTag other = (BgpPrefixAttrExtRouteTag) obj;
- return Objects.equals(pfxExtRouteTag, other.pfxExtRouteTag);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- // TODO This will be implemented in the next version
- return 0;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass()).omitNullValues()
- .add("pfxExtRouteTag", pfxExtRouteTag).toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrIgpFlags.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrIgpFlags.java
deleted file mode 100644
index 4e84191a..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrIgpFlags.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types.attr;
-
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implements BGP prefix IGP Flag attribute.
- */
-public final class BgpPrefixAttrIgpFlags implements BgpValueType {
-
- protected static final Logger log = LoggerFactory
- .getLogger(BgpPrefixAttrIgpFlags.class);
-
- public static final int ATTR_PREFIX_FLAGBIT = 1152;
- public static final int ATTR_PREFIX_FLAG_LEN = 1;
-
- public static final byte FIRST_BIT = (byte) 0x80;
- public static final byte SECOND_BIT = 0x40;
- public static final byte THIRD_BIT = 0x20;
- public static final byte FOURTH_BIT = 0x01;
-
- /* Prefix IGP flag bit TLV */
- private final boolean bisisUpDownBit;
- private final boolean bOspfNoUnicastBit;
- private final boolean bOspfLclAddrBit;
- private final boolean bOspfNSSABit;
-
- /**
- * Constructor to initialize the value.
- *
- * @param bisisUpDownBit IS-IS Up/Down Bit
- * @param bOspfNoUnicastBit OSPF no unicast Bit
- * @param bOspfLclAddrBit OSPF local address Bit
- * @param bOspfNSSABit OSPF propagate NSSA Bit
- */
- BgpPrefixAttrIgpFlags(boolean bisisUpDownBit,
- boolean bOspfNoUnicastBit,
- boolean bOspfLclAddrBit, boolean bOspfNSSABit) {
- this.bisisUpDownBit = bisisUpDownBit;
- this.bOspfNoUnicastBit = bOspfNoUnicastBit;
- this.bOspfLclAddrBit = bOspfLclAddrBit;
- this.bOspfNSSABit = bOspfNSSABit;
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param bisisUpDownBit IS-IS Up/Down Bit
- * @param bOspfNoUnicastBit OSPF no unicast Bit
- * @param bOspfLclAddrBit OSPF local address Bit
- * @param bOspfNSSABit OSPF propagate NSSA Bit
- * @return object of BgpPrefixAttrIGPFlags
- */
- public static BgpPrefixAttrIgpFlags of(final boolean bisisUpDownBit,
- final boolean bOspfNoUnicastBit,
- final boolean bOspfLclAddrBit,
- final boolean bOspfNSSABit) {
- return new BgpPrefixAttrIgpFlags(bisisUpDownBit, bOspfNoUnicastBit,
- bOspfLclAddrBit, bOspfNSSABit);
- }
-
- /**
- * Reads the IGP Flags.
- *
- * @param cb ChannelBuffer
- * @return object of BgpPrefixAttrIGPFlags
- * @throws BgpParseException while parsing BgpPrefixAttrIGPFlags
- */
- public static BgpPrefixAttrIgpFlags read(ChannelBuffer cb)
- throws BgpParseException {
- boolean bisisUpDownBit = false;
- boolean bOspfNoUnicastBit = false;
- boolean bOspfLclAddrBit = false;
- boolean bOspfNSSABit = false;
-
- short lsAttrLength = cb.readShort();
-
- if ((lsAttrLength != ATTR_PREFIX_FLAG_LEN)
- || (cb.readableBytes() < lsAttrLength)) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- lsAttrLength);
- }
-
- byte nodeFlagBits = cb.readByte();
-
- bisisUpDownBit = ((nodeFlagBits & FIRST_BIT) == FIRST_BIT);
- bOspfNoUnicastBit = ((nodeFlagBits & SECOND_BIT) == SECOND_BIT);
- bOspfLclAddrBit = ((nodeFlagBits & THIRD_BIT) == THIRD_BIT);
- bOspfNSSABit = ((nodeFlagBits & FOURTH_BIT) == FOURTH_BIT);
-
- return BgpPrefixAttrIgpFlags.of(bisisUpDownBit, bOspfNoUnicastBit,
- bOspfLclAddrBit, bOspfNSSABit);
- }
-
- /**
- * Returns the IS-IS Up/Down Bit set or not.
- *
- * @return IS-IS Up/Down Bit set or not
- */
- public boolean isisUpDownBit() {
- return bisisUpDownBit;
- }
-
- /**
- * Returns the OSPF no unicast Bit set or not.
- *
- * @return OSPF no unicast Bit set or not
- */
- public boolean ospfNoUnicastBit() {
- return bOspfNoUnicastBit;
- }
-
- /**
- * Returns the OSPF local address Bit set or not.
- *
- * @return OSPF local address Bit set or not
- */
- public boolean ospfLclAddrBit() {
- return bOspfLclAddrBit;
- }
-
- /**
- * Returns the OSPF propagate NSSA Bit set or not.
- *
- * @return OSPF propagate NSSA Bit set or not
- */
- public boolean ospfNSSABit() {
- return bOspfNSSABit;
- }
-
- @Override
- public short getType() {
- return ATTR_PREFIX_FLAGBIT;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- // TODO This will be implemented in the next version
- return 0;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(bisisUpDownBit, bOspfNoUnicastBit, bOspfLclAddrBit,
- bOspfNSSABit);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpPrefixAttrIgpFlags) {
- BgpPrefixAttrIgpFlags other = (BgpPrefixAttrIgpFlags) obj;
- return Objects.equals(bisisUpDownBit, other.bisisUpDownBit)
- && Objects.equals(bOspfNoUnicastBit,
- other.bOspfNoUnicastBit)
- && Objects.equals(bOspfLclAddrBit, other.bOspfLclAddrBit)
- && Objects.equals(bOspfNSSABit, other.bOspfNSSABit);
- }
- return false;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("bisisUpDownBit", bisisUpDownBit)
- .add("bOspfNoUnicastBit", bOspfNoUnicastBit)
- .add("bOspfLclAddrBit", bOspfLclAddrBit)
- .add("bOspfNSSABit", bOspfNSSABit).toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrMetric.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrMetric.java
deleted file mode 100644
index 1886102c..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrMetric.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types.attr;
-
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implements BGP prefix metric attribute.
- */
-public class BgpPrefixAttrMetric implements BgpValueType {
-
- protected static final Logger log = LoggerFactory
- .getLogger(BgpPrefixAttrMetric.class);
-
- public static final int ATTR_PREFIX_METRIC = 1155;
- public static final int ATTR_PREFIX_LEN = 4;
-
- /* TE Default Metric */
- private final int linkPfxMetric;
-
- /**
- * Constructor to initialize value.
- *
- * @param linkPfxMetric Prefix Metric
- */
- public BgpPrefixAttrMetric(int linkPfxMetric) {
- this.linkPfxMetric = linkPfxMetric;
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param linkPfxMetric Prefix Metric
- * @return object of BgpPrefixAttrMetric
- */
- public static BgpPrefixAttrMetric of(final int linkPfxMetric) {
- return new BgpPrefixAttrMetric(linkPfxMetric);
- }
-
- /**
- * Reads the Prefix Metric.
- *
- * @param cb ChannelBuffer
- * @return object of BgpPrefixAttrMetric
- * @throws BgpParseException while parsing BgpPrefixAttrMetric
- */
- public static BgpPrefixAttrMetric read(ChannelBuffer cb)
- throws BgpParseException {
- int linkPfxMetric;
-
- short lsAttrLength = cb.readShort(); // 4 Bytes
-
- if ((lsAttrLength != ATTR_PREFIX_LEN)
- || (cb.readableBytes() < lsAttrLength)) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- lsAttrLength);
- }
-
- linkPfxMetric = cb.readInt();
-
- return BgpPrefixAttrMetric.of(linkPfxMetric);
- }
-
- /**
- * Returns the Prefix Metric.
- *
- * @return Prefix Metric
- */
- public int attrPfxMetric() {
- return linkPfxMetric;
- }
-
- @Override
- public short getType() {
- return ATTR_PREFIX_METRIC;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(linkPfxMetric);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpPrefixAttrMetric) {
- BgpPrefixAttrMetric other = (BgpPrefixAttrMetric) obj;
- return Objects.equals(linkPfxMetric, other.linkPfxMetric);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- // TODO This will be implemented in the next version
- return 0;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("linkPfxMetric", linkPfxMetric).toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrOpaqueData.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrOpaqueData.java
deleted file mode 100644
index 6f7a74bb..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrOpaqueData.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types.attr;
-
-import java.util.Arrays;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implements BGP prefix opaque data attribute.
- */
-public final class BgpPrefixAttrOpaqueData implements BgpValueType {
-
- protected static final Logger log = LoggerFactory
- .getLogger(BgpPrefixAttrOpaqueData.class);
-
- public static final int ATTR_PREFIX_OPAQUEDATA = 1157;
-
- /* Opaque Node Attribute */
- private final byte[] opaquePrefixAttribute;
-
- /**
- * Constructor to initialize the values.
- *
- * @param opaquePrefixAttribute opaque prefix data
- */
- public BgpPrefixAttrOpaqueData(byte[] opaquePrefixAttribute) {
- this.opaquePrefixAttribute = Arrays
- .copyOf(opaquePrefixAttribute, opaquePrefixAttribute.length);
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param opaquePrefixAttribute opaque prefix data
- * @return object of BgpPrefixAttrOpaqueData
- */
- public static BgpPrefixAttrOpaqueData of(final byte[] opaquePrefixAttribute) {
- return new BgpPrefixAttrOpaqueData(opaquePrefixAttribute);
- }
-
- /**
- * Reads the Opaque Prefix Attribute.
- *
- * @param cb ChannelBuffer
- * @return object of BgpPrefixAttrOpaqueData
- * @throws BgpParseException while parsing BgpPrefixAttrOpaqueData
- */
- public static BgpPrefixAttrOpaqueData read(ChannelBuffer cb)
- throws BgpParseException {
- byte[] opaquePrefixAttribute;
-
- short lsAttrLength = cb.readShort();
- opaquePrefixAttribute = new byte[lsAttrLength];
-
- if (cb.readableBytes() < lsAttrLength) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- lsAttrLength);
- }
-
- cb.readBytes(opaquePrefixAttribute);
-
- return BgpPrefixAttrOpaqueData.of(opaquePrefixAttribute);
- }
-
- /**
- * Returns the Opaque prefix attribute name.
- *
- * @return opaque prefix name
- */
- public byte[] getOpaquePrefixAttribute() {
- return opaquePrefixAttribute;
- }
-
- @Override
- public short getType() {
- return ATTR_PREFIX_OPAQUEDATA;
- }
-
- @Override
- public int hashCode() {
- return Arrays.hashCode(opaquePrefixAttribute);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpPrefixAttrOpaqueData) {
- BgpPrefixAttrOpaqueData other = (BgpPrefixAttrOpaqueData) obj;
- return Arrays.equals(opaquePrefixAttribute,
- other.opaquePrefixAttribute);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- // TODO This will be implemented in the next version
- return 0;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass()).omitNullValues()
- .add("opaquePrefixAttribute", getOpaquePrefixAttribute())
- .toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrOspfFwdAddr.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrOspfFwdAddr.java
deleted file mode 100644
index 4e9db1ee..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrOspfFwdAddr.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types.attr;
-
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onlab.packet.Ip4Address;
-import org.onlab.packet.Ip6Address;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implements BGP prefix OSPF Forwarding address attribute.
- */
-public class BgpPrefixAttrOspfFwdAddr implements BgpValueType {
-
- protected static final Logger log = LoggerFactory
- .getLogger(BgpPrefixAttrOspfFwdAddr.class);
-
- public static final int ATTR_PREFIX_OSPFFWDADDR = 1156;
- public static final int IPV4_LEN = 4;
- public static final int IPV6_LEN = 16;
-
- /* OSPF Forwarding Address */
- private final short lsAttrLength;
- private final Ip4Address ip4RouterId;
- private final Ip6Address ip6RouterId;
-
- /**
- * Constructor to initialize the value.
- *
- * @param lsAttrLength length of the IP address
- * @param ip4RouterId Valid IPV4 address if length is 4 else null
- * @param ip6RouterId Valid IPV6 address if length is 16 else null
- */
- public BgpPrefixAttrOspfFwdAddr(short lsAttrLength, Ip4Address ip4RouterId,
- Ip6Address ip6RouterId) {
- this.lsAttrLength = lsAttrLength;
- this.ip4RouterId = ip4RouterId;
- this.ip6RouterId = ip6RouterId;
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param lsAttrLength length of the IP address
- * @param ip4RouterId Valid IPV4 address if length is 4 else null
- * @param ip6RouterId Valid IPV6 address if length is 16 else null
- * @return object of BgpPrefixAttrOspfFwdAddr
- */
- public static BgpPrefixAttrOspfFwdAddr of(final short lsAttrLength,
- final Ip4Address ip4RouterId,
- final Ip6Address ip6RouterId) {
- return new BgpPrefixAttrOspfFwdAddr(lsAttrLength, ip4RouterId,
- ip6RouterId);
- }
-
- /**
- * Reads the OSPF Forwarding Address.
- *
- * @param cb ChannelBuffer
- * @return object of BgpPrefixAttrOSPFFwdAddr
- * @throws BgpParseException while parsing BgpPrefixAttrOspfFwdAddr
- */
- public static BgpPrefixAttrOspfFwdAddr read(ChannelBuffer cb)
- throws BgpParseException {
- short lsAttrLength;
- byte[] ipBytes;
- Ip4Address ip4RouterId = null;
- Ip6Address ip6RouterId = null;
-
- lsAttrLength = cb.readShort();
- ipBytes = new byte[lsAttrLength];
-
- if ((cb.readableBytes() < lsAttrLength)) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- lsAttrLength);
- }
-
- cb.readBytes(ipBytes);
-
- if (IPV4_LEN == lsAttrLength) {
- ip4RouterId = Ip4Address.valueOf(ipBytes);
- } else if (IPV6_LEN == lsAttrLength) {
- ip6RouterId = Ip6Address.valueOf(ipBytes);
- }
-
- return BgpPrefixAttrOspfFwdAddr.of(lsAttrLength, ip4RouterId,
- ip6RouterId);
- }
-
- /**
- * Returns IPV4 Address of OSPF forwarding address.
- *
- * @return IPV4 address
- */
- public Ip4Address ospfv4FwdAddr() {
- return ip4RouterId;
- }
-
- /**
- * Returns IPV6 Address of OSPF forwarding address.
- *
- * @return IPV6 address
- */
- public Ip6Address ospfv6FwdAddr() {
- return ip6RouterId;
- }
-
- /**
- * Returns OSPF forwarding address length.
- *
- * @return length of the ip address
- */
- public short ospfFwdAddrLen() {
- return lsAttrLength;
- }
-
- @Override
- public short getType() {
- return ATTR_PREFIX_OSPFFWDADDR;
- }
-
- @Override
- public int hashCode() {
- if (IPV4_LEN == lsAttrLength) {
- return Objects.hash(ip4RouterId);
- } else {
- return Objects.hash(ip6RouterId);
- }
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpPrefixAttrOspfFwdAddr) {
- BgpPrefixAttrOspfFwdAddr other = (BgpPrefixAttrOspfFwdAddr) obj;
- if (IPV4_LEN == lsAttrLength) {
- return Objects.equals(ip4RouterId, other.ip4RouterId);
- } else {
- return Objects.equals(ip6RouterId, other.ip6RouterId);
- }
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- // TODO This will be implemented in the next version
- return 0;
- }
-
- @Override
- public String toString() {
- if (IPV4_LEN == lsAttrLength) {
- return MoreObjects.toStringHelper(getClass()).omitNullValues()
- .add("ip4RouterId", ip4RouterId).toString();
- } else {
- return MoreObjects.toStringHelper(getClass()).omitNullValues()
- .add("ip6RouterId", ip6RouterId).toString();
- }
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrRouteTag.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrRouteTag.java
deleted file mode 100644
index 3894c003..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpPrefixAttrRouteTag.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.types.attr;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.types.BgpErrorType;
-import org.onosproject.bgpio.types.BgpValueType;
-import org.onosproject.bgpio.util.Validation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implements BGP prefix route tag attribute.
- */
-public class BgpPrefixAttrRouteTag implements BgpValueType {
-
- protected static final Logger log = LoggerFactory
- .getLogger(BgpPrefixAttrRouteTag.class);
-
- public static final short ATTR_PREFIX_ROUTETAG = 1153;
-
- /* Prefix Route Tag */
- private List<Integer> pfxRouteTag = new ArrayList<Integer>();
-
- /**
- * Constructor to initialize the values.
- *
- * @param pfxRouteTag prefix route tag
- */
- public BgpPrefixAttrRouteTag(List<Integer> pfxRouteTag) {
- this.pfxRouteTag = pfxRouteTag;
- }
-
- /**
- * Returns object of this class with specified values.
- *
- * @param pfxRouteTag Prefix Metric
- * @return object of BgpPrefixAttrRouteTag
- */
- public static BgpPrefixAttrRouteTag of(ArrayList<Integer> pfxRouteTag) {
- return new BgpPrefixAttrRouteTag(pfxRouteTag);
- }
-
- /**
- * Reads the Route Tag.
- *
- * @param cb ChannelBuffer
- * @return object of BgpPrefixAttrRouteTag
- * @throws BgpParseException while parsing BgpPrefixAttrRouteTag
- */
- public static BgpPrefixAttrRouteTag read(ChannelBuffer cb)
- throws BgpParseException {
- int tmp;
- ArrayList<Integer> pfxRouteTag = new ArrayList<Integer>();
-
- short lsAttrLength = cb.readShort();
- int len = lsAttrLength / Integer.SIZE;
-
- if (cb.readableBytes() < lsAttrLength) {
- Validation.validateLen(BgpErrorType.UPDATE_MESSAGE_ERROR,
- BgpErrorType.ATTRIBUTE_LENGTH_ERROR,
- lsAttrLength);
- }
-
- for (int i = 0; i < len; i++) {
- tmp = cb.readInt();
- pfxRouteTag.add(new Integer(tmp));
- }
-
- return BgpPrefixAttrRouteTag.of(pfxRouteTag);
- }
-
- /**
- * Returns the prefix route tag.
- *
- * @return route tag
- */
- public List<Integer> getPfxRouteTag() {
- return pfxRouteTag;
- }
-
- @Override
- public short getType() {
- return ATTR_PREFIX_ROUTETAG;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(pfxRouteTag);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj instanceof BgpPrefixAttrRouteTag) {
- BgpPrefixAttrRouteTag other = (BgpPrefixAttrRouteTag) obj;
- return Objects.equals(pfxRouteTag, other.pfxRouteTag);
- }
- return false;
- }
-
- @Override
- public int write(ChannelBuffer cb) {
- // TODO This will be implemented in the next version
- return 0;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass()).omitNullValues()
- .add("pfxRouteTag", pfxRouteTag).toString();
- }
-
- @Override
- public int compareTo(Object o) {
- // TODO Auto-generated method stub
- return 0;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/package-info.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/package-info.java
deleted file mode 100755
index e2a74dbc..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Implementation of BGP Link state attribute Tlvs.
- */
-package org.onosproject.bgpio.types.attr;
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/package-info.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/package-info.java
deleted file mode 100755
index 1f2ed95e..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Implementation of Tlvs, Attributes and Descriptors.
- */
-package org.onosproject.bgpio.types;
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/util/Constants.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/util/Constants.java
deleted file mode 100644
index 9649bf16..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/util/Constants.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.bgpio.util;
-
-/**
- * Provides Constants usage for BGP.
- */
-public final class Constants {
- private Constants() {
- }
-
- public static final short TYPE_AND_LEN = 4;
- public static final short TYPE_AND_LEN_AS_SHORT = 4;
- public static final short TYPE_AND_LEN_AS_BYTE = 3;
- public static final int ISIS_LEVELONE = 1;
- public static final int ISIS_LEVELTWO = 2;
- public static final int OSPFV2 = 3;
- public static final int DIRECT = 4;
- public static final int STATIC_CONFIGURATION = 5;
- public static final int OSPFV3 = 6;
- public static final short AFI_VALUE = 16388;
- public static final byte VPN_SAFI_VALUE = (byte) 0x80;
- public static final byte SAFI_VALUE = 71;
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/util/UnSupportedAttribute.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/util/UnSupportedAttribute.java
deleted file mode 100644
index 663b1e9a..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/util/UnSupportedAttribute.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.util;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Provides methods to handle UnSupportedAttribute.
- */
-public final class UnSupportedAttribute {
- protected static final Logger log = LoggerFactory.getLogger(UnSupportedAttribute.class);
-
- private UnSupportedAttribute() {
- }
-
- /**
- * Reads channel buffer parses attribute header and skips specified length.
- *
- * @param cb channelBuffer
- */
- public static void read(ChannelBuffer cb) {
- Validation parseFlags = Validation.parseAttributeHeader(cb);
- cb.skipBytes(parseFlags.getLength());
- }
-
- /**
- * Skip specified bytes in channel buffer.
- *
- * @param cb channelBuffer
- * @param length to be skipped
- */
- public static void skipBytes(ChannelBuffer cb, short length) {
- cb.skipBytes(length);
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/util/Validation.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/util/Validation.java
deleted file mode 100644
index 23dd1a75..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/util/Validation.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.bgpio.util;
-
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.Arrays;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.jboss.netty.buffer.ChannelBuffers;
-import org.onlab.packet.IpAddress;
-import org.onlab.packet.IpPrefix;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.primitives.Ints;
-
-/**
- * Provides methods to parse attribute header, validate length and type.
- */
-public class Validation {
- private static final Logger log = LoggerFactory.getLogger(Validation.class);
- public static final byte FIRST_BIT = (byte) 0x80;
- public static final byte SECOND_BIT = 0x40;
- public static final byte THIRD_BIT = 0x20;
- public static final byte FOURTH_BIT = (byte) 0x10;
- public static final byte IPV4_SIZE = 4;
- private boolean firstBit;
- private boolean secondBit;
- private boolean thirdBit;
- private boolean fourthBit;
- private int len;
- private boolean isShort;
-
- /**
- * Constructor to initialize parameter.
- *
- * @param firstBit in AttributeFlags
- * @param secondBit in AttributeFlags
- * @param thirdBit in AttributeFlags
- * @param fourthBit in AttributeFlags
- * @param len length
- * @param isShort true if length is read as short otherwise false
- */
- Validation(boolean firstBit, boolean secondBit, boolean thirdBit, boolean fourthBit, int len, boolean isShort) {
- this.firstBit = firstBit;
- this.secondBit = secondBit;
- this.thirdBit = thirdBit;
- this.fourthBit = fourthBit;
- this.len = len;
- this.isShort = isShort;
- }
-
- /**
- * Parses attribute Header.
- *
- * @param cb ChannelBuffer
- * @return object of Validation
- */
- public static Validation parseAttributeHeader(ChannelBuffer cb) {
-
- boolean firstBit;
- boolean secondBit;
- boolean thirdBit;
- boolean fourthBit;
- boolean isShort;
- byte flags = cb.readByte();
- byte typeCode = cb.readByte();
- byte temp = flags;
- //first Bit : Optional (1) or well-known (0)
- firstBit = ((temp & FIRST_BIT) == FIRST_BIT);
- //second Bit : Transitive (1) or non-Transitive (0)
- secondBit = ((temp & SECOND_BIT) == SECOND_BIT);
- //third Bit : partial (1) or complete (0)
- thirdBit = ((temp & THIRD_BIT) == THIRD_BIT);
- //forth Bit(Extended Length bit) : Attribute Length is 1 octects (0) or 2 octects (1)
- fourthBit = ((temp & FOURTH_BIT) == FOURTH_BIT);
- int len;
- if (fourthBit) {
- isShort = true;
- short length = cb.readShort();
- len = length;
- } else {
- isShort = false;
- byte length = cb.readByte();
- len = length;
- }
- return new Validation(firstBit, secondBit, thirdBit, fourthBit, len, isShort);
- }
-
- /**
- * Throws exception if length is not correct.
- *
- * @param errorCode Error code
- * @param subErrCode Sub Error Code
- * @param length erroneous length
- * @throws BgpParseException for erroneous length
- */
- public static void validateLen(byte errorCode, byte subErrCode, int length) throws BgpParseException {
- byte[] errLen = Ints.toByteArray(length);
- ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
- buffer.writeBytes(errLen);
- throw new BgpParseException(errorCode, subErrCode, buffer);
- }
-
- /**
- * Throws exception if type is not correct.
- *
- * @param errorCode Error code
- * @param subErrCode Sub Error Code
- * @param type erroneous type
- * @throws BgpParseException for erroneous type
- */
- public static void validateType(byte errorCode, byte subErrCode, int type) throws BgpParseException {
- byte[] errType = Ints.toByteArray(type);
- ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
- buffer.writeBytes(errType);
- throw new BgpParseException(errorCode, subErrCode, buffer);
- }
-
- /**
- * Convert byte array to InetAddress.
- *
- * @param length of IpAddress
- * @param cb channelBuffer
- * @return InetAddress
- */
- public static InetAddress toInetAddress(int length, ChannelBuffer cb) {
- byte[] address = new byte[length];
- cb.readBytes(address, 0, length);
- InetAddress ipAddress = null;
- try {
- ipAddress = InetAddress.getByAddress(address);
- } catch (UnknownHostException e) {
- log.info("InetAddress convertion failed");
- }
- return ipAddress;
- }
-
- /**
- * Returns first bit in type flags.
- *
- * @return first bit in type flags
- */
- public boolean getFirstBit() {
- return this.firstBit;
- }
-
- /**
- * Returns second bit in type flags.
- *
- * @return second bit in type flags
- */
- public boolean getSecondBit() {
- return this.secondBit;
- }
-
- /**
- * Returns third bit in type flags.
- *
- * @return third bit in type flags
- */
- public boolean getThirdBit() {
- return this.thirdBit;
- }
-
- /**
- * Returns fourth bit in type flags.
- *
- * @return fourth bit in type flags
- */
- public boolean getFourthBit() {
- return this.fourthBit;
- }
-
- /**
- * Returns attribute length.
- *
- * @return attribute length
- */
- public int getLength() {
- return this.len;
- }
-
- /**
- * Returns whether attribute length read in short or byte.
- *
- * @return whether attribute length read in short or byte
- */
- public boolean isShort() {
- return this.isShort;
- }
-
- /**
- * Converts byte array of prefix value to IpPrefix object.
- *
- * @param value byte array of prefix value
- * @param length prefix length in bits
- * @return object of IpPrefix
- */
- public static IpPrefix bytesToPrefix(byte[] value, int length) {
- if (value.length != IPV4_SIZE) {
- value = Arrays.copyOf(value, IPV4_SIZE);
- }
- IpPrefix ipPrefix = IpPrefix.valueOf(IpAddress.Version.INET, value, length);
- return ipPrefix;
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/util/package-info.java b/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/util/package-info.java
deleted file mode 100755
index 3229d89a..00000000
--- a/framework/src/onos/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/util/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Implementation of BGP utility functions.
- */
-package org.onosproject.bgpio.util;