aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel')
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultOpticalTunnelEndPoint.java131
-rwxr-xr-xframework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultTunnel.java178
-rwxr-xr-xframework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultTunnelDescription.java130
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultTunnelStatistics.java169
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DomainTunnelId.java92
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/IpTunnelEndPoint.java80
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/NetworkTunnelId.java89
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/OpticalLogicId.java81
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/OpticalTunnelEndPoint.java90
-rwxr-xr-xframework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/Tunnel.java155
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelAdminService.java65
-rwxr-xr-xframework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelDescription.java87
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelEndPoint.java28
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelEndPointFormatter.java50
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelEvent.java70
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelId.java89
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelListener.java27
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelName.java79
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelProvider.java115
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelProviderRegistry.java28
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelProviderService.java58
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelService.java201
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelStatistics.java64
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelStore.java229
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelStoreDelegate.java27
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelSubscription.java156
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/package-info.java20
27 files changed, 0 insertions, 2588 deletions
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultOpticalTunnelEndPoint.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultOpticalTunnelEndPoint.java
deleted file mode 100644
index ae0f5148..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultOpticalTunnelEndPoint.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.incubator.net.tunnel;
-
-import static com.google.common.base.MoreObjects.toStringHelper;
-
-import java.util.Objects;
-import java.util.Optional;
-
-import com.google.common.annotations.Beta;
-import org.onosproject.net.AbstractModel;
-import org.onosproject.net.Annotations;
-import org.onosproject.net.ElementId;
-import org.onosproject.net.PortNumber;
-import org.onosproject.net.provider.ProviderId;
-
-/**
- * Default optical tunnel point model implementation.
- */
-@Beta
-public class DefaultOpticalTunnelEndPoint extends AbstractModel implements OpticalTunnelEndPoint {
- private final Optional<ElementId> elementId;
- private final Optional<PortNumber> portNumber;
- private final Optional<OpticalTunnelEndPoint> parentPoint;
- private final Type type;
- private final OpticalLogicId id;
- private final boolean isGlobal;
-
- /**
- * Creates a optical tunnel point attributed to the specified provider (may be null).
- * if provider is null, which means the optical tunnel point is not managed by the SB.
- *
- * @param providerId tunnelProvider Id
- * @param elementId parent network element
- * @param number port number
- * @param parentPoint parent port or parent label
- * @param type port type
- * @param id LabelId
- * @param isGlobal indicator whether the label is global significant or not
- * @param annotations optional key/value annotations
- */
- public DefaultOpticalTunnelEndPoint(ProviderId providerId, Optional<ElementId> elementId,
- Optional<PortNumber> number, Optional<OpticalTunnelEndPoint> parentPoint,
- Type type, OpticalLogicId id, boolean isGlobal, Annotations... annotations) {
- super(providerId, annotations);
- this.elementId = elementId;
- this.portNumber = number;
- this.parentPoint = parentPoint;
- this.id = id;
- this.type = type;
- this.isGlobal = isGlobal;
- }
-
- @Override
- public OpticalLogicId id() {
- return id;
- }
-
- @Override
- public Optional<ElementId> elementId() {
- return elementId;
- }
-
- @Override
- public Optional<PortNumber> portNumber() {
- return portNumber;
- }
-
- @Override
- public Optional<OpticalTunnelEndPoint> parentPoint() {
- return parentPoint;
- }
-
- @Override
- public boolean isGlobal() {
- return isGlobal;
- }
-
- @Override
- public Type type() {
- return type;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(elementId, portNumber, parentPoint, id);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof DefaultOpticalTunnelEndPoint) {
- final DefaultOpticalTunnelEndPoint other = (DefaultOpticalTunnelEndPoint) obj;
- return Objects.equals(this.id, other.id) &&
- Objects.equals(this.type, other.type) &&
- Objects.equals(this.isGlobal, other.isGlobal) &&
- Objects.equals(this.elementId, other.elementId) &&
- Objects.equals(this.portNumber, other.portNumber) &&
- Objects.equals(this.parentPoint, other.parentPoint);
- }
- return false;
- }
-
- @Override
- public String toString() {
- return toStringHelper(this)
- .add("elementId", elementId)
- .add("portNumber", portNumber)
- .add("parentPoint", parentPoint)
- .add("type", type)
- .add("id", id)
- .add("isGlobal", isGlobal)
- .toString();
- }
-
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultTunnel.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultTunnel.java
deleted file mode 100755
index 86a790f4..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultTunnel.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Copyright 2014-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.incubator.net.tunnel;
-
-import static com.google.common.base.MoreObjects.toStringHelper;
-
-import java.util.Objects;
-
-import com.google.common.annotations.Beta;
-import org.onosproject.core.DefaultGroupId;
-import org.onosproject.net.AbstractModel;
-import org.onosproject.net.Annotations;
-import org.onosproject.net.NetworkResource;
-import org.onosproject.net.Path;
-import org.onosproject.net.provider.ProviderId;
-
-/**
- * The default implementation of an network tunnel. supports for creating a
- * tunnel by connect point ,IP address, MAC address, device and so on.
- */
-@Beta
-public final class DefaultTunnel extends AbstractModel implements Tunnel {
-
- private final TunnelEndPoint src; // a source point of tunnel.
- private final TunnelEndPoint dst; // a destination point of tunnel.
- private final State state;
- private final Type type; // tunnel type
- private final DefaultGroupId groupId; // represent for a group flow table
- // which a tunnel match up
- // tunnel producer
- private final TunnelId tunnelId; // tunnel identify generated by
- // ONOS as primary key
- private final TunnelName tunnelName; // name of a tunnel
- private final Path path;
-
- /**
- * Creates an active infrastructure tunnel using the supplied information.
- *
- * @param producerName provider identity
- * @param src tunnel source
- * @param dst tunnel destination
- * @param type tunnel type
- * @param groupId groupId
- * @param tunnelId tunnelId
- * @param tunnelName tunnel name
- * @param path the path of tunnel
- * @param annotations optional key/value annotations
- */
- public DefaultTunnel(ProviderId producerName, TunnelEndPoint src,
- TunnelEndPoint dst, Type type, DefaultGroupId groupId,
- TunnelId tunnelId, TunnelName tunnelName, Path path,
- Annotations... annotations) {
- this(producerName, src, dst, type, Tunnel.State.ACTIVE, groupId,
- tunnelId, tunnelName, path, annotations);
- }
-
- /**
- * Creates an tunnel using the supplied information.
- *
- * @param producerName provider identity
- * @param src tunnel source
- * @param dst tunnel destination
- * @param type tunnel type
- * @param state tunnel state
- * @param groupId groupId
- * @param tunnelId tunnelId
- * @param tunnelName tunnel name
- * @param path the path of tunnel
- * @param annotations optional key/value annotations
- */
- public DefaultTunnel(ProviderId producerName, TunnelEndPoint src,
- TunnelEndPoint dst, Type type, State state,
- DefaultGroupId groupId, TunnelId tunnelId,
- TunnelName tunnelName, Path path, Annotations... annotations) {
- super(producerName, annotations);
- this.src = src;
- this.dst = dst;
- this.type = type;
- this.state = state;
- this.groupId = groupId;
- this.tunnelId = tunnelId;
- this.tunnelName = tunnelName;
- this.path = path;
- }
-
- @Override
- public TunnelEndPoint src() {
- return src;
- }
-
- @Override
- public TunnelEndPoint dst() {
- return dst;
- }
-
- @Override
- public Type type() {
- return type;
- }
-
- @Override
- public State state() {
- return state;
- }
-
- @Override
- public NetworkResource resource() {
- return null;
- }
-
- @Override
- public TunnelId tunnelId() {
- return tunnelId;
- }
-
- @Override
- public DefaultGroupId groupId() {
- return groupId;
- }
-
- @Override
- public TunnelName tunnelName() {
- return tunnelName;
- }
-
-
- @Override
- public Path path() {
- return path;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(src, dst, type, groupId, tunnelId, tunnelName,
- state, path);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof DefaultTunnel) {
- final DefaultTunnel other = (DefaultTunnel) obj;
- return Objects.equals(this.src, other.src)
- && Objects.equals(this.dst, other.dst)
- && Objects.equals(this.type, other.type)
- && Objects.equals(this.groupId, other.groupId)
- && Objects.equals(this.tunnelId, other.tunnelId)
- && Objects.equals(this.tunnelName, other.tunnelName)
- && Objects.equals(this.state, other.state)
- && Objects.equals(this.path, other.path);
- }
- return false;
- }
-
- @Override
- public String toString() {
- return toStringHelper(this).add("src", src).add("dst", dst)
- .add("type", type).add("state", state).add("groupId", groupId)
- .add("producerTunnelId", tunnelId)
- .add("tunnelName", tunnelName)
- .add("path", path).toString();
- }
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultTunnelDescription.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultTunnelDescription.java
deleted file mode 100755
index 055934a0..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultTunnelDescription.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.incubator.net.tunnel;
-
-import com.google.common.annotations.Beta;
-import org.onosproject.core.DefaultGroupId;
-import org.onosproject.net.AbstractDescription;
-import org.onosproject.net.Path;
-import org.onosproject.net.SparseAnnotations;
-import org.onosproject.net.provider.ProviderId;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Default implementation of immutable tunnel description entity.
- */
-@Beta
-public class DefaultTunnelDescription extends AbstractDescription
- implements TunnelDescription {
-
- private final TunnelId tunnelId;
- private final TunnelEndPoint src;
- private final TunnelEndPoint dst;
- private final Tunnel.Type type;
- private final DefaultGroupId groupId; // represent for a group flow table
- // which a tunnel match up
- // tunnel producer
- private final ProviderId producerName; // tunnel producer name
- private final TunnelName tunnelName; // name of a tunnel
- private final Path path;
-
- /**
- * Creates a tunnel description using the supplied information.
- *
- * @param id TunnelId
- * @param src TunnelPoint source
- * @param dst TunnelPoint destination
- * @param type tunnel type
- * @param groupId groupId
- * @param producerName tunnel producer
- * @param tunnelName tunnel name
- * @param path the path of tunnel
- * @param annotations optional key/value annotations
- */
- public DefaultTunnelDescription(TunnelId id, TunnelEndPoint src,
- TunnelEndPoint dst, Tunnel.Type type,
- DefaultGroupId groupId,
- ProviderId producerName,
- TunnelName tunnelName,
- Path path,
- SparseAnnotations... annotations) {
- super(annotations);
- this.tunnelId = id;
- this.src = src;
- this.dst = dst;
- this.type = type;
- this.groupId = groupId;
- this.producerName = producerName;
- this.tunnelName = tunnelName;
- this.path = path;
- }
-
- @Override
- public TunnelId id() {
- return tunnelId;
- }
-
- @Override
- public TunnelEndPoint src() {
- return src;
- }
-
- @Override
- public TunnelEndPoint dst() {
- return dst;
- }
-
- @Override
- public Tunnel.Type type() {
- return type;
- }
-
- @Override
- public DefaultGroupId groupId() {
- return groupId;
- }
-
- @Override
- public ProviderId producerName() {
- return producerName;
- }
-
- @Override
- public TunnelName tunnelName() {
- return tunnelName;
- }
-
-
- @Override
- public Path path() {
- return path;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(this)
- .add("tunnelId", id())
- .add("src", src())
- .add("dst", dst())
- .add("type", type())
- .add("tunnelName", tunnelName())
- .add("producerName", producerName())
- .add("groupId", groupId())
- .add("path", path)
- .toString();
- }
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultTunnelStatistics.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultTunnelStatistics.java
deleted file mode 100644
index cab9ae43..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultTunnelStatistics.java
+++ /dev/null
@@ -1,169 +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.incubator.net.tunnel;
-
-import com.google.common.annotations.Beta;
-
-import java.time.Duration;
-import java.util.List;
-
-/**
- * Default implementation of immutable tunnel statistics.
- */
-@Beta
-public final class DefaultTunnelStatistics implements TunnelStatistics {
- private final TunnelId tunnelId;
- private final double bwUtilization;
- private final double packetLossRatio;
- private final Duration flowDelay;
- private final List<String> alarms;
-
- private DefaultTunnelStatistics(TunnelId tunnelId,
- double bwUtilization,
- double packetLossRatio,
- Duration flowDelay,
- List<String> alarms) {
- this.tunnelId = tunnelId;
- this.bwUtilization = bwUtilization;
- this.packetLossRatio = packetLossRatio;
- this.flowDelay = flowDelay;
- this.alarms = alarms;
- }
-
- private DefaultTunnelStatistics() {
- this.tunnelId = null;
- this.bwUtilization = 0;
- this.packetLossRatio = 0;
- this.flowDelay = null;
- this.alarms = null;
- }
-
-
- @Override
- public TunnelId id() {
- return this.tunnelId;
- }
-
- @Override
- public double bandwidthUtilization() {
- return this.bwUtilization;
- }
-
- @Override
- public double packetLossRate() {
- return this.packetLossRatio;
- }
-
- @Override
- public Duration flowDelay() {
- return this.flowDelay;
- }
-
-
- @Override
- public List<String> alarms() {
- return this.alarms;
- }
-
- /**
- * Builder for tunnelStatistics.
- */
- public static final class Builder {
- TunnelId tunnelId;
- double bwUtilization;
- double packetLossRatio;
- Duration flowDelay;
- List<String> alarms;
-
- public Builder() {
-
- }
-
- /**
- * Set tunnel id.
- *
- * @param tunnelId tunnel id
- * @return builder object
- */
- public Builder setTunnelId(TunnelId tunnelId) {
- this.tunnelId = tunnelId;
-
- return this;
- }
-
- /**
- * set bandwidth utilization.
- *
- * @param bwUtilization bandwidth utilization
- * @return builder object
- */
- public Builder setBwUtilization(double bwUtilization) {
- this.bwUtilization = bwUtilization;
-
- return this;
- }
-
- /**
- * Set packet loss ratio.
- *
- * @param packetLossRatio packet loss ratio
- * @return builder object
- */
- public Builder setPacketLossRatio(double packetLossRatio) {
- this.packetLossRatio = packetLossRatio;
-
- return this;
- }
-
- /**
- * Set flow delay.
- *
- * @param flowDelay flow delay
- * @return builder object
- */
- public Builder setFlowDelay(Duration flowDelay) {
- this.flowDelay = flowDelay;
-
- return this;
- }
-
- /**
- * Set alarms.
- *
- * @param alarms alarms of a tunnel
- * @return builder object
- */
- public Builder setAlarms(List<String> alarms) {
- this.alarms = alarms;
-
- return this;
- }
-
- /**
- * Creates a TunnelStatistics object.
- *
- * @return DefaultTunnelStatistics
- */
- public DefaultTunnelStatistics build() {
- return new DefaultTunnelStatistics(tunnelId,
- bwUtilization,
- packetLossRatio,
- flowDelay,
- alarms);
- }
- }
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DomainTunnelId.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DomainTunnelId.java
deleted file mode 100644
index 430823ca..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DomainTunnelId.java
+++ /dev/null
@@ -1,92 +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.incubator.net.tunnel;
-
-/**
- * A wrapper class for a long used to identify domain level tunnels.
- */
-public final class DomainTunnelId {
-
- private final long value;
-
- /**
- * Creates a tunnel identifier from the specified tunnel.
- *
- * @param value long value
- * @return domain tunnel identifier
- */
- public static DomainTunnelId valueOf(long value) {
- return new DomainTunnelId(value);
- }
-
- /**
- * Creates a tunnel identifier from the specified tunnel.
- *
- * @param value long value as a string
- * @return domain tunnel identifier
- */
- public static DomainTunnelId valueOf(String value) {
- return new DomainTunnelId(Long.parseLong(value));
- }
-
- /**
- * Constructor for serializer.
- */
- protected DomainTunnelId() {
- this.value = 0;
- }
-
- /**
- * Constructs the Domain ID corresponding to a given long value.
- *
- * @param value the underlying value of this domain ID
- */
- public DomainTunnelId(long value) {
- this.value = value;
- }
-
- /**
- * Returns the backing value of this domain ID.
- *
- * @return the long value
- */
- public long id() {
- return value;
- }
-
- @Override
- public int hashCode() {
- return Long.hashCode(value);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj == this) {
- return true;
- }
- if (!(obj instanceof DomainTunnelId)) {
- return false;
- }
- DomainTunnelId that = (DomainTunnelId) obj;
- return this.value == that.value;
- }
-
- @Override
- public String toString() {
- return "0x" + Long.toHexString(value);
- }
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/IpTunnelEndPoint.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/IpTunnelEndPoint.java
deleted file mode 100644
index ad41adf6..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/IpTunnelEndPoint.java
+++ /dev/null
@@ -1,80 +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.incubator.net.tunnel;
-
-import java.util.Objects;
-
-import com.google.common.annotations.Beta;
-import org.onlab.packet.IpAddress;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Represent for a tunnel point using ip address.
- */
-@Beta
-public final class IpTunnelEndPoint implements TunnelEndPoint {
-
- private final IpAddress ip;
-
- /**
- * Public construction is prohibited.
- * @param ip ip address
- */
- private IpTunnelEndPoint(IpAddress ip) {
- this.ip = ip;
- }
-
- /**
- * Create a IP tunnel end point.
- * @param ip IP address
- * @return IpTunnelEndPoint
- */
- public static IpTunnelEndPoint ipTunnelPoint(IpAddress ip) {
- return new IpTunnelEndPoint(ip);
- }
-
- /**
- * Returns IP address.
- * @return IP address
- */
- public IpAddress ip() {
- return ip;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(ip);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof IpTunnelEndPoint) {
- final IpTunnelEndPoint other = (IpTunnelEndPoint) obj;
- return Objects.equals(this.ip, other.ip);
- }
- return false;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass()).add("ip", ip).toString();
- }
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/NetworkTunnelId.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/NetworkTunnelId.java
deleted file mode 100644
index a3de7883..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/NetworkTunnelId.java
+++ /dev/null
@@ -1,89 +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.incubator.net.tunnel;
-
-import com.google.common.annotations.Beta;
-
-/**
- * Representation of a Network Tunnel Id.
- */
-@Beta
-public final class NetworkTunnelId {
- private final long value;
-
- /**
- * Creates an tunnel identifier from the specified tunnel.
- *
- * @param value long value
- * @return tunnel identifier
- */
- public static NetworkTunnelId valueOf(long value) {
- return new NetworkTunnelId(value);
- }
-
- public static NetworkTunnelId valueOf(String value) {
- return new NetworkTunnelId(Long.parseLong(value));
- }
-
- /**
- * Constructor for serializer.
- */
- NetworkTunnelId() {
- this.value = 0;
- }
-
- /**
- * Constructs the ID corresponding to a given long value.
- *
- * @param value the underlying value of this ID
- */
- public NetworkTunnelId(long value) {
- this.value = value;
- }
-
- /**
- * Returns the backing value.
- *
- * @return the value
- */
- public long id() {
- return value;
- }
-
- @Override
- public int hashCode() {
- return Long.hashCode(value);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj == this) {
- return true;
- }
- if (!(obj instanceof NetworkTunnelId)) {
- return false;
- }
- NetworkTunnelId that = (NetworkTunnelId) obj;
- return this.value == that.value;
- }
-
- @Override
- public String toString() {
- return "0x" + Long.toHexString(value);
- }
-
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/OpticalLogicId.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/OpticalLogicId.java
deleted file mode 100644
index d5994863..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/OpticalLogicId.java
+++ /dev/null
@@ -1,81 +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.incubator.net.tunnel;
-
-import java.util.Objects;
-
-import com.google.common.annotations.Beta;
-import com.google.common.primitives.UnsignedLongs;
-
-/**
- * Representation of a label Id, a logical port identifier.
- */
-@Beta
-public final class OpticalLogicId {
- /**
- * Represents a logical Id.
- */
- private final long logicId;
-
- /**
- * Constructor, public creation is prohibited.
- */
- private OpticalLogicId(long id) {
- this.logicId = id;
- }
-
- /**
- * Returns the LabelId representing the specified long value.
- *
- * @param id identifier as long value
- * @return LabelId
- */
- public static OpticalLogicId logicId(long id) {
- return new OpticalLogicId(id);
- }
-
- public static OpticalLogicId logicId(String string) {
- return new OpticalLogicId(UnsignedLongs.decode(string));
- }
-
- public long toLong() {
- return logicId;
- }
-
- @Override
- public String toString() {
- return UnsignedLongs.toString(logicId);
- }
-
- @Override
- public int hashCode() {
- return Objects.hashCode(logicId);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof OpticalLogicId) {
- final OpticalLogicId other = (OpticalLogicId) obj;
- return this.logicId == other.logicId;
- }
- return false;
- }
-
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/OpticalTunnelEndPoint.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/OpticalTunnelEndPoint.java
deleted file mode 100644
index 7d72398d..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/OpticalTunnelEndPoint.java
+++ /dev/null
@@ -1,90 +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.incubator.net.tunnel;
-
-import java.util.Optional;
-
-import com.google.common.annotations.Beta;
-import org.onosproject.net.Annotated;
-import org.onosproject.net.ElementId;
-import org.onosproject.net.NetworkResource;
-import org.onosproject.net.PortNumber;
-import org.onosproject.net.Provided;
-
-/**
- * Generic representation of a logical port entity in a consistent way,
- * it is used to identify e.g., ODUk timeSlot, WDM lambda, etc.
- * It supports nested case.
- */
-@Beta
-public interface OpticalTunnelEndPoint extends TunnelEndPoint, Annotated, Provided, NetworkResource {
-
- /** Represents coarse tunnel point type classification. */
- public enum Type {
- /**
- * Signifies optical data unit-based tunnel point.
- */
- TIMESLOT,
-
- /**
- * Signifies optical wavelength-based tunnel point.
- */
- LAMBDA
- }
-
- /**
- * Returns the identifier.
- *
- * @return identifier
- */
- OpticalLogicId id();
-
- /**
- * Returns the parent network element to which this tunnel point belongs.
- *
- * @return parent network element
- */
- Optional<ElementId> elementId();
-
- /**
- * Returns the parent network port to which this tunnel point belongs, can not be be null.
- *
- * @return port number
- */
- Optional<PortNumber> portNumber();
-
- /**
- * Returns the parent tunnel point to which this tunnel point belongs, optional.
- *
- * @return parent tunnel point, if it is null, the parent is a physical port
- */
- Optional<OpticalTunnelEndPoint> parentPoint();
-
- /**
- * Indicates whether or not the port is global significant.
- *
- * @return true if the port is global significant
- */
- boolean isGlobal();
-
- /**
- * Returns the tunnel point type.
- *
- * @return tunnel point type
- */
- Type type();
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/Tunnel.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/Tunnel.java
deleted file mode 100755
index 33af106d..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/Tunnel.java
+++ /dev/null
@@ -1,155 +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.incubator.net.tunnel;
-
-import com.google.common.annotations.Beta;
-import org.onosproject.core.DefaultGroupId;
-import org.onosproject.net.Annotated;
-import org.onosproject.net.NetworkResource;
-import org.onosproject.net.Path;
-import org.onosproject.net.Provided;
-
-/**
- * Abstraction of a generalized Tunnel entity (bandwidth pipe) for either L3/L2
- * networks or L1/L0 networks, representation of e.g., VLAN, GRE tunnel, MPLS
- * LSP, L1 ODUk connection, WDM OCH, etc.. Each Tunnel is associated with at
- * least two tunnel end point objects that model the logical ports essentially.
- * Note that it supports nested case.
- */
-@Beta
-public interface Tunnel extends Annotated, Provided, NetworkResource {
-
- /**
- * Tunnel technology type.
- */
- enum Type {
- /**
- * Signifies that this is a MPLS tunnel.
- */
- MPLS,
- /**
- * Signifies that this is a L2 tunnel.
- */
- VLAN,
- /**
- * Signifies that this is a DC L2 extension tunnel.
- */
- VXLAN,
- /**
- * Signifies that this is a L3 tunnel.
- */
- GRE,
- /**
- * Signifies that this is a L1 OTN tunnel.
- */
- ODUK,
- /**
- * Signifies that this is a L0 OCH tunnel.
- */
- OCH
- }
-
- /**
- * Representation of the tunnel state.
- */
- public enum State {
- /**
- * Signifies that a tunnel is currently in a initialized state.
- */
- INIT,
- /**
- * Signifies that a tunnel is currently established but no traffic.
- */
- ESTABLISHED,
- /**
- * Signifies that a tunnel is currently active. This state means that
- * this tunnel is available. It can be borrowed by consumer.
- */
- ACTIVE,
- /**
- * Signifies that a tunnel is currently out of service.
- */
- FAILED,
- /**
- * Signifies that a tunnel is currently inactive. This state means that
- * this tunnel can not be borrowed by consumer.
- */
- INACTIVE
- }
-
- /**
- * Returns the tunnel state.
- *
- * @return tunnel state
- */
- State state();
-
- /**
- * the origin of a tunnel.
- *
- * @return the origin of a tunnel
- */
- TunnelEndPoint src();
-
- /**
- * the terminal of a tunnel.
- *
- * @return the terminal of a tunnel
- */
- TunnelEndPoint dst();
-
- /**
- * Returns the tunnel type.
- *
- * @return tunnel type
- */
- Type type();
-
- /**
- * Returns group flow table id which a tunnel match up.
- *
- * @return OpenFlowGroupId
- */
- DefaultGroupId groupId();
-
- /**
- * Returns tunnel identify generated by ONOS as primary key.
- *
- * @return TunnelId
- */
- TunnelId tunnelId();
-
- /**
- * Return the name of a tunnel.
- *
- * @return Tunnel Name
- */
- TunnelName tunnelName();
-
- /**
- * Network resource backing the tunnel, e.g. lambda, VLAN id, MPLS tag.
- *
- * @return backing resource
- */
- NetworkResource resource();
-
- /**
- * Returns the path of the tunnel.
- *
- * @return the path of the tunnel
- */
- Path path();
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelAdminService.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelAdminService.java
deleted file mode 100644
index 5165a68e..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelAdminService.java
+++ /dev/null
@@ -1,65 +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.incubator.net.tunnel;
-
-import com.google.common.annotations.Beta;
-import org.onosproject.net.Path;
-import org.onosproject.net.provider.ProviderId;
-
-/**
- * Service for administering the inventory of provisioned tunnels.
- */
-@Beta
-public interface TunnelAdminService {
-
- /**
- * Removes the provisioned tunnel.
- *
- * @param tunnelId tunnel ID
- */
- void removeTunnel(TunnelId tunnelId);
-
- /**
- * Removes the provisioned tunnel leading to and from the
- * specified labels.
- *
- * @param src source label
- * @param dst destination label
- * @param producerName producer name
- */
- void removeTunnels(TunnelEndPoint src, TunnelEndPoint dst, ProviderId producerName);
-
- /**
- * Removes all provisioned tunnels leading to and from the
- * specified connection point.
- *
- * @param src source connection point
- * @param dst destination connection point
- * @param type tunnel type
- * @param producerName producer name
- */
- void removeTunnels(TunnelEndPoint src, TunnelEndPoint dst, Tunnel.Type type, ProviderId producerName);
-
- /**
- * Invokes the core to update a tunnel based on specified tunnel parameters.
- *
- * @param tunnel Tunnel
- * @param path explicit route (path changed) or null (path not changed) for the tunnel
- */
- void updateTunnel(Tunnel tunnel, Path path);
-
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelDescription.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelDescription.java
deleted file mode 100755
index a8408bef..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelDescription.java
+++ /dev/null
@@ -1,87 +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.incubator.net.tunnel;
-
-import com.google.common.annotations.Beta;
-import org.onosproject.core.DefaultGroupId;
-import org.onosproject.incubator.net.tunnel.Tunnel.Type;
-import org.onosproject.net.Annotated;
-import org.onosproject.net.Description;
-import org.onosproject.net.Path;
-import org.onosproject.net.provider.ProviderId;
-
-/**
- * Describes a tunnel.
- */
-@Beta
-public interface TunnelDescription extends Description, Annotated {
-
- /**
- * Returns the tunnel id.
- *
- * @return tunnelId
- */
- TunnelId id();
-
- /**
- * Returns the connection point source.
- *
- * @return tunnel source ConnectionPoint
- */
- TunnelEndPoint src();
-
- /**
- * Returns the connection point destination.
- *
- * @return tunnel destination
- */
- TunnelEndPoint dst();
-
- /**
- * Returns the tunnel type.
- *
- * @return tunnel type
- */
- Type type();
-
- /**
- * Returns group flow table id which a tunnel match up.
- *
- * @return OpenFlowGroupId
- */
- DefaultGroupId groupId();
-
- /**
- * Returns tunnel producer name.
- *
- * @return producer name
- */
- ProviderId producerName();
-
- /**
- * Return the name of a tunnel.
- *
- * @return Tunnel Name
- */
- TunnelName tunnelName();
-
- /**
- * Returns the path of the tunnel.
- *
- * @return the path of the tunnel
- */
- Path path();
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelEndPoint.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelEndPoint.java
deleted file mode 100644
index 55890289..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelEndPoint.java
+++ /dev/null
@@ -1,28 +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.incubator.net.tunnel;
-
-import com.google.common.annotations.Beta;
-
-/**
- * Represents for source end point or destination end point of a tunnel. Maybe a tunnel
- * based on ConnectPoint, IpAddress, MacAddress and so on is built.
- */
-@Beta
-public interface TunnelEndPoint {
-
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelEndPointFormatter.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelEndPointFormatter.java
deleted file mode 100644
index 57af670c..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelEndPointFormatter.java
+++ /dev/null
@@ -1,50 +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.incubator.net.tunnel;
-
-
-import com.google.common.annotations.Beta;
-import org.onosproject.ui.table.CellFormatter;
-import org.onosproject.ui.table.cell.AbstractCellFormatter;
-
-/**
- * Formats a optical tunnel endpoint as "(type)/(element-id)/(port)".
- * Formats a ip tunnel endpoint as "ip".
- */
-@Beta
-public final class TunnelEndPointFormatter extends AbstractCellFormatter {
- //non-instantiable
- private TunnelEndPointFormatter() {
- }
-
- @Override
- protected String nonNullFormat(Object value) {
-
- if (value instanceof DefaultOpticalTunnelEndPoint) {
- DefaultOpticalTunnelEndPoint cp = (DefaultOpticalTunnelEndPoint) value;
- return cp.type() + "/" + cp.elementId().get() + "/" + cp.portNumber().get();
- } else if (value instanceof IpTunnelEndPoint) {
- IpTunnelEndPoint cp = (IpTunnelEndPoint) value;
- return cp.ip().toString();
- }
- return "";
- }
-
- /**
- * An instance of this class.
- */
- public static final CellFormatter INSTANCE = new TunnelEndPointFormatter();
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelEvent.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelEvent.java
deleted file mode 100644
index 18044ee7..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelEvent.java
+++ /dev/null
@@ -1,70 +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.incubator.net.tunnel;
-
-import com.google.common.annotations.Beta;
-import org.onosproject.event.AbstractEvent;
-
-/**
- * Describes tunnel events.
- */
-@Beta
-public final class TunnelEvent extends AbstractEvent<TunnelEvent.Type, Tunnel> {
-
- /**
- * Type of tunnel events.
- */
- public enum Type {
- /**
- * Signifies that a new tunnel has been added.
- */
- TUNNEL_ADDED,
-
- /**
- * Signifies that a tunnel has been updated or changed state.
- */
- TUNNEL_UPDATED,
-
- /**
- * Signifies that a tunnel has been removed.
- */
- TUNNEL_REMOVED
- }
-
- /**
- * Creates an event of a given type and for the specified tunnel.
- *
- * @param type tunnel event type
- * @param tunnel event tunnel subject
- */
- public TunnelEvent(Type type, Tunnel tunnel) {
- super(type, tunnel);
- }
-
- /**
- * Creates an event of a given type and for the specified link and
- * the current time.
- *
- * @param type tunnel event type
- * @param tunnel event tunnel subject
- * @param time occurrence time
- */
- public TunnelEvent(Type type, Tunnel tunnel, long time) {
- super(type, tunnel, time);
- }
-
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelId.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelId.java
deleted file mode 100644
index 5a3f97f2..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelId.java
+++ /dev/null
@@ -1,89 +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.incubator.net.tunnel;
-
-import com.google.common.annotations.Beta;
-
-/**
- * Representation of a Tunnel Id.
- */
-@Beta
-public final class TunnelId {
- private final long value;
-
- /**
- * Creates an tunnel identifier from the specified tunnel.
- *
- * @param value long value
- * @return tunnel identifier
- */
- public static TunnelId valueOf(long value) {
- return new TunnelId(value);
- }
-
- public static TunnelId valueOf(String value) {
- return new TunnelId(Long.parseLong(value));
- }
-
- /**
- * Constructor for serializer.
- */
- TunnelId() {
- this.value = 0;
- }
-
- /**
- * Constructs the ID corresponding to a given long value.
- *
- * @param value the underlying value of this ID
- */
- TunnelId(long value) {
- this.value = value;
- }
-
- /**
- * Returns the backing value.
- *
- * @return the value
- */
- public long id() {
- return value;
- }
-
- @Override
- public int hashCode() {
- return Long.hashCode(value);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj == this) {
- return true;
- }
- if (!(obj instanceof TunnelId)) {
- return false;
- }
- TunnelId that = (TunnelId) obj;
- return this.value == that.value;
- }
-
- @Override
- public String toString() {
- return "0x" + Long.toHexString(value);
- }
-
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelListener.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelListener.java
deleted file mode 100644
index b3a69fd4..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelListener.java
+++ /dev/null
@@ -1,27 +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.incubator.net.tunnel;
-
-import com.google.common.annotations.Beta;
-import org.onosproject.event.EventListener;
-
-/**
- * Entity capable of receiving tunnel related events.
- */
-@Beta
-public interface TunnelListener extends EventListener<TunnelEvent> {
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelName.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelName.java
deleted file mode 100644
index 77a8c8e8..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelName.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.incubator.net.tunnel;
-
-import com.google.common.annotations.Beta;
-
-import java.util.Objects;
-
-/**
- * Represents for a unique tunnel name. TunnelId is generated by ONOS while
- * TunnelName is given by producer. The consumer can borrow tunnels with
- * TunnelId or TunnelName.
- */
-@Beta
-public final class TunnelName {
- private final String str;
-
- // Default constructor for serialization
- private TunnelName(String tunnelName) {
- this.str = tunnelName;
- }
-
-
- /**
- * Creates a tunnel name using the supplied URI string.
- *
- * @param tunnelName tunnel name string
- * @return tunnel name object
- */
- public static TunnelName tunnelName(String tunnelName) {
- return new TunnelName(tunnelName);
- }
-
- /**
- * The string of tunnel name.
- *
- * @return the string of tunnel name
- */
- public String value() {
- return str;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(str);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof TunnelName) {
- final TunnelName that = (TunnelName) obj;
- return this.getClass() == that.getClass()
- && Objects.equals(this.str, that.str);
- }
- return false;
- }
-
- @Override
- public String toString() {
- return str;
- }
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelProvider.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelProvider.java
deleted file mode 100644
index 5677901f..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelProvider.java
+++ /dev/null
@@ -1,115 +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.incubator.net.tunnel;
-
-import com.google.common.annotations.Beta;
-import org.onosproject.net.ElementId;
-import org.onosproject.net.Path;
-import org.onosproject.net.provider.Provider;
-
-/**
- * Abstraction of an entity providing tunnel setup/release services to the core.
- */
-@Beta
-public interface TunnelProvider extends Provider {
-
- /**
- * Instructs the provider to setup a tunnel. It's used by consumers.
- *
- * @param tunnel Tunnel
- * @param path explicit route or null for the tunnel
- */
- void setupTunnel(Tunnel tunnel, Path path);
-
- /**
- * Instructs the provider to setup a tunnel given the respective device.
- * It's used by consumers.
- *
- * @param srcElement device
- * @param tunnel Tunnel
- * @param path explicit route (not null) for the tunnel
- */
- void setupTunnel(ElementId srcElement, Tunnel tunnel, Path path);
-
- /**
- * Instructs the provider to release a tunnel. It's used by consumers.
- *
- * @param tunnel Tunnel
- */
- void releaseTunnel(Tunnel tunnel);
-
- /**
- * Instructs the provider to release a tunnel given the respective device.
- * It's used by consumers.
- *
- * @param srcElement device
- * @param tunnel Tunnel
- */
- void releaseTunnel(ElementId srcElement, Tunnel tunnel);
-
- /**
- * Instructs the provider to update a tunnel. It's used by consumers. Maybe
- * some consumers enable to update a tunnel.
- *
- * @param tunnel Tunnel
- * @param path explicit route (path changed) or null (path not changed) for
- * the tunnel
- */
- void updateTunnel(Tunnel tunnel, Path path);
-
- /**
- * Instructs the provider to update a tunnel given the respective device.
- * It's used by consumers. Maybe some consumers enable to update a tunnel.
- *
- * @param srcElement device
- * @param tunnel Tunnel
- * @param path explicit route (path changed) or null (path not changed) for
- * the tunnel
- */
- void updateTunnel(ElementId srcElement, Tunnel tunnel, Path path);
-
- /**
- * Signals that the provider has added a tunnel. It's used by producers.
- *
- * @param tunnel tunnel information
- * @return tunnel identity
- */
- TunnelId tunnelAdded(TunnelDescription tunnel);
-
- /**
- * Signals that the provider has removed a tunnel. It's used by producers.
- *
- * @param tunnel tunnel information
- */
- void tunnelRemoved(TunnelDescription tunnel);
-
- /**
- * Signals that the a tunnel was changed (e.g., sensing changes of
- * tunnel).It's used by producers.
- *
- * @param tunnel tunnel information
- */
- void tunnelUpdated(TunnelDescription tunnel);
-
- /**
- * Signals that the a tunnel was queried.
- * It's used by producers.
- * @param tunnelId tunnel identity
- * @return tunnel entity
- */
- Tunnel tunnelQueryById(TunnelId tunnelId);
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelProviderRegistry.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelProviderRegistry.java
deleted file mode 100644
index 069455ac..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelProviderRegistry.java
+++ /dev/null
@@ -1,28 +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.incubator.net.tunnel;
-
-import com.google.common.annotations.Beta;
-import org.onosproject.net.provider.ProviderRegistry;
-
-/**
- * Abstraction of an tunnel provider registry.
- */
-@Beta
-public interface TunnelProviderRegistry
- extends ProviderRegistry<TunnelProvider, TunnelProviderService> {
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelProviderService.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelProviderService.java
deleted file mode 100644
index bb158bfa..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelProviderService.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.incubator.net.tunnel;
-
-import com.google.common.annotations.Beta;
-import org.onosproject.net.provider.ProviderService;
-
-/**
- * APIs for tunnel provider to notify the tunnel subSystem.
- */
-@Beta
-public interface TunnelProviderService extends ProviderService<TunnelProvider> {
-
- /**
- * Signals that the provider has added a tunnel.
- *
- * @param tunnel tunnel information
- * @return tunnel identity
- */
- TunnelId tunnelAdded(TunnelDescription tunnel);
-
- /**
- * Signals that the provider has removed a tunnel.
- *
- * @param tunnel tunnel information
- */
- void tunnelRemoved(TunnelDescription tunnel);
-
- /**
- * Signals that the a tunnel was changed (e.g., sensing changes of tunnel).
- *
- * @param tunnel tunnel information
- */
- void tunnelUpdated(TunnelDescription tunnel);
-
- /**
- * Signals that the a tunnel was queried.
- *
- * @param tunnelId tunnel identity
- * @return tunnel entity
- */
- Tunnel tunnelQueryById(TunnelId tunnelId);
-
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelService.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelService.java
deleted file mode 100644
index 2a10a4c1..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelService.java
+++ /dev/null
@@ -1,201 +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.incubator.net.tunnel;
-
-import java.util.Collection;
-
-import com.google.common.annotations.Beta;
-import org.onosproject.core.ApplicationId;
-import org.onosproject.event.ListenerService;
-import org.onosproject.incubator.net.tunnel.Tunnel.Type;
-import org.onosproject.net.Annotations;
-import org.onosproject.net.DeviceId;
-
-/**
- * Service for interacting with the inventory of tunnels.
- */
-@Beta
-public interface TunnelService
- extends ListenerService<TunnelEvent, TunnelListener> {
-
- /**
- * Borrows a specific tunnel. Annotations parameter is reserved.If there
- * is no tunnel in the store, returns a "null" object, and record the tunnel subscription.
- * Where tunnel is created, ONOS notifies this consumer actively.
- *
- * @param consumerId a tunnel consumer
- * @param tunnelId tunnel identify generated by onos
- * @param annotations Annotations
- * @return Tunnel subscribed tunnel
- */
- Tunnel borrowTunnel(ApplicationId consumerId, TunnelId tunnelId,
- Annotations... annotations);
-
- /**
- * Borrows a specific tunnel by tunnelName. Annotations parameter is reserved.If there
- * is no tunnel in the store, return a "null" object, and record the tunnel subscription.
- * Where tunnel is created, ONOS notifies this consumer actively.
- *
- * @param consumerId a tunnel consumer
- * @param tunnelName tunnel name
- * @param annotations Annotations
- * @return collection of subscribed Tunnels
- */
- Collection<Tunnel> borrowTunnel(ApplicationId consumerId, TunnelName tunnelName,
- Annotations... annotations);
-
- /**
- * Borrows all tunnels between source and destination. Annotations
- * parameter is reserved.If there is no any tunnel in the store, return a
- * empty collection,and record the tunnel subscription. Where tunnel is created, ONOS
- * notifies this consumer actively. Otherwise ONOS core returns all the
- * tunnels, consumer determined which one to use.
- *
- * @param consumerId a tunnel consumer
- * @param src a source point of tunnel.
- * @param dst a destination point of tunnel
- * @param annotations Annotations
- * @return collection of subscribed Tunnels
- */
- Collection<Tunnel> borrowTunnel(ApplicationId consumerId, TunnelEndPoint src,
- TunnelEndPoint dst, Annotations... annotations);
-
- /**
- * Borrows all specified type tunnels between source and destination.
- * Annotations parameter is reserved.If there is no any tunnel in the store,
- * return a empty collection, and record the tunnel subscription. Where tunnel is
- * created, ONOS notifies this consumer actively. Otherwise,ONOS core returns
- * all available tunnels, consumer determined which one to use.
- *
- * @param consumerId a tunnel consumer
- * @param src a source point of tunnel.
- * @param dst a destination point of tunnel
- * @param type tunnel type
- * @param annotations Annotations
- * @return collection of available Tunnels
- */
- Collection<Tunnel> borrowTunnel(ApplicationId consumerId, TunnelEndPoint src,
- TunnelEndPoint dst, Type type,
- Annotations... annotations);
-
- /**
- * Returns back a specific tunnel to store.
- *
- * @param consumerId a tunnel consumer
- * @param tunnelId tunnel identify generated by ONOS
- * @param annotations Annotations
- * @return success or fail
- */
- boolean returnTunnel(ApplicationId consumerId, TunnelId tunnelId,
- Annotations... annotations);
-
- /**
- * Returns all specific name tunnel back store. Annotations parameter is reserved.if there
- * is no tunnel in the store, return a "null" object, and record the tunnel subscription.
- * Where tunnel is created, ONOS notifies this consumer actively.
- *
- * @param consumerId a tunnel consumer
- * @param tunnelName tunnel name
- * @param annotations Annotations
- * @return boolean
- */
- boolean returnTunnel(ApplicationId consumerId, TunnelName tunnelName,
- Annotations... annotations);
-
- /**
- * Returns all specific type tunnels between source and destination back
- * store. Annotations parameter is reserved.
- *
- * @param consumerId a tunnel consumer
- * @param src a source point of tunnel.
- * @param dst a destination point of tunnel
- * @param type tunnel type
- * @param annotations Annotations
- * @return success or fail
- */
- boolean returnTunnel(ApplicationId consumerId, TunnelEndPoint src,
- TunnelEndPoint dst, Type type,
- Annotations... annotations);
-
- /**
- * Returns all tunnels between source and destination back the store.
- * Annotations parameter is reserved.
- *
- * @param consumerId a tunnel consumer
- * @param src a source point of tunnel.
- * @param dst a destination point of tunnel.
- * @param annotations Annotations
- * @return success or fail
- */
- boolean returnTunnel(ApplicationId consumerId, TunnelEndPoint src,
- TunnelEndPoint dst, Annotations... annotations);
-
- /**
- * Returns a tunnel by a specific tunnel identity.
- *
- * @param tunnelId tunnel identify generated by tunnel producer
- * @return Tunnel
- */
- Tunnel queryTunnel(TunnelId tunnelId);
-
- /**
- * Returns all tunnel subscription record by consumer.
- *
- * @param consumerId consumer identity
- * @return Collection of TunnelSubscription
- */
- Collection<TunnelSubscription> queryTunnelSubscription(ApplicationId consumerId);
-
- /**
- * Returns all specified type tunnels.
- *
- * @param type tunnel type
- * @return Collection of tunnels
- */
- Collection<Tunnel> queryTunnel(Type type);
-
- /**
- * Returns all tunnels between source point and destination point.
- *
- * @param src a source point of tunnel.
- * @param dst a destination point of tunnel.
- * @return Collection of tunnels
- */
- Collection<Tunnel> queryTunnel(TunnelEndPoint src, TunnelEndPoint dst);
-
- /**
- * Returns all tunnels.
- *
- * @return Collection of tunnels
- */
- Collection<Tunnel> queryAllTunnels();
-
- /**
- * Returns all tunnels.
- *
- * @return all tunnels
- */
- int tunnelCount();
-
- /**
- * Returns the collection of tunnels applied on the specified device.
- *
- * @param deviceId device identifier
- * @return collection of tunnels
- */
- Iterable<Tunnel> getTunnels(DeviceId deviceId);
-
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelStatistics.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelStatistics.java
deleted file mode 100644
index c7c9fd96..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelStatistics.java
+++ /dev/null
@@ -1,64 +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.incubator.net.tunnel;
-
-import com.google.common.annotations.Beta;
-
-import java.time.Duration;
-import java.util.List;
-
-/**
- * Statistics of a tunnel.
- */
-@Beta
-public interface TunnelStatistics {
-
- /**
- * Returns the tunnel id.
- *
- * @return tunnelId id of tunnel
- */
- TunnelId id();
-
- /**
- * Returns the bandwidth utilization of a tunnel.
- *
- * @return bandwidth utilization
- */
- double bandwidthUtilization();
-
- /**
- * Returns the packet loss ratio of a tunnel.
- *
- * @return tunnel packet loss ratio
- */
- double packetLossRate();
-
- /**
- * Returns the end-to-end traffic flow delay of a tunnel.
- *
- * @return tunnel flow delay
- */
- Duration flowDelay();
-
- /**
- * Returns the alarms on a tunnel.
- *
- * @return tunnel alarms
- */
- List<String> alarms();
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelStore.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelStore.java
deleted file mode 100644
index 00ed5776..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelStore.java
+++ /dev/null
@@ -1,229 +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.incubator.net.tunnel;
-
-import java.util.Collection;
-
-import com.google.common.annotations.Beta;
-import org.onosproject.core.ApplicationId;
-import org.onosproject.incubator.net.tunnel.Tunnel.Type;
-import org.onosproject.net.Annotations;
-import org.onosproject.net.provider.ProviderId;
-import org.onosproject.store.Store;
-
-/**
- * Manages inventory of tunnel; not intended for direct use.
- */
-@Beta
-public interface TunnelStore extends Store<TunnelEvent, TunnelStoreDelegate> {
- /**
- * Creates or updates a tunnel.
- *
- * @param tunnel tunnel
- * @return tunnel identity
- */
- TunnelId createOrUpdateTunnel(Tunnel tunnel);
-
- /**
- * Deletes a tunnel by a specific tunnel identifier.
- *
- * @param tunnelId tunnel unique identifier generated by ONOS
- */
- void deleteTunnel(TunnelId tunnelId);
-
- /**
- * Deletes all tunnels between source point and destination point.
- *
- * @param src a source point of tunnel.
- * @param dst a destination point of tunnel.
- * @param producerName producerName
- */
- void deleteTunnel(TunnelEndPoint src, TunnelEndPoint dst,
- ProviderId producerName);
-
- /**
- * Deletes all specific type tunnels between source point and destination
- * point.
- *
- * @param src a source point of tunnel.
- * @param dst a destination point of tunnel.
- * @param type tunnel type
- * @param producerName producerName
- */
- void deleteTunnel(TunnelEndPoint src, TunnelEndPoint dst,
- Tunnel.Type type, ProviderId producerName);
-
- /**
- * Returns a specific tunnel. Annotations parameter is reserved. If there
- * is no tunnel in the store, return a "null" object, and record the tunnel subscription.
- * Where tunnel is created, ONOS notifies this consumer actively.
- *
- * @param consumerId a tunnel consumer
- * @param tunnelId tunnel identify generated by onos
- * @param annotations parameter
- * @return Tunnel subscribed tunnel
- */
- Tunnel borrowTunnel(ApplicationId consumerId, TunnelId tunnelId,
- Annotations... annotations);
-
- /**
- * Returns a specific tunnel by tunnelName. Annotations parameter is
- * reserved. If there is no tunnel in the store, return a "null" object,and
- * record the tunnel subscription. Where tunnel is created, ONOS notifies this consumer
- * actively.
- *
- * @param consumerId a tunnel consumer
- * @param tunnelName tunnel name
- * @param annotations parameter
- * @return collection of subscribed Tunnels
- */
- Collection<Tunnel> borrowTunnel(ApplicationId consumerId,
- TunnelName tunnelName,
- Annotations... annotations);
-
- /**
- * Returns all tunnels between source and destination. Annotations
- * parameter is reserved. If there is no any tunnel in the store, return a
- * empty collection, and record the tunnel subscription. Where tunnel is created, ONOS
- * notifies this consumer actively. Otherwise ONOS core returns all the
- * tunnels, consumer determined which one to use.
- *
- * @param consumerId a tunnel consumer
- * @param src a source point of tunnel.
- * @param dst a destination point of tunnel
- * @param annotations parameter
- * @return collection of subscribed Tunnels
- */
- Collection<Tunnel> borrowTunnel(ApplicationId consumerId, TunnelEndPoint src,
- TunnelEndPoint dst, Annotations... annotations);
-
- /**
- * Returns all specified type tunnels between source and destination.
- * Annotations parameter is reserved. If there is no any tunnel in the store,
- * return a empty collection, and record the tunnel subscription. Where tunnel is
- * created, ONOS notifies this consumer actively. Otherwise,ONOS core returns
- * all available tunnels, consumer determined which one to use.
- *
- * @param consumerId a tunnel consumer
- * @param src a source point of tunnel.
- * @param dst a destination point of tunnel
- * @param type tunnel type
- * @param annotations Annotations
- * @return collection of available Tunnels
- */
- Collection<Tunnel> borrowTunnel(ApplicationId consumerId, TunnelEndPoint src,
- TunnelEndPoint dst, Type type,
- Annotations... annotations);
-
- /**
- * Returns back a specific tunnel to store.
- *
- * @param consumerId a tunnel consumer
- * @param tunnelId tunnel identify generated by ONOS
- * @param annotations Annotations
- * @return success or fail
- */
- boolean returnTunnel(ApplicationId consumerId, TunnelId tunnelId,
- Annotations... annotations);
-
- /**
- * Returns all specific name tunnel back store. Annotations parameter is
- * reserved.If there is no tunnel in the store, return a "null" object,and
- * record the tunnel subscription. Where tunnel is created, ONOS notifies this consumer
- * actively.
- *
- * @param consumerId a tunnel consumer
- * @param tunnelName tunnel name
- * @param annotations Annotations
- * @return boolean
- */
- boolean returnTunnel(ApplicationId consumerId, TunnelName tunnelName,
- Annotations... annotations);
-
- /**
- * Returns all specific type tunnels between source and destination back
- * store. Annotations parameter is reserved.
- *
- * @param consumerId a tunnel consumer
- * @param src a source point of tunnel.
- * @param dst a destination point of tunnel
- * @param type tunnel type
- * @param annotations Annotations
- * @return success or fail
- */
- boolean returnTunnel(ApplicationId consumerId, TunnelEndPoint src,
- TunnelEndPoint dst, Type type,
- Annotations... annotations);
-
- /**
- * Returns all tunnels between source and destination back the store.
- * Annotations parameter is reserved.
- *
- * @param consumerId a tunnel consumer
- * @param src a source point of tunnel.
- * @param dst a destination point of tunnel.
- * @param annotations Annotations
- * @return success or fail
- */
- boolean returnTunnel(ApplicationId consumerId, TunnelEndPoint src,
- TunnelEndPoint dst, Annotations... annotations);
-
- /**
- * Returns a tunnel by a specific tunnel identity.
- *
- * @param tunnelId tunnel identify generated by tunnel producer
- * @return Tunnel
- */
- Tunnel queryTunnel(TunnelId tunnelId);
-
- /**
- * Returns all tunnel subscription record by consumer.
- *
- * @param consumerId consumer identity
- * @return Collection of TunnelSubscription
- */
- Collection<TunnelSubscription> queryTunnelSubscription(ApplicationId consumerId);
-
- /**
- * Returns all specified type tunnels.
- *
- * @param type tunnel type
- * @return Collection of tunnels
- */
- Collection<Tunnel> queryTunnel(Type type);
-
- /**
- * Returns all tunnels between source point and destination point.
- *
- * @param src a source point of tunnel.
- * @param dst a destination point of tunnel.
- * @return Collection of tunnels
- */
- Collection<Tunnel> queryTunnel(TunnelEndPoint src, TunnelEndPoint dst);
-
- /**
- * Returns all tunnels.
- *
- * @return Collection of tunnels
- */
- Collection<Tunnel> queryAllTunnels();
-
- /**
- * Returns all tunnels.
- * @return all tunnels
- */
- int tunnelCount();
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelStoreDelegate.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelStoreDelegate.java
deleted file mode 100644
index dfbc6ec0..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelStoreDelegate.java
+++ /dev/null
@@ -1,27 +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.incubator.net.tunnel;
-
-import com.google.common.annotations.Beta;
-import org.onosproject.store.StoreDelegate;
-
-/**
- * Tunnel store delegate abstraction.
- */
-@Beta
-public interface TunnelStoreDelegate extends StoreDelegate<TunnelEvent> {
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelSubscription.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelSubscription.java
deleted file mode 100644
index 336789b1..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelSubscription.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.incubator.net.tunnel;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Objects;
-
-import com.google.common.annotations.Beta;
-import org.onosproject.core.ApplicationId;
-import org.onosproject.net.AbstractAnnotated;
-import org.onosproject.net.Annotations;
-import org.onosproject.incubator.net.tunnel.Tunnel.Type;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Represents for a order that consumer subscribe tunnel. ONOS maintains request
- * information, it means ONOS knows how much resource echo consumer uses in the
- * ONOS. Although there is no a tunnel that consumer want to use, when producer
- * creates a new tunnel, ONOS will notify the consumers that want to use it.
- */
-@Beta
-public final class TunnelSubscription extends AbstractAnnotated {
- private final ApplicationId consumerId;
- private final TunnelEndPoint src;
- private final TunnelEndPoint dst;
- private final Type type;
- private final TunnelId tunnelId;
- private final TunnelName tunnelName;
-
- /**
- * Creates a TunnelSubscription.
- *
- * @param consumerId consumer identity
- * @param src source tunnel end point of tunnel
- * @param dst destination tunnel end point of tunnel
- * @param tunnelId tunnel identity
- * @param type tunnel type
- * @param tunnelName the name of a tunnel
- * @param annotations parameter
- */
- public TunnelSubscription(ApplicationId consumerId, TunnelEndPoint src,
- TunnelEndPoint dst, TunnelId tunnelId, Type type,
- TunnelName tunnelName, Annotations... annotations) {
- super(annotations);
- checkNotNull(consumerId, "consumerId cannot be null");
- this.consumerId = consumerId;
- this.src = src;
- this.dst = dst;
- this.type = type;
- this.tunnelId = tunnelId;
- this.tunnelName = tunnelName;
- }
-
- /**
- * Returns consumer identity.
- *
- * @return consumerId consumer id
- */
- public ApplicationId consumerId() {
- return consumerId;
- }
-
- /**
- * Returns source point of tunnel.
- *
- * @return source point
- */
- public TunnelEndPoint src() {
- return src;
- }
-
- /**
- * Returns destination point of tunnel.
- *
- * @return destination point
- */
- public TunnelEndPoint dst() {
- return dst;
- }
-
- /**
- * Returns tunnel type.
- *
- * @return tunnel type
- */
- public Type type() {
- return type;
- }
-
- /**
- * Returns tunnel identity.
- *
- * @return tunnel id
- */
- public TunnelId tunnelId() {
- return tunnelId;
- }
-
- /**
- * Returns tunnel name.
- *
- * @return tunnel name
- */
- public TunnelName tunnelName() {
- return tunnelName;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(consumerId, src, dst, type, tunnelId, tunnelName);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof TunnelSubscription) {
- final TunnelSubscription other = (TunnelSubscription) obj;
- return Objects.equals(this.src, other.src)
- && Objects.equals(this.dst, other.dst)
- && Objects.equals(this.consumerId, other.consumerId)
- && Objects.equals(this.type, other.type)
- && Objects.equals(this.tunnelId, other.tunnelId)
- && Objects.equals(this.tunnelName, other.tunnelName);
- }
- return false;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("src", src)
- .add("dst", dst)
- .add("consumerId", consumerId)
- .add("type", type)
- .add("tunnelId", tunnelId)
- .add("tunnelName", tunnelName).toString();
- }
-}
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/package-info.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/package-info.java
deleted file mode 100644
index d31aab55..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/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.
- */
-
-/**
- * Tunnel model related services and providers API definitions.
- */
-package org.onosproject.incubator.net.tunnel;