From b731e2f1dd0972409b136aebc7b463dd72c9cfad Mon Sep 17 00:00:00 2001 From: CNlucius Date: Tue, 13 Sep 2016 11:40:12 +0800 Subject: ONOSFW-171 O/S-SFC-ONOS scenario documentation Change-Id: I51ae1cf736ea24ab6680f8edca1b2bf5dd598365 Signed-off-by: CNlucius --- .../org/onosproject/iptopology/api/AreaId.java | 70 ----- .../org/onosproject/iptopology/api/AsNumber.java | 70 ----- .../java/org/onosproject/iptopology/api/Color.java | 72 ----- .../iptopology/api/DefaultDeviceIntf.java | 79 ----- .../iptopology/api/DefaultDevicePrefix.java | 95 ------ .../iptopology/api/DefaultIpDevice.java | 113 ------- .../onosproject/iptopology/api/DefaultIpLink.java | 105 ------- .../iptopology/api/DeviceInterface.java | 100 ------ .../org/onosproject/iptopology/api/DeviceIntf.java | 37 --- .../onosproject/iptopology/api/DevicePrefix.java | 46 --- .../org/onosproject/iptopology/api/DeviceTed.java | 173 ---------- .../org/onosproject/iptopology/api/DomainId.java | 71 ----- .../iptopology/api/ExtendedRouteTag.java | 70 ----- .../org/onosproject/iptopology/api/IgpFlags.java | 114 ------- .../iptopology/api/InterfaceIdentifier.java | 71 ----- .../org/onosproject/iptopology/api/IpDevice.java | 68 ---- .../iptopology/api/IpDeviceIdentifier.java | 141 --------- .../org/onosproject/iptopology/api/IpLink.java | 54 ---- .../iptopology/api/IpLinkIdentifier.java | 161 ---------- .../onosproject/iptopology/api/IpReachability.java | 73 ----- .../onosproject/iptopology/api/IsIsPseudonode.java | 93 ------ .../org/onosproject/iptopology/api/IsoNodeId.java | 79 ----- .../org/onosproject/iptopology/api/LinkTed.java | 349 --------------------- .../org/onosproject/iptopology/api/Metric.java | 70 ----- .../onosproject/iptopology/api/OspfPseudonode.java | 96 ------ .../org/onosproject/iptopology/api/Position.java | 84 ----- .../iptopology/api/PrefixIdentifier.java | 98 ------ .../org/onosproject/iptopology/api/PrefixTed.java | 138 -------- .../onosproject/iptopology/api/ProtectionType.java | 97 ------ .../iptopology/api/RouteDistinguisher.java | 74 ----- .../iptopology/api/RouteIdentifier.java | 54 ---- .../onosproject/iptopology/api/RouteInstance.java | 70 ----- .../org/onosproject/iptopology/api/RouteTag.java | 70 ----- .../org/onosproject/iptopology/api/RouteType.java | 96 ------ .../org/onosproject/iptopology/api/RouterId.java | 78 ----- .../org/onosproject/iptopology/api/Signalling.java | 83 ----- .../java/org/onosproject/iptopology/api/Srlg.java | 70 ----- .../iptopology/api/TerminationPoint.java | 104 ------ .../org/onosproject/iptopology/api/TopologyId.java | 70 ----- .../api/device/DefaultInterfaceDescription.java | 97 ------ .../api/device/DefaultIpDeviceDescription.java | 117 ------- .../api/device/DefaultPrefixDescription.java | 86 ----- .../api/device/InterfaceDescription.java | 51 --- .../iptopology/api/device/IpDeviceDescription.java | 61 ---- .../iptopology/api/device/IpDeviceEvent.java | 183 ----------- .../iptopology/api/device/IpDeviceListener.java | 24 -- .../iptopology/api/device/IpDeviceProvider.java | 25 -- .../api/device/IpDeviceProviderRegistry.java | 25 -- .../api/device/IpDeviceProviderService.java | 78 ----- .../iptopology/api/device/IpDeviceService.java | 111 ------- .../iptopology/api/device/IpDeviceStore.java | 164 ---------- .../api/device/IpDeviceStoreDelegate.java | 24 -- .../iptopology/api/device/PrefixDescription.java | 41 --- .../iptopology/api/device/package-info.java | 20 -- .../api/link/DefaultIpLinkDescription.java | 95 ------ .../iptopology/api/link/IpLinkDescription.java | 55 ---- .../iptopology/api/link/IpLinkEvent.java | 68 ---- .../iptopology/api/link/IpLinkListener.java | 24 -- .../iptopology/api/link/IpLinkProvider.java | 25 -- .../api/link/IpLinkProviderRegistry.java | 25 -- .../iptopology/api/link/IpLinkProviderService.java | 57 ---- .../iptopology/api/link/IpLinkService.java | 108 ------- .../iptopology/api/link/IpLinkStore.java | 115 ------- .../iptopology/api/link/IpLinkStoreDelegate.java | 24 -- .../iptopology/api/link/package-info.java | 20 -- .../onosproject/iptopology/api/package-info.java | 20 -- 66 files changed, 5399 deletions(-) delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/AreaId.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/AsNumber.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/Color.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DefaultDeviceIntf.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DefaultDevicePrefix.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DefaultIpDevice.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DefaultIpLink.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DeviceInterface.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DeviceIntf.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DevicePrefix.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DeviceTed.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DomainId.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/ExtendedRouteTag.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IgpFlags.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/InterfaceIdentifier.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IpDevice.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IpDeviceIdentifier.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IpLink.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IpLinkIdentifier.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IpReachability.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IsIsPseudonode.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IsoNodeId.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/LinkTed.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/Metric.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/OspfPseudonode.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/Position.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/PrefixIdentifier.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/PrefixTed.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/ProtectionType.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouteDistinguisher.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouteIdentifier.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouteInstance.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouteTag.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouteType.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouterId.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/Signalling.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/Srlg.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/TerminationPoint.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/TopologyId.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/DefaultInterfaceDescription.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/DefaultIpDeviceDescription.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/DefaultPrefixDescription.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/InterfaceDescription.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceDescription.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceEvent.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceListener.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceProvider.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceProviderRegistry.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceProviderService.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceService.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceStore.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceStoreDelegate.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/PrefixDescription.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/package-info.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/DefaultIpLinkDescription.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkDescription.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkEvent.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkListener.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkProvider.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkProviderRegistry.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkProviderService.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkService.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkStore.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkStoreDelegate.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/package-info.java delete mode 100644 framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/package-info.java (limited to 'framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject') diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/AreaId.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/AreaId.java deleted file mode 100644 index 79a326da..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/AreaId.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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -/** - * Area identifier class (32 Bit Area-ID). - */ -public class AreaId { - private final int areaId; - - /** - * Constructor to set area identifier. - * - * @param areaId area id - */ - public AreaId(int areaId) { - this.areaId = areaId; - } - - /** - * obtain area identifier. - * - * @return area identifier - */ - public int areaId() { - return areaId; - } - - @Override - public int hashCode() { - return Objects.hash(areaId); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof AreaId) { - AreaId other = (AreaId) obj; - return Objects.equals(areaId, other.areaId); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("areaId", areaId) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/AsNumber.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/AsNumber.java deleted file mode 100644 index 3159b20a..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/AsNumber.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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -/** - * Autonomous system Number class (32 Bit ASNumber). - */ -public class AsNumber { - private final int asNum; - - /** - * Constructor to set As number. - * - * @param asNum As number - */ - public AsNumber(int asNum) { - this.asNum = asNum; - } - - /** - * Obtain autonomous system number. - * - * @return autonomous system number - */ - public int asNum() { - return asNum; - } - - @Override - public int hashCode() { - return Objects.hash(asNum); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof AsNumber) { - AsNumber other = (AsNumber) obj; - return Objects.equals(asNum, other.asNum); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("asNum", asNum) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/Color.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/Color.java deleted file mode 100644 index cb38fa67..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/Color.java +++ /dev/null @@ -1,72 +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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -/** - * Represents administrative group color. - * bit mask - least significant bit is referred to as 'group 0', - * and the most significant bit is referred to as 'group 31' - */ -public class Color { - private final int color; - - /** - * Constructor to initialize its parameter. - * - * @param color assigned by the network administrator - */ - public Color(int color) { - this.color = color; - } - - /** - * Obtains administrative group. - * - * @return administrative group - */ - public int color() { - return color; - } - - @Override - public int hashCode() { - return Objects.hash(color); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof Color) { - Color other = (Color) obj; - return Objects.equals(color, other.color); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("color", color) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DefaultDeviceIntf.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DefaultDeviceIntf.java deleted file mode 100644 index e40cbfc0..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DefaultDeviceIntf.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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -import org.onosproject.net.Element; - -/** - * Default Device interface implementation. - */ -public class DefaultDeviceIntf implements DeviceIntf { - - private final Element element; - private final DeviceInterface deviceInterface; - - /** - * Constructor to initialize device interface parameters. - * - * @param element parent network element - * @param deviceInterface device interface - */ - public DefaultDeviceIntf(Element element, DeviceInterface deviceInterface) { - this.element = element; - this.deviceInterface = deviceInterface; - } - - @Override - public Element element() { - return element; - } - - @Override - public DeviceInterface deviceInterface() { - return deviceInterface; - } - - @Override - public int hashCode() { - return Objects.hash(element, deviceInterface); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof DefaultDeviceIntf) { - final DefaultDeviceIntf other = (DefaultDeviceIntf) obj; - return Objects.equals(this.element.id(), other.element.id()) - && Objects.equals(this.deviceInterface, other.deviceInterface); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("element", element.id()) - .add("deviceInterface", deviceInterface) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DefaultDevicePrefix.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DefaultDevicePrefix.java deleted file mode 100644 index 2b1dde6f..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DefaultDevicePrefix.java +++ /dev/null @@ -1,95 +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.iptopology.api; - -import org.onosproject.net.AbstractAnnotated; -import org.onosproject.net.Annotations; -import org.onosproject.net.Element; - -import java.util.Objects; - -import static com.google.common.base.MoreObjects.toStringHelper; - -/** - * Default Device prefix implementation. - */ -public class DefaultDevicePrefix extends AbstractAnnotated implements DevicePrefix { - - private final Element element; - private final PrefixIdentifier prefixIdentifier; - private final PrefixTed prefixTed; - - /** - * Creates a network device prefix attributed to the specified element. - * - * @param element parent network element - * @param prefixIdentifier prefix identifier - * @param prefixTed prefid traffic engineering parameters - * @param annotations optional key/value annotations - */ - public DefaultDevicePrefix(Element element, PrefixIdentifier prefixIdentifier, - PrefixTed prefixTed, Annotations... annotations) { - super(annotations); - this.element = element; - this.prefixIdentifier = prefixIdentifier; - this.prefixTed = prefixTed; - } - - @Override - public Element element() { - return element; - } - - @Override - public PrefixIdentifier prefixIdentifier() { - return prefixIdentifier; - } - - @Override - public PrefixTed prefixTed() { - return prefixTed; - } - - @Override - public int hashCode() { - return Objects.hash(element, prefixIdentifier, prefixTed); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof DefaultDevicePrefix) { - final DefaultDevicePrefix other = (DefaultDevicePrefix) obj; - return Objects.equals(this.element.id(), other.element.id()) && - Objects.equals(this.prefixIdentifier, other.prefixIdentifier) && - Objects.equals(this.prefixTed, other.prefixTed) && - Objects.equals(this.annotations(), other.annotations()); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .omitNullValues() - .add("element", element.id()) - .add("prefixIdentifier", prefixIdentifier) - .add("prefixTed", prefixTed) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DefaultIpDevice.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DefaultIpDevice.java deleted file mode 100644 index a2d0165c..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DefaultIpDevice.java +++ /dev/null @@ -1,113 +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.iptopology.api; - -import org.onosproject.net.AbstractElement; -import org.onosproject.net.Annotations; -import org.onosproject.net.DeviceId; -import org.onosproject.net.provider.ProviderId; - -import java.util.Objects; - -import static com.google.common.base.MoreObjects.toStringHelper; - -/** - * Default ip device model implementation. - */ -public class DefaultIpDevice extends AbstractElement implements IpDevice { - - private final Type type; - private final IpDeviceIdentifier deviceIdentifier; - private final DeviceTed deviceTed; - - - /** - * For Serialization. - */ - private DefaultIpDevice() { - this.type = null; - this.deviceIdentifier = null; - this.deviceTed = null; - } - - /** - * Creates a network element attributed to the specified provider. - * - * @param providerId identity of the provider - * @param id device identifier - * @param type device type - * @param deviceIdentifier provides device identifier details - * @param deviceTed device traffic engineering parameters - * @param annotations optional key/value annotations - */ - public DefaultIpDevice(ProviderId providerId, DeviceId id, Type type, - IpDeviceIdentifier deviceIdentifier, DeviceTed deviceTed, - Annotations... annotations) { - super(providerId, id, annotations); - this.type = type; - this.deviceIdentifier = deviceIdentifier; - this.deviceTed = deviceTed; - } - - @Override - public DeviceId id() { - return (DeviceId) id; - } - - @Override - public Type type() { - return type; - } - - @Override - public IpDeviceIdentifier deviceIdentifier() { - return deviceIdentifier; - } - - @Override - public DeviceTed deviceTed() { - return deviceTed; } - - @Override - public int hashCode() { - return Objects.hash(type, deviceIdentifier, deviceTed); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof DefaultIpDevice) { - final DefaultIpDevice other = (DefaultIpDevice) obj; - return Objects.equals(this.id, other.id) && - Objects.equals(this.type, other.type) && - Objects.equals(this.deviceIdentifier, other.deviceIdentifier) && - Objects.equals(this.deviceTed, other.deviceTed); - } - return false; - } - @Override - public String toString() { - return toStringHelper(this) - .omitNullValues() - .add("id", id) - .add("deviceIdentifier", deviceIdentifier) - .add("deviceTed", deviceTed) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DefaultIpLink.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DefaultIpLink.java deleted file mode 100644 index 41f06047..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DefaultIpLink.java +++ /dev/null @@ -1,105 +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.iptopology.api; - -import org.onosproject.net.AbstractModel; -import org.onosproject.net.Annotations; -import org.onosproject.net.provider.ProviderId; - -import java.util.Objects; - -import static com.google.common.base.MoreObjects.toStringHelper; - -/** - * This class provides Link identifier and link ted details. - */ -public class DefaultIpLink extends AbstractModel implements IpLink { - - private final TerminationPoint src; - private final TerminationPoint dst; - private final IpLinkIdentifier linkIdentifier; - private final LinkTed linkTed; - - /** - * Constructor to initialize its parameters. - * - * @param src link source termination point - * @param dst link destination termination point - * @param linkIdentifier provides link identifier details - * @param linkTed provides link traffic engineering details - * @param annotations optional key/value annotations - */ - public DefaultIpLink(ProviderId providerId, TerminationPoint src, TerminationPoint dst, - IpLinkIdentifier linkIdentifier, LinkTed linkTed, - Annotations... annotations) { - super(providerId, annotations); - this.src = src; - this.dst = dst; - this.linkIdentifier = linkIdentifier; - this.linkTed = linkTed; - } - - @Override - public TerminationPoint src() { - return src; - } - - @Override - public TerminationPoint dst() { - return dst; - } - - @Override - public IpLinkIdentifier linkIdentifier() { - return linkIdentifier; - } - - @Override - public LinkTed linkTed() { - return linkTed; - } - - @Override - public int hashCode() { - return Objects.hash(src, dst, linkIdentifier, linkTed); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof DefaultIpLink) { - final DefaultIpLink other = (DefaultIpLink) obj; - return Objects.equals(this.src, other.src) && - Objects.equals(this.dst, other.dst) && - Objects.equals(this.linkIdentifier, other.linkIdentifier) && - Objects.equals(this.linkTed, other.linkTed); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .omitNullValues() - .add("src", src) - .add("dst", dst) - .add("linkIdentifier", linkIdentifier) - .add("linkTed", linkTed) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DeviceInterface.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DeviceInterface.java deleted file mode 100644 index 131aa623..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DeviceInterface.java +++ /dev/null @@ -1,100 +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.iptopology.api; - -import java.util.Objects; - -import org.onlab.packet.Ip4Address; -import org.onlab.packet.Ip6Address; - -import com.google.common.base.MoreObjects; - -/** - * Representation of device interface. - */ -public class DeviceInterface { - private final Ip4Address ip4Address; - private final Ip6Address ip6Address; - private final InterfaceIdentifier interfaceId; - - /** - * Constructor to initialize its parameter. - * - * @param ip4Address ipv4 interface address - * @param ip6Address ipv6 interface address - * @param interfaceId interface Identifier - */ - public DeviceInterface(Ip4Address ip4Address, Ip6Address ip6Address, InterfaceIdentifier interfaceId) { - this.ip4Address = ip4Address; - this.ip6Address = ip6Address; - this.interfaceId = interfaceId; - } - - /** - * obtains ipv4 address of an interface. - * - * @return ipv4 interface address - */ - public Ip4Address ip4Address() { - return ip4Address; - } - - /** - * obtains ipv6 interface address. - * - * @return ipv6 interface address - */ - public Ip6Address ip6Address() { - return ip6Address; - } - - /** - * obtains interface identifier. - * - * @return interface identifier - */ - public InterfaceIdentifier interfaceId() { - return interfaceId; - } - - @Override - public int hashCode() { - return Objects.hash(ip4Address, ip6Address, interfaceId); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof DeviceInterface) { - final DeviceInterface other = (DeviceInterface) obj; - return Objects.equals(this.ip4Address, other.ip4Address) - && Objects.equals(this.ip6Address, other.ip6Address) - && Objects.equals(this.interfaceId, other.interfaceId); - } - return false; - } - - @Override - public String toString() { - return MoreObjects.toStringHelper(this) - .add("ip4Address", ip4Address) - .add("ip6Address", ip6Address) - .add("interfaceId", interfaceId) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DeviceIntf.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DeviceIntf.java deleted file mode 100644 index ff18d3ac..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DeviceIntf.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.iptopology.api; - -import org.onosproject.net.Element; - -/** - * Abstraction of Device interface. - */ -public interface DeviceIntf { - /** - * Returns the parent network element to which this interface belongs. - * - * @return parent network element - */ - Element element(); - - /** - * Returns device interface details. - * - * @return device interface details - */ - DeviceInterface deviceInterface(); -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DevicePrefix.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DevicePrefix.java deleted file mode 100644 index 89efccd4..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DevicePrefix.java +++ /dev/null @@ -1,46 +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.iptopology.api; - -import org.onosproject.net.Annotated; -import org.onosproject.net.Element; - -/** - * Abstraction of Device Prefix. - */ -public interface DevicePrefix extends Annotated { - - /** - * Returns the parent network element to which this port belongs. - * - * @return parent network element - */ - Element element(); - - /** - * Returns prefix identifier details. - * - * @return prefix identifier details - */ - PrefixIdentifier prefixIdentifier(); - - /** - * Returns prefix Traffic engineering parameters. - * - * @return prefix Traffic engineering parameters - */ - PrefixTed prefixTed(); -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DeviceTed.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DeviceTed.java deleted file mode 100644 index 4d9da55d..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DeviceTed.java +++ /dev/null @@ -1,173 +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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Iterator; -import java.util.List; -import java.util.Objects; - -import org.onlab.packet.Ip4Address; -import org.onlab.packet.Ip6Address; - -/** - * Represents Device Traffic Engineering parameters. - */ -public class DeviceTed { - private final List ipv4RouterIds; - private final List ipv6RouterIds; - private final List topologyIds; - private final Position position; - - /** - * Constructor to initialize the parameter fields. - * - * @param ipv4RouterIds Router ids of Ipv4 - * @param ipv6RouterIds Router ids of Ipv6 - * @param topologyIds list of multi-topology IDs of the node - * @param position of router whether it is ABR or ASBR - */ - public DeviceTed(List ipv4RouterIds, List ipv6RouterIds, - List topologyIds, Position position) { - this.ipv4RouterIds = ipv4RouterIds; - this.ipv6RouterIds = ipv6RouterIds; - this.topologyIds = topologyIds; - this.position = position; - } - - /** - * Obtain list of Ipv4 Router id. - * - * @return Ipv4 Router ids - */ - public List ipv4RouterIds() { - return ipv4RouterIds; - } - - /** - * Obtain list of Ipv6 Router id. - * - * @return Ipv6 Router ids - */ - public List ipv6RouterIds() { - return ipv6RouterIds; - } - - /** - * Obtain the list of topology ID's. - * - * @return list of topology id's - */ - public List topologyIds() { - return topologyIds; - } - - - /** - * Obtain position of device in the network. - * - * @return position of device in the network - */ - public Position position() { - return position; - } - - @Override - public int hashCode() { - return Objects.hash(ipv4RouterIds, ipv6RouterIds, topologyIds, position); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof DeviceTed) { - int countObjSubTlv = 0; - int countOtherSubTlv = 0; - int countObjTopologyId = 0; - int countOtherTopologyId = 0; - boolean isCommonSubTlv = true; - boolean isCommonSubTlv6 = true; - boolean isCommonTopology = true; - DeviceTed other = (DeviceTed) obj; - Iterator objListIterator = other.ipv4RouterIds.iterator(); - countOtherSubTlv = other.ipv4RouterIds.size(); - countObjSubTlv = ipv4RouterIds.size(); - - Iterator objListIteratorIpv6 = other.ipv6RouterIds.iterator(); - int countOtherSubTlv6 = other.ipv6RouterIds.size(); - int countObjSubTlv6 = ipv6RouterIds.size(); - - Iterator topologyId = other.topologyIds.iterator(); - countOtherTopologyId = other.topologyIds.size(); - countObjTopologyId = topologyIds.size(); - - if (countObjSubTlv != countOtherSubTlv || countOtherSubTlv6 != countObjSubTlv6 - || countObjTopologyId != countOtherTopologyId) { - return false; - } else { - while (objListIterator.hasNext() && isCommonSubTlv) { - Ip4Address subTlv = objListIterator.next(); - //find index of that element and then get that from the list and then compare - if (ipv4RouterIds.contains(subTlv) && other.ipv4RouterIds.contains(subTlv)) { - isCommonSubTlv = Objects.equals(ipv4RouterIds.get(ipv4RouterIds.indexOf(subTlv)), - other.ipv4RouterIds.get(other.ipv4RouterIds.indexOf(subTlv))); - } else { - isCommonSubTlv = false; - } - } - while (objListIteratorIpv6.hasNext() && isCommonSubTlv6) { - Ip6Address subTlv = objListIteratorIpv6.next(); - //find index of that element and then get that from the list and then compare - if (ipv6RouterIds.contains(subTlv) && other.ipv6RouterIds.contains(subTlv)) { - isCommonSubTlv6 = Objects.equals(ipv6RouterIds.get(ipv6RouterIds.indexOf(subTlv)), - other.ipv6RouterIds.get(other.ipv6RouterIds.indexOf(subTlv))); - } else { - isCommonSubTlv6 = false; - } - } - while (topologyId.hasNext() && isCommonTopology) { - TopologyId subTlv = topologyId.next(); - //find index of that element and then get that from the list and then compare - if (topologyIds.contains(subTlv) && other.topologyIds.contains(subTlv)) { - isCommonTopology = Objects.equals(topologyIds.get(topologyIds.indexOf(subTlv)), - other.topologyIds.get(other.topologyIds.indexOf(subTlv))); - } else { - isCommonTopology = false; - } - } - return isCommonSubTlv && isCommonSubTlv6 && isCommonTopology - && Objects.equals(position, other.position); - } - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .omitNullValues() - .add("ipv6RouterIds", ipv6RouterIds) - .add("ipv4RouterIds", ipv4RouterIds) - .add("topologyIds", topologyIds) - .add("position", position) - .toString(); - } - -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DomainId.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DomainId.java deleted file mode 100644 index 4fb10701..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DomainId.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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -/** - * Domain Identifier(32 Bit). - */ -public class DomainId { - private final int domainIdentifier; - - /** - * Constructor to initialize domain identifier. - * - * @param domainIdentifier domain identifier - */ - public DomainId(int domainIdentifier) { - this.domainIdentifier = domainIdentifier; - } - - /** - * Obtain domain identifier. - * - * @return domain identifier - */ - public int domainIdentifier() { - return domainIdentifier; - } - - @Override - public int hashCode() { - return Objects.hash(domainIdentifier); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof DomainId) { - DomainId other = (DomainId) obj; - return Objects.equals(domainIdentifier, other.domainIdentifier); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("domainIdentifier", domainIdentifier) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/ExtendedRouteTag.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/ExtendedRouteTag.java deleted file mode 100644 index 9bd87c1b..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/ExtendedRouteTag.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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -/** - * Represents the extended igp administrative tags of the prefix. - */ -public class ExtendedRouteTag { - private final long extRouteTag; - - /** - * Constructor to initialize its parameter. - * - * @param extRouteTag extended ISIS route tag - */ - public ExtendedRouteTag(long extRouteTag) { - this.extRouteTag = extRouteTag; - } - - /** - * Obtains extended igp administrative tags. - * - * @return extended igp administrative tags - */ - public long extRouteTag() { - return extRouteTag; - } - - @Override - public int hashCode() { - return Objects.hash(extRouteTag); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof ExtendedRouteTag) { - ExtendedRouteTag other = (ExtendedRouteTag) obj; - return Objects.equals(extRouteTag, other.extRouteTag); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("extRouteTag", extRouteTag) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IgpFlags.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IgpFlags.java deleted file mode 100644 index 59084c04..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IgpFlags.java +++ /dev/null @@ -1,114 +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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -/** - * This class provides implementation IS-IS and OSPF flags assigned to the prefix. - */ -public class IgpFlags { - private final boolean isisUpDown; - private final boolean ospfNoUnicast; - private final boolean ospfLclAddr; - private final boolean ospfNssa; - - /** - * Constructor to initialize its parameters. - * - * @param isisUpDown IS-IS Up/Down - * @param ospfNoUnicast OSPF no unicast - * @param ospfLclAddr OSPF local address - * @param ospfNssa OSPF propagate NSSA - */ - public IgpFlags(boolean isisUpDown, boolean ospfNoUnicast, boolean ospfLclAddr, - boolean ospfNssa) { - this.isisUpDown = isisUpDown; - this.ospfNoUnicast = ospfNoUnicast; - this.ospfLclAddr = ospfLclAddr; - this.ospfNssa = ospfNssa; - } - - /** - * Provides information whether IS-IS is Up/Down. - * - * @return IS-IS Up/Down bit enabled or not - */ - public boolean isisUpDown() { - return isisUpDown; - } - - /** - * Provides information whether OSPF is unicast or not. - * - * @return OSPF no unicast Bit set or not - */ - public boolean ospfNoUnicast() { - return ospfNoUnicast; - } - - /** - * Provides information on OSPF local address. - * - * @return OSPF local address Bit set or not - */ - public boolean ospfLclAddr() { - return ospfLclAddr; - } - - /** - * Provides information on OSPF propagate NSSA. - * - * @return OSPF propagate NSSA Bit set or not - */ - public boolean ospfNssa() { - return ospfNssa; - } - - @Override - public int hashCode() { - return Objects.hash(isisUpDown, ospfNoUnicast, ospfLclAddr, - ospfNssa); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof IgpFlags) { - IgpFlags other = (IgpFlags) obj; - return Objects.equals(isisUpDown, other.isisUpDown) - && Objects.equals(ospfNoUnicast, other.ospfNoUnicast) - && Objects.equals(ospfLclAddr, other.ospfLclAddr) - && Objects.equals(ospfNssa, other.ospfNssa); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("isisUpDown", isisUpDown) - .add("ospfNoUnicast", ospfNoUnicast) - .add("ospfLclAddr", ospfLclAddr) - .add("ospfNssa", ospfNssa) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/InterfaceIdentifier.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/InterfaceIdentifier.java deleted file mode 100644 index 405e1417..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/InterfaceIdentifier.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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -/** - * This class provides information on Local Interface Identifier and Remote - * Interface Identifier of the link. - */ -public class InterfaceIdentifier { - private final Integer identifier; - - /** - * Constructor to initialize identifier. - * - * @param identifier local/remote interface identifier - */ - public InterfaceIdentifier(Integer identifier) { - this.identifier = identifier; - } - - /** - * Provides the local/remote interface identifier of the link. - * - * @return interface identifier - */ - public Integer identifier() { - return identifier; - } - - @Override - public int hashCode() { - return Objects.hash(identifier); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof InterfaceIdentifier) { - InterfaceIdentifier other = (InterfaceIdentifier) obj; - return Objects.equals(identifier, other.identifier); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("identifier", identifier) - .toString(); - } -} diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IpDevice.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IpDevice.java deleted file mode 100644 index 131b7eae..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IpDevice.java +++ /dev/null @@ -1,68 +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.iptopology.api; - -import org.onosproject.net.DeviceId; -import org.onosproject.net.Element; - -/** - * Abstraction of Ip Device. - */ -public interface IpDevice extends Element { - /** - ** Enum type to store Device Type. - */ - enum Type { - /** - * Signifies that the device is pseudo device. - */ - PSEUDO, - - /** - * Signifies that the device is non-pseudo device. - */ - NONPSEUDO; - } - - /** - * Obtains device id. - * - * @return device id - */ - @Override - DeviceId id(); - - /** - * Obtains device type. - * - * @return device type - */ - Type type(); - - /** - * Obtains Device identifier details. - * - * @return identifier of the device - */ - IpDeviceIdentifier deviceIdentifier(); - - /** - * Obtains the traffic engineering parameters of the device. - * - * @return traffic engineering parameters of the device - */ - DeviceTed deviceTed(); -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IpDeviceIdentifier.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IpDeviceIdentifier.java deleted file mode 100644 index 472fe008..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IpDeviceIdentifier.java +++ /dev/null @@ -1,141 +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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -/** - * Represents IP Device Identifiers. - */ -public class IpDeviceIdentifier { - - private final RouteDistinguisher routeDish; - private final RouteInstance routeInstance; - private final AsNumber asNum; - private final DomainId domainIdentifier; - private final AreaId areaId; - private final RouteIdentifier routerIdentifier; - - /** - * Constructor to initialize parameters. - * - * @param routeInstance routing protocol instance - * @param asNum AS number - * @param domainIdentifier BGP-LS domain - * @param areaId Area ID - * @param routerIdentifier IGP router ID - */ - public IpDeviceIdentifier(RouteDistinguisher routeDish, RouteInstance routeInstance, AsNumber asNum, - DomainId domainIdentifier, AreaId areaId, RouteIdentifier routerIdentifier) { - this.routeDish = routeDish; - this.areaId = areaId; - this.asNum = asNum; - this.domainIdentifier = domainIdentifier; - this.routeInstance = routeInstance; - this.routerIdentifier = routerIdentifier; - } - - /** - * Obtains Route Distinguisher of Ip Device. - * - * @return Area ID - */ - public RouteDistinguisher routeDish() { - return routeDish; - } - - /** - * Obtains Area ID if Ip Device. - * - * @return Area ID - */ - public AreaId areaId() { - return areaId; - } - - /** - * Obtains AS number of Ip Device. - * - * @return AS number - */ - public AsNumber asNum() { - return asNum; - } - - /** - * Obtains domain identifier of Ip Device. - * - * @return domain identifier - */ - public DomainId domainIdentifier() { - return domainIdentifier; - } - - /** - * Obtains Router id of Ip Device. - * - * @return Router id - */ - public RouteIdentifier routerIdentifier() { - return routerIdentifier; - } - - /** - * Obtains routing protocol instance. - * - * @return routing protocol instance - */ - public RouteInstance routeInstance() { - return routeInstance; - } - - @Override - public int hashCode() { - return Objects.hash(routeDish, areaId, asNum, domainIdentifier, routerIdentifier, routeInstance); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof IpDeviceIdentifier) { - IpDeviceIdentifier other = (IpDeviceIdentifier) obj; - return Objects.equals(areaId, other.areaId) && Objects.equals(asNum, other.asNum) - && Objects.equals(domainIdentifier, other.domainIdentifier) - && Objects.equals(routerIdentifier, other.routerIdentifier) - && Objects.equals(routeInstance, other.routeInstance) - && Objects.equals(routeDish, other.routeDish); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .omitNullValues() - .add("areaId", areaId) - .add("asNum", asNum) - .add("domainIdentifier", domainIdentifier) - .add("routerIdentifier", routerIdentifier) - .add("routeInstance", routeInstance) - .add("routeDish", routeDish) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IpLink.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IpLink.java deleted file mode 100644 index d632d2db..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IpLink.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.iptopology.api; - -import org.onosproject.net.Annotated; -import org.onosproject.net.NetworkResource; -import org.onosproject.net.Provided; - -/** - * Abstraction of a network ip link. - */ -public interface IpLink extends Annotated, Provided, NetworkResource { - - /** - * Returns source termination point of link. - * - * @return source termination point of link - */ - TerminationPoint src(); - - /** - * Returns destination termination point of link. - * - * @return destination termination point of link - */ - TerminationPoint dst(); - - /** - * Returns link identifier details. - * - * @return link identifier details - */ - IpLinkIdentifier linkIdentifier(); - - /** - * Returns the link traffic engineering parameters. - * - * @return links traffic engineering parameters - */ - LinkTed linkTed(); -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IpLinkIdentifier.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IpLinkIdentifier.java deleted file mode 100644 index 8522f945..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IpLinkIdentifier.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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -import org.onlab.packet.Ip4Address; -import org.onlab.packet.Ip6Address; - -/** - * Represents Ip Link Identifier. - */ -public class IpLinkIdentifier { - private final InterfaceIdentifier localIndentifier; - private final InterfaceIdentifier remoteIndentifier; - private final Ip4Address localIpv4Addr; - private final Ip4Address remoteIpv4Addr; - private final Ip6Address localIpv6Addr; - private final Ip6Address remoteIpv6Addr; - private final TopologyId topologyId; - - /** - * Constructor to initialize its parameters. - * - * @param localIndentifier local interface identifier of the link - * @param remoteIndentifier remote interface identifier of the link - * @param localIpv4Addr local IPv4 address of the link - * @param remoteIpv4Addr remote IPv4 address of the link - * @param localIpv6Addr local IPv6 address of the link - * @param remoteIpv6Addr remote IPv6 address of the link - * @param topologyId link topology identifier - */ - public IpLinkIdentifier(InterfaceIdentifier localIndentifier, InterfaceIdentifier remoteIndentifier, - Ip4Address localIpv4Addr, Ip4Address remoteIpv4Addr, Ip6Address localIpv6Addr, - Ip6Address remoteIpv6Addr, TopologyId topologyId) { - this.localIndentifier = localIndentifier; - this.remoteIndentifier = remoteIndentifier; - this.localIpv4Addr = localIpv4Addr; - this.remoteIpv4Addr = remoteIpv4Addr; - this.localIpv6Addr = localIpv6Addr; - this.remoteIpv6Addr = remoteIpv6Addr; - this.topologyId = topologyId; - } - - /** - * Obtains link local identifier. - * - * @return link local identifier - */ - public InterfaceIdentifier localIndentifier() { - return localIndentifier; - } - - /** - * Obtains link local identifier. - * - * @return link local identifier - */ - public InterfaceIdentifier remoteIndentifier() { - return remoteIndentifier; - } - - /** - * Obtains local IPv4 address of the link. - * - * @return local IPv4 address of the link - */ - public Ip4Address localIpv4Addr() { - return localIpv4Addr; - } - - /** - * Obtains remote IPv4 address of the link. - * - * @return remote IPv4 address of the link - */ - public Ip4Address remoteIpv4Addr() { - return remoteIpv4Addr; - } - - /** - * Obtains local IPv6 address of the link. - * - * @return local IPv6 address of the link - */ - public Ip6Address localIpv6Addr() { - return localIpv6Addr; - } - - /** - * Obtains remote IPv6 address of the link. - * - * @return remote IPv6 address of the link - */ - public Ip6Address remoteIpv6Addr() { - return remoteIpv6Addr; - } - - /** - * Obtains Topology ID of the link. - * - * @return Topology ID of the link - */ - public TopologyId topologyId() { - return topologyId; - } - - @Override - public int hashCode() { - return Objects.hash(localIndentifier, remoteIndentifier, localIpv4Addr, remoteIpv4Addr, - localIpv6Addr, remoteIpv6Addr, topologyId); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof IpLinkIdentifier) { - IpLinkIdentifier other = (IpLinkIdentifier) obj; - return Objects.equals(topologyId, other.topologyId) - && Objects.equals(localIndentifier, other.localIndentifier) - && Objects.equals(remoteIndentifier, other.remoteIndentifier) - && Objects.equals(localIpv4Addr, other.localIpv4Addr) - && Objects.equals(remoteIpv4Addr, other.remoteIpv4Addr) - && Objects.equals(localIpv6Addr, other.localIpv6Addr) - && Objects.equals(remoteIpv6Addr, other.remoteIpv6Addr); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .omitNullValues() - .add("localIndentifier", localIndentifier) - .add("remoteIndentifier", remoteIndentifier) - .add("localIpv4Addr", localIpv4Addr) - .add("remoteIpv4Addr", remoteIpv4Addr) - .add("localIpv6Addr", localIpv6Addr) - .add("remoteIpv6Addr", remoteIpv6Addr) - .add("topologyId", topologyId) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IpReachability.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IpReachability.java deleted file mode 100644 index 8fdd4d31..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IpReachability.java +++ /dev/null @@ -1,73 +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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -import org.onlab.packet.IpPrefix; - -/** - * Provides information of IP address prefix in the IGP topology and a router advertises - * this to each of its BGP nexthop. - */ -public class IpReachability { - private final IpPrefix ipPrefix; - - /** - * Constructor to initialize IP prefix. - * - * @param ipPrefix IP address prefix - */ - public IpReachability(IpPrefix ipPrefix) { - this.ipPrefix = ipPrefix; - } - - /** - * Provides IP Address prefix reachability. - * - * @return IP Address prefix - */ - public IpPrefix ipPrefix() { - return ipPrefix; - } - - @Override - public int hashCode() { - return Objects.hash(ipPrefix); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof IpReachability) { - IpReachability other = (IpReachability) obj; - return Objects.equals(ipPrefix, other.ipPrefix); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("ipPrefix", ipPrefix) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IsIsPseudonode.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IsIsPseudonode.java deleted file mode 100644 index 064d830b..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IsIsPseudonode.java +++ /dev/null @@ -1,93 +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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -/** - * Represents the Pseudonode information of device in ISIS domain. - */ -public class IsIsPseudonode implements RouteIdentifier { - private final IsoNodeId isoNodeId; - private final byte psnIdentifier; - private final ProtocolType type; - - /** - * Constructor to initialize the values. - * - * @param isoNodeId ISO system-ID - * @param psnIdentifier Pseudonode identifier - * @param type Protocol ID - */ - public IsIsPseudonode(IsoNodeId isoNodeId, byte psnIdentifier, ProtocolType type) { - this.isoNodeId = isoNodeId; - this.psnIdentifier = psnIdentifier; - this.type = type; - } - - /** - * Obtains iso system id of Pseudonode of device in ISIS domain. - * - * @return ISO system Id - */ - public IsoNodeId isoNodeId() { - return isoNodeId; - } - - /** - * Obtains Pseudonode identifier. - * - * @return Pseudonode identifier - */ - public byte psnIdentifier() { - return psnIdentifier; - } - - @Override - public ProtocolType type() { - return type; - } - - @Override - public int hashCode() { - return Objects.hash(isoNodeId, psnIdentifier, type); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof IsIsPseudonode) { - IsIsPseudonode other = (IsIsPseudonode) obj; - return Objects.equals(isoNodeId, other.isoNodeId) && Objects.equals(psnIdentifier, other.psnIdentifier) - && Objects.equals(type, other.type); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("isoNodeId", isoNodeId) - .add("psnIdentifier", psnIdentifier) - .add("type", type) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IsoNodeId.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IsoNodeId.java deleted file mode 100644 index 8bb3d8b9..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IsoNodeId.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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -/** - * Represents ISO system id of the device. - */ -public class IsoNodeId implements RouteIdentifier { - private final byte[] isoNodeId; - private final ProtocolType type; - - /** - * Constructor to initialize the values. - * - * @param isoNodeId ISO system-ID - * @param type Protocol type - */ - public IsoNodeId(byte[] isoNodeId, ProtocolType type) { - this.isoNodeId = isoNodeId; - this.type = type; - } - - /** - * Obtains ISO system id of the device. - * - * @return ISO system id - */ - public byte[] isoNodeId() { - return isoNodeId; - } - - @Override - public ProtocolType type() { - return type; - } - - @Override - public int hashCode() { - return Objects.hash(isoNodeId, type); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof IsoNodeId) { - IsoNodeId other = (IsoNodeId) obj; - return Objects.equals(isoNodeId, other.isoNodeId) && Objects.equals(type, other.type); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("isoNodeId", isoNodeId) - .add("type", type) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/LinkTed.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/LinkTed.java deleted file mode 100644 index 3a686034..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/LinkTed.java +++ /dev/null @@ -1,349 +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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Iterator; -import java.util.List; -import java.util.Objects; - -import org.onlab.packet.Ip4Address; -import org.onlab.packet.Ip6Address; -import org.onlab.util.Bandwidth; - -/** - * Represents Link Traffic engineering parameters. - */ -public class LinkTed { - private final Bandwidth maximumLink; - private final Bandwidth maxReserved; - private final List maxUnResBandwidth; - private final Metric teMetric; - private final Metric igpMetric; - private final List ipv4LocRouterId; - private final List ipv6LocRouterId; - private final List ipv4RemRouterId; - private final List ipv6RemRouterId; - private final Color color; - private final Signalling signalType; - private final List srlgGroup; - private final ProtectionType protectType; - - /** - * Constructor to initialize its parameter. - * - * @param maximumLink maximum bandwidth can be used - * @param maxReserved max bandwidth that can be reserved - * @param maxUnResBandwidth amount of bandwidth reservable - * @param teMetric Traffic engineering metric - * @param igpMetric IGP metric - * @param color information on administrative group assigned to the interface - * @param signalType MPLS signaling protocols - * @param srlgGroup Shared Risk Link Group information - * @param protectType protection capabilities of the link - * @param ipv4LocRouterId IPv4 router-Id of local node - * @param ipv6LocRouterId IPv6 router-Id of local node - * @param ipv4RemRouterId IPv4 router-Id of remote node - * @param ipv6RemRouterId IPv6 router-Id of remote node - */ - public LinkTed(Bandwidth maximumLink, Bandwidth maxReserved, List maxUnResBandwidth, - Metric teMetric, Metric igpMetric, Color color, Signalling signalType, List srlgGroup, - ProtectionType protectType, List ipv4LocRouterId, List ipv6LocRouterId, - List ipv4RemRouterId, List ipv6RemRouterId) { - this.maximumLink = maximumLink; - this.maxReserved = maxReserved; - this.maxUnResBandwidth = maxUnResBandwidth; - this.teMetric = teMetric; - this.igpMetric = igpMetric; - this.color = color; - this.signalType = signalType; - this.srlgGroup = srlgGroup; - this.protectType = protectType; - this.ipv4LocRouterId = ipv4LocRouterId; - this.ipv6LocRouterId = ipv6LocRouterId; - this.ipv4RemRouterId = ipv4RemRouterId; - this.ipv6RemRouterId = ipv6RemRouterId; - } - - /** - * Provides maximum bandwidth can be used on the link. - * - * @return maximum bandwidth - */ - public Bandwidth maximumLink() { - return maximumLink; - } - - /** - * Amount of bandwidth reservable on the link. - * - * @return unreserved bandwidth - */ - public List maxUnResBandwidth() { - return maxUnResBandwidth; - } - - /** - * Provides max bandwidth that can be reserved on the link. - * - * @return max bandwidth reserved - */ - public Bandwidth maxReserved() { - return maxReserved; - } - - /** - * Provides Traffic engineering metric for the link. - * - * @return Traffic engineering metric - */ - public Metric teMetric() { - return teMetric; - } - - /** - * Provides IGP metric for the link. - * - * @return IGP metric - */ - public Metric igpMetric() { - return igpMetric; - } - - /** - * Provides protection capabilities of the link. - * - * @return link protection type - */ - public ProtectionType protectType() { - return protectType; - } - - /** - * Provides Shared Risk Link Group information. - * - * @return Shared Risk Link Group value - */ - public List srlgGroup() { - return srlgGroup; - } - - /** - * Provides which MPLS signaling protocols are enabled. - * - * @return signal type - */ - public Signalling signalType() { - return signalType; - } - - /** - * Provides information on administrative group assigned to the interface. - * - * @return 4-octect bit mask assigned by network administrator - */ - public Color color() { - return color; - } - - /** - * Provides IPv4 router-Id of local node. - * - * @return IPv4 router-Id of local node - */ - public List ipv4LocRouterId() { - return ipv4LocRouterId; - } - - /** - * Provides IPv6 router-Id of local node. - * - * @return IPv6 router-Id of local node - */ - public List ipv6LocRouterId() { - return ipv6LocRouterId; - } - - /** - * Provides IPv4 router-Id of remote node. - * - * @return IPv4 router-Id of remote node - */ - public List ipv4RemRouterId() { - return ipv4RemRouterId; - } - - /** - * Provides IPv6 router-Id of remote node. - * - * @return IPv6 router-Id of remote node - */ - public List ipv6RemRouterId() { - return ipv6RemRouterId; - } - - @Override - public int hashCode() { - return Objects.hash(maximumLink, maxReserved, maxUnResBandwidth, teMetric, igpMetric, - ipv4LocRouterId, ipv6LocRouterId, ipv4RemRouterId, ipv6RemRouterId, - color, signalType, srlgGroup, protectType); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof LinkTed) { - int countCommonBandwidth = 0; - int countOtherCommonBandwidth = 0; - int countOther4LocRouterId = 0; - int countCommon4LocRouterId = 0; - int countOther6RemRouterId = 0; - int countCommon6RemRouterId = 0; - int countOther4RemRouterId = 0; - int countCommon4RemRouterId = 0; - int countCommon6LocRouterId = 0; - int countOther6LocRouterId = 0; - int countCommonSrlg = 0; - int countOtherSrlg = 0; - boolean isCommonBandwidth = true; - boolean isCommonIp4Loc = true; - boolean isCommonIp4Rem = true; - boolean isCommonIp6Loc = true; - boolean isCommonIp6Rem = true; - boolean isCommonSrlg = true; - LinkTed other = (LinkTed) obj; - Iterator objListIterator = other.maxUnResBandwidth.iterator(); - countOtherCommonBandwidth = other.maxUnResBandwidth.size(); - countCommonBandwidth = maxUnResBandwidth.size(); - - Iterator ipv4local = other.ipv4LocRouterId.iterator(); - countOther4LocRouterId = other.ipv4LocRouterId.size(); - countCommon4LocRouterId = ipv4LocRouterId.size(); - - Iterator ipv4remote = other.ipv4RemRouterId.iterator(); - countOther4RemRouterId = other.ipv4RemRouterId.size(); - countCommon4RemRouterId = ipv4RemRouterId.size(); - - Iterator ipv6local = other.ipv6LocRouterId.iterator(); - countOther6LocRouterId = other.ipv6LocRouterId.size(); - countCommon6LocRouterId = ipv6LocRouterId.size(); - - Iterator ipv6remote = other.ipv6RemRouterId.iterator(); - countOther6RemRouterId = other.ipv6RemRouterId.size(); - countCommon6RemRouterId = ipv6RemRouterId.size(); - - Iterator srlg = other.srlgGroup.iterator(); - countOtherSrlg = other.srlgGroup.size(); - countCommonSrlg = srlgGroup.size(); - - if (countOtherCommonBandwidth != countCommonBandwidth - || countOther4LocRouterId != countCommon4LocRouterId - || countOther4RemRouterId != countCommon4RemRouterId - || countOther6LocRouterId != countCommon6LocRouterId - || countOther6RemRouterId != countCommon6RemRouterId - || countOtherSrlg != countCommonSrlg) { - return false; - } else { - while (objListIterator.hasNext() && isCommonBandwidth) { - Bandwidth subTlv = objListIterator.next(); - if (maxUnResBandwidth.contains(subTlv) && other.maxUnResBandwidth.contains(subTlv)) { - isCommonBandwidth = Objects.equals(maxUnResBandwidth.get(maxUnResBandwidth.indexOf(subTlv)), - other.maxUnResBandwidth.get(other.maxUnResBandwidth.indexOf(subTlv))); - } else { - isCommonBandwidth = false; - } - } - while (ipv4local.hasNext() && isCommonIp4Loc) { - Ip4Address subTlv = ipv4local.next(); - if (ipv4LocRouterId.contains(subTlv) && other.ipv4LocRouterId.contains(subTlv)) { - isCommonIp4Loc = Objects.equals(ipv4LocRouterId.get(ipv4LocRouterId.indexOf(subTlv)), - other.ipv4LocRouterId.get(other.ipv4LocRouterId.indexOf(subTlv))); - } else { - isCommonIp4Loc = false; - } - } - while (ipv4remote.hasNext() && isCommonIp4Rem) { - Ip4Address subTlv = ipv4remote.next(); - if (ipv4RemRouterId.contains(subTlv) && other.ipv4RemRouterId.contains(subTlv)) { - isCommonIp4Rem = Objects.equals(ipv4RemRouterId.get(ipv4RemRouterId.indexOf(subTlv)), - other.ipv4RemRouterId.get(other.ipv4RemRouterId.indexOf(subTlv))); - } else { - isCommonIp4Rem = false; - } - } - while (ipv6remote.hasNext() && isCommonIp6Rem) { - Ip6Address subTlv = ipv6remote.next(); - if (ipv6RemRouterId.contains(subTlv) && other.ipv6RemRouterId.contains(subTlv)) { - isCommonIp6Rem = Objects.equals(ipv6RemRouterId.get(ipv6RemRouterId.indexOf(subTlv)), - other.ipv6RemRouterId.get(other.ipv6RemRouterId.indexOf(subTlv))); - } else { - isCommonIp6Rem = false; - } - } - while (ipv6local.hasNext() && isCommonIp6Loc) { - Ip6Address subTlv = ipv6local.next(); - if (ipv6LocRouterId.contains(subTlv) && other.ipv6LocRouterId.contains(subTlv)) { - isCommonIp6Loc = Objects.equals(ipv6LocRouterId.get(ipv6LocRouterId.indexOf(subTlv)), - other.ipv6LocRouterId.get(other.ipv6LocRouterId.indexOf(subTlv))); - } else { - isCommonIp6Loc = false; - } - } - while (srlg.hasNext() && isCommonIp6Loc) { - Srlg subTlv = srlg.next(); - if (srlgGroup.contains(subTlv) && other.srlgGroup.contains(subTlv)) { - isCommonSrlg = Objects.equals(srlgGroup.get(srlgGroup.indexOf(subTlv)), - other.srlgGroup.get(other.srlgGroup.indexOf(subTlv))); - } else { - isCommonSrlg = false; - } - } - return isCommonBandwidth && isCommonIp4Loc && isCommonIp4Rem && isCommonIp6Rem && isCommonIp6Loc - && isCommonSrlg - && Objects.equals(igpMetric, other.igpMetric) - && Objects.equals(teMetric, other.teMetric) - && Objects.equals(maximumLink, other.maximumLink) - && Objects.equals(protectType, other.protectType) - && Objects.equals(color, other.color) - && Objects.equals(signalType, other.signalType); - } - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("igpMetric", igpMetric) - .add("teMetric", teMetric) - .add("maximumLink", maximumLink) - .add("maxReserved", maxReserved) - .add("maxUnResBandwidth", maxUnResBandwidth) - .add("ipv4LocRouterId", ipv4LocRouterId) - .add("ipv4RemRouterId", ipv4RemRouterId) - .add("ipv6LocRouterId", ipv6LocRouterId) - .add("ipv6RemRouterId", ipv6RemRouterId) - .add("protectType", protectType) - .add("color", color) - .add("srlgGroup", srlgGroup) - .add("signalType", signalType) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/Metric.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/Metric.java deleted file mode 100644 index 0af95b01..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/Metric.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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -/** - * Represents Traffic engineering metrics. - */ -public class Metric { - private final Integer metric; - - /** - * Constructor to initialize its metric. - * - * @param metric can be TE metric or IGP metric or Prefix metric - */ - public Metric(Integer metric) { - this.metric = metric; - } - - /** - * Obtains traffic engineering metric. - * - * @return traffic engineering metric - */ - public Integer metric() { - return metric; - } - - @Override - public int hashCode() { - return Objects.hash(metric); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof Metric) { - Metric other = (Metric) obj; - return Objects.equals(metric, other.metric); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("metric", metric) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/OspfPseudonode.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/OspfPseudonode.java deleted file mode 100644 index 86d96acb..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/OspfPseudonode.java +++ /dev/null @@ -1,96 +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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -import org.onlab.packet.Ip4Address; - -/** - * Represents Pseudonode information of OSFP device. - */ -public class OspfPseudonode implements RouteIdentifier { - private final RouterId designatedRouter; - private final Ip4Address drInterface; - private final ProtocolType type; - - /** - * Constructor to initialize the values. - * - * @param designatedRouter Router Id of designated router - * @param drInterface IP address of Designated Router interface - * @param type Protocol ID - */ - public OspfPseudonode(RouterId designatedRouter, Ip4Address drInterface, ProtocolType type) { - this.designatedRouter = designatedRouter; - this.drInterface = drInterface; - this.type = type; - } - - /** - * Obtains designated Router Id. - * - * @return designated Router Id - */ - public RouterId designatedRouter() { - return designatedRouter; - } - - /** - * Obtains IP address of Designated Router interface. - * - * @return IP address of Designated Router interface - */ - public Ip4Address drInterface() { - return drInterface; - } - - @Override - public ProtocolType type() { - return type; - } - - @Override - public int hashCode() { - return Objects.hash(designatedRouter, drInterface, type); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof OspfPseudonode) { - OspfPseudonode other = (OspfPseudonode) obj; - return Objects.equals(designatedRouter, other.designatedRouter) - && Objects.equals(drInterface, other.drInterface) - && Objects.equals(type, other.type); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("designatedRouter", designatedRouter) - .add("drInterface", drInterface) - .add("type", type) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/Position.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/Position.java deleted file mode 100644 index f81f9fd3..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/Position.java +++ /dev/null @@ -1,84 +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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -/** - * Represents Position of device in the network. - */ -public class Position { - private final Boolean asbr; - private final Boolean abr; - - /** - * Constructor to set position of device. - * - * @param asbr autonomous system boundary router - * @param abr area boundary router - */ - public Position(Boolean asbr, Boolean abr) { - this.asbr = asbr; - this.abr = abr; - } - - /** - * obtain whether the device is autonomous system boundary router or not. - * - * @return autonomous system boundary router or not - */ - Boolean asbr() { - return asbr; - } - - /** - * obtain whether the device is area boundary router or not. - * - * @return area boundary router or not - */ - Boolean abr() { - return abr; - } - - @Override - public int hashCode() { - return Objects.hash(abr, asbr); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof Position) { - Position other = (Position) obj; - return Objects.equals(abr, other.abr) && Objects.equals(asbr, other.asbr); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .omitNullValues() - .add("abrBit", abr) - .add("asbrBit", asbr) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/PrefixIdentifier.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/PrefixIdentifier.java deleted file mode 100644 index b41b5d71..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/PrefixIdentifier.java +++ /dev/null @@ -1,98 +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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -/** - * This class provides Prefix Identifier details. - */ -public class PrefixIdentifier { - private final TopologyId topologyId; - private final RouteType routeType; - private final IpReachability ipReach; - - /** - * Constructor to initialize its parameters. - * - * @param topologyId topology ID of prefix - * @param routeType OSPF Route type of the prefix - * @param ipReach IP address prefix reachability information - */ - public PrefixIdentifier(TopologyId topologyId, RouteType routeType, IpReachability ipReach) { - this.topologyId = topologyId; - this.routeType = routeType; - this.ipReach = ipReach; - } - - /** - * Provides topology ID of prefix. - * - * @return topology id - */ - public TopologyId topologyId() { - return this.topologyId; - } - - /** - * Provides IP address prefix reachability information. - * - * @return IP address prefix - */ - public IpReachability ipReach() { - return this.ipReach; - } - - /** - * Provides OSPF Route type of the prefix. - * - * @return Route type - */ - public RouteType routeType() { - return this.routeType; - } - - @Override - public int hashCode() { - return Objects.hash(topologyId, routeType, ipReach); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof PrefixIdentifier) { - PrefixIdentifier other = (PrefixIdentifier) obj; - return Objects.equals(topologyId, other.topologyId) && Objects.equals(routeType, other.routeType) - && Objects.equals(ipReach, other.ipReach); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .omitNullValues() - .add("routeType", routeType) - .add("ipReach", ipReach) - .add("topologyId", topologyId) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/PrefixTed.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/PrefixTed.java deleted file mode 100644 index 9f1c40ad..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/PrefixTed.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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -import org.onlab.packet.IpAddress; - -/** - * This class provides implementation of prefix traffic engineering data. - */ -public class PrefixTed { - private final IgpFlags igpFlags; - private final RouteTag routeTag; - private final ExtendedRouteTag extendedRouteTag; - private final Metric metric; - private final IpAddress fwdingAddress; - - /** - * Constructor to initialize its parameters. - * - * @param igpFlags igp flags - * @param routeTag ospf route tag - * @param extendedRouteTag isis route tag - * @param metric prefix metric - * @param fwdingAddress forwarding address - */ - /** - * Constructor to initialize its parameters. - * - * @param igpFlags IS-IS and OSPF flags assigned to the prefix - * @param routeTag IGP (ISIS or OSPF) tags of the prefix - * @param extendedRouteTag extended ISIS route tags of the prefix - * @param metric metric of the prefix - * @param fwdingAddress OSPF forwarding address - */ - public PrefixTed(IgpFlags igpFlags, RouteTag routeTag, ExtendedRouteTag extendedRouteTag, - Metric metric, IpAddress fwdingAddress) { - this.igpFlags = igpFlags; - this.routeTag = routeTag; - this.extendedRouteTag = extendedRouteTag; - this.metric = metric; - this.fwdingAddress = fwdingAddress; - } - - /** - * Provides IS-IS and OSPF flags assigned to the prefix. - * - * @return IGP flags - */ - public IgpFlags igpFlags() { - return igpFlags; - } - - /** - * Provides IGP (ISIS or OSPF) tags of the prefix. - * - * @return IGP route tag. - */ - public RouteTag routeTag() { - return routeTag; - } - - /** - * Provides extended ISIS route tags of the prefix. - * - * @return extended IS-IS route tag - */ - public ExtendedRouteTag extendedRouteTag() { - return extendedRouteTag; - } - - /** - * Provides metric of the prefix. - * - * @return prefix metric - */ - public Metric metric() { - return metric; - } - - /** - * Provides OSPF forwarding address. - * - * @return forwarding address - */ - public IpAddress fwdingAddress() { - return fwdingAddress; - } - - - @Override - public int hashCode() { - return Objects.hash(igpFlags, routeTag, extendedRouteTag, metric, fwdingAddress); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof PrefixTed) { - PrefixTed other = (PrefixTed) obj; - return Objects.equals(igpFlags, other.igpFlags) && Objects.equals(extendedRouteTag, other.extendedRouteTag) - && Objects.equals(routeTag, other.routeTag) && Objects.equals(metric, other.metric) - && Objects.equals(fwdingAddress, other.fwdingAddress); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .omitNullValues() - .add("igpFlags", igpFlags) - .add("extendedRouteTag", extendedRouteTag) - .add("routeTag", routeTag) - .add("metric", metric) - .add("fwdingAddress", fwdingAddress) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/ProtectionType.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/ProtectionType.java deleted file mode 100644 index be7fb5a9..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/ProtectionType.java +++ /dev/null @@ -1,97 +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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -/** - * Represents protection capabilities of the link. - */ -public class ProtectionType { - private final LinkProtectionType protectionType; - - /** - * Enum to provide Link Protection type. - */ - public enum LinkProtectionType { - Extra_Traffic(1), Unprotected(2), Shared(4), Enhanced(0x20), Dedicated_OneIsToOne(8), - Dedicated_OnePlusOne(0x10), Reserved(0x40); - int value; - - /** - * Constructor to assign value. - * - * @param val link protection type - */ - LinkProtectionType(int val) { - value = val; - } - - /** - * Provides Link protection type. - * - * @return protection type - */ - public byte type() { - return (byte) value; - } - } - - /** - * Constructor to initialize protection type. - * - * @param protectionType link protection type - */ - public ProtectionType(LinkProtectionType protectionType) { - this.protectionType = protectionType; - } - - /** - * Provides protection capabilities of the link. - * - * @return link protection type. - */ - public LinkProtectionType protectionType() { - return protectionType; - } - - @Override - public int hashCode() { - return Objects.hash(protectionType); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof ProtectionType) { - ProtectionType other = (ProtectionType) obj; - return Objects.equals(protectionType, other.protectionType); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("protectionType", protectionType) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouteDistinguisher.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouteDistinguisher.java deleted file mode 100644 index b6b83368..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouteDistinguisher.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. - */ - -/** - * Implementation of RouteDistinguisher. - */ -package org.onosproject.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -/** - * Represents Route Distinguisher of device in the network. - */ -public class RouteDistinguisher { - private final Long routeDistinguisher; - - /** - * Constructor to initialize parameters. - * - * @param routeDistinguisher route distinguisher - */ - public RouteDistinguisher(Long routeDistinguisher) { - this.routeDistinguisher = routeDistinguisher; - } - - /** - * Obtain route distinguisher. - * - * @return route distinguisher - */ - public Long routeDistinguisher() { - return routeDistinguisher; - } - - @Override - public int hashCode() { - return Objects.hash(routeDistinguisher); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof RouteDistinguisher) { - RouteDistinguisher other = (RouteDistinguisher) obj; - return Objects.equals(routeDistinguisher, other.routeDistinguisher); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("routeDistinguisher", routeDistinguisher) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouteIdentifier.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouteIdentifier.java deleted file mode 100644 index 73cda7a6..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouteIdentifier.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.iptopology.api; - -/** - * Abstraction of Router ID to identify the router with a distinct IP address. - */ -public interface RouteIdentifier { - /** - * Enum to provide Protocol type. - */ - public enum ProtocolType { - ISIS_LevelOne(1), ISIS_LevelTwo(2), OSPFv2(3), Direct(4), Static_Configuration(5), OSPFv3(6); - int value; - - /** - * Sets protocol ID. - * - * @param val protocol ID - */ - ProtocolType(int val) { - value = val; - } - - /** - * Provides Protocol ID. - * - * @return Protocol ID - */ - public byte getType() { - return (byte) value; - } - } - - /** - * Provides Protocol ID to identify which protocol routing instance is used. - * - * @return Protocol type - */ - ProtocolType type(); -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouteInstance.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouteInstance.java deleted file mode 100644 index fbca820c..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouteInstance.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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -/** - * Represents routing universe where the network element belongs. - */ -public class RouteInstance { - private final long routeInstance; - - /** - * Constructor to initialize routeInstance. - * - * @param routeInstance routing protocol instance - */ - public RouteInstance(long routeInstance) { - this.routeInstance = routeInstance; - } - - /** - * Obtain route instance. - * - * @return route instance - */ - public long routeInstance() { - return routeInstance; - } - - @Override - public int hashCode() { - return Objects.hash(routeInstance); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof RouteInstance) { - RouteInstance other = (RouteInstance) obj; - return Objects.equals(routeInstance, other.routeInstance); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("routeInstance", routeInstance) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouteTag.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouteTag.java deleted file mode 100644 index f77cc5e6..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouteTag.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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -/** - * Represents the igp administrative tags of the prefix. - */ -public class RouteTag { - private final int routeTag; - - /** - * Constructor to initialize its parameter. - * - * @param routeTag IGP route tag - */ - public RouteTag(int routeTag) { - this.routeTag = routeTag; - } - - /** - * Obtains igp administrative tags of the prefix. - * - * @return igp administrative tags of the prefix - */ - public int routeTag() { - return routeTag; - } - - @Override - public int hashCode() { - return Objects.hash(routeTag); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof RouteTag) { - RouteTag other = (RouteTag) obj; - return Objects.equals(routeTag, other.routeTag); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("routeTag", routeTag) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouteType.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouteType.java deleted file mode 100644 index 11268f6f..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouteType.java +++ /dev/null @@ -1,96 +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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -/** - * Represents Route type of the prefix in the OSPF domain. - */ -public class RouteType { - private final Type routeType; - - /** - * Enum to provide Route type. - */ - public enum Type { - Intra_Area(1), Inter_Area(2), External_1(3), External_2(4), NSSA_1(5), NSSA_2(6); - int value; - - /** - * Constructor to assign value. - * - * @param val route type - */ - Type(int val) { - value = val; - } - - /** - * Provides route type. - * - * @return route type - */ - public byte type() { - return (byte) value; - } - } - - /** - * Constructor to initialize routeType. - * - * @param routeType Route type - */ - public RouteType(Type routeType) { - this.routeType = routeType; - } - - /** - * Provides Route type of the prefix. - * - * @return Route type - */ - public Type routeType() { - return routeType; - } - - @Override - public int hashCode() { - return Objects.hash(routeType); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof RouteType) { - RouteType other = (RouteType) obj; - return Objects.equals(routeType, other.routeType); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("routeType", routeType) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouterId.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouterId.java deleted file mode 100644 index 85714cb1..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouterId.java +++ /dev/null @@ -1,78 +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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -/** - * Represents Router ID of the device. - */ -public class RouterId implements RouteIdentifier { - private final int routerId; - private final ProtocolType type; - - /** - * Constructor to initialize its parameters. - * - * @param routerId Router ID of designated router - */ - public RouterId(int routerId, ProtocolType type) { - this.routerId = routerId; - this.type = type; - } - - /** - * Obtains Router Id of the device. - * - * @return Router Id of the device - */ - public int routerId() { - return routerId; - } - - @Override - public ProtocolType type() { - return type; - } - - @Override - public int hashCode() { - return Objects.hash(routerId, type); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof RouterId) { - RouterId other = (RouterId) obj; - return Objects.equals(routerId, other.routerId) && Objects.equals(type, other.type); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("routerId", routerId) - .add("type", type) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/Signalling.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/Signalling.java deleted file mode 100644 index 41593977..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/Signalling.java +++ /dev/null @@ -1,83 +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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -/** - * Represents signaling protocols that are enabled. - */ -public class Signalling { - private final Boolean ldp; - private final Boolean rsvpte; - - /** - * Constructor to initialize the values. - * - * @param ldp Label Distribution Protocol whether enabled or not - * @param rsvpte RSVP TE whether enabled or not - */ - public Signalling(Boolean ldp, Boolean rsvpte) { - this.ldp = ldp; - this.rsvpte = rsvpte; - } - - /** - * Obtains whether LDP signalling protocol is enabled or not. - * - * @return LDP signalling protocol is enabled or not - */ - public Boolean ldp() { - return ldp; - } - - /** - * Obtains whether rsvp-te signalling protocol is enabled or not. - * - * @return rsvp-te signalling protocol is enabled or not - */ - public Boolean rsvpte() { - return rsvpte; - } - - @Override - public int hashCode() { - return Objects.hash(ldp, rsvpte); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof Signalling) { - Signalling other = (Signalling) obj; - return Objects.equals(ldp, other.ldp) && Objects.equals(rsvpte, other.rsvpte); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("ldp", ldp) - .add("rsvpte", rsvpte) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/Srlg.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/Srlg.java deleted file mode 100644 index 1f39bad2..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/Srlg.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.iptopology.api; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -/** - * Represents Shared Risk Link Group information. - */ -public class Srlg { - private final int srlgGroup; - - /** - * Constructor to initialize its parameter. - * - * @param srlgGroup list of Shared Risk Link Group value - */ - public Srlg(int srlgGroup) { - this.srlgGroup = srlgGroup; - } - - /** - * Provides Shared Risk link group. - * - * @return Shared Risk link group value - */ - public int srlgGroup() { - return srlgGroup; - } - - @Override - public int hashCode() { - return Objects.hash(srlgGroup); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof Srlg) { - Srlg other = (Srlg) obj; - return Objects.equals(srlgGroup, other.srlgGroup); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("srlgGroup", srlgGroup) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/TerminationPoint.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/TerminationPoint.java deleted file mode 100644 index 9c21cb46..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/TerminationPoint.java +++ /dev/null @@ -1,104 +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.iptopology.api; - -import java.util.Objects; - -import org.onosproject.net.DeviceId; -import org.onosproject.net.ElementId; - -import com.google.common.base.MoreObjects; - -/** - * Abstraction of a network termination point expressed as a pair of the network element identifier and device - * interface. - */ -public class TerminationPoint { - private final ElementId elementId; - private final DeviceInterface deviceInterface; - - /** - * Constructor to initialize its parameters. - * - * @param elementId network element identifier - * @param deviceInterface device interface - */ - public TerminationPoint(ElementId elementId, DeviceInterface deviceInterface) { - this.elementId = elementId; - this.deviceInterface = deviceInterface; - } - - /** - * Returns the network element identifier. - * - * @return element identifier - */ - public ElementId elementId() { - return elementId; - } - - /** - * Returns the identifier of the infrastructure device if the termination - * point belongs to a network element which is indeed an ip - * device. - * - * @return network element identifier as a device identifier - * @throws java.lang.IllegalStateException if termination point is not - * associated with a device - */ - public DeviceId deviceId() { - if (elementId instanceof DeviceId) { - return (DeviceId) elementId; - } - throw new IllegalStateException("Termination point not associated " + - "with an ip device"); - } - - /** - * Returns Device interface details. - * - * @return device interface details - */ - public DeviceInterface deviceInterface() { - return deviceInterface; - } - - @Override - public int hashCode() { - return Objects.hash(elementId, deviceInterface); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof TerminationPoint) { - final TerminationPoint other = (TerminationPoint) obj; - return Objects.equals(this.elementId, other.elementId) - && Objects.equals(this.deviceInterface, other.deviceInterface); - } - return false; - } - - @Override - public String toString() { - return MoreObjects.toStringHelper(this) - .add("elementId", elementId) - .add("deviceInterface", deviceInterface) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/TopologyId.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/TopologyId.java deleted file mode 100644 index 9d414e35..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/TopologyId.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.iptopology.api; - -import java.util.Objects; - -import com.google.common.base.MoreObjects; - -/** - * Represents Multi-Topology IDs for a network link, node or prefix. - */ -public class TopologyId { - private final short topologyId; - - /** - * Constructor to initialize its parameter. - * - * @param topologyId topology id for node/link/prefix - */ - public TopologyId(short topologyId) { - this.topologyId = topologyId; - } - - /** - * Obtains the topology ID. - * - * @return topology ID - */ - public short topologyId() { - return topologyId; - } - - @Override - public int hashCode() { - return Objects.hash(topologyId); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj instanceof TopologyId) { - TopologyId other = (TopologyId) obj; - return Objects.equals(topologyId, other.topologyId); - } - return false; - } - - @Override - public String toString() { - return MoreObjects.toStringHelper(getClass()) - .add("topologyId", topologyId) - .toString(); - } -} \ No newline at end of file diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/DefaultInterfaceDescription.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/DefaultInterfaceDescription.java deleted file mode 100644 index c7e413d7..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/DefaultInterfaceDescription.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright 2014 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.iptopology.api.device; - -import com.google.common.base.MoreObjects; -import org.onlab.packet.Ip6Address; -import org.onlab.packet.Ip4Address; -import org.onosproject.iptopology.api.InterfaceIdentifier; -import org.onosproject.net.AbstractDescription; -import org.onosproject.net.SparseAnnotations; - -/** - * Default implementation of immutable Interface description. - */ -public class DefaultInterfaceDescription extends AbstractDescription - implements InterfaceDescription { - - private final InterfaceIdentifier intfId; - private final Ip4Address ipv4Address; - private final Ip6Address ipv6Address; - - - - /** - * Creates an interface description using the supplied information. - * - * @param intfId interface identifier - * @param ipv4Address ipv4 address of an interface - * @param ipv6Address ipv6 address of an interface - * @param annotations optional key/value annotations map - */ - public DefaultInterfaceDescription(InterfaceIdentifier intfId, Ip4Address ipv4Address, - Ip6Address ipv6Address, SparseAnnotations...annotations) { - super(annotations); - this.intfId = intfId; - this.ipv4Address = ipv4Address; - this.ipv6Address = ipv6Address; - } - - /** - * Default constructor for serialization. - */ - private DefaultInterfaceDescription() { - this.intfId = null; - this.ipv4Address = null; - this.ipv6Address = null; - } - - /** - * Creates an interface description using the supplied information. - * - * @param base InterfaceDescription to get basic information from - * @param annotations optional key/value annotations map - */ - public DefaultInterfaceDescription(InterfaceDescription base, - SparseAnnotations annotations) { - this(base.intfId(), base.ipv4Address(), base.ipv6Address(), annotations); - } - - @Override - public InterfaceIdentifier intfId() { - return intfId; - } - - @Override - public Ip4Address ipv4Address() { - return ipv4Address; - } - - @Override - public Ip6Address ipv6Address() { - return ipv6Address; } - - @Override - public String toString() { - return MoreObjects.toStringHelper(getClass()) - .add("intfId", intfId) - .add("ipv4Address", ipv4Address) - .add("ipv6Address", ipv6Address) - .add("annotations", annotations()) - .toString(); - } - -} diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/DefaultIpDeviceDescription.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/DefaultIpDeviceDescription.java deleted file mode 100644 index 889e48a7..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/DefaultIpDeviceDescription.java +++ /dev/null @@ -1,117 +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.iptopology.api.device; - -import org.onosproject.iptopology.api.DeviceTed; -import org.onosproject.iptopology.api.IpDeviceIdentifier; -import org.onosproject.net.AbstractDescription; -import org.onosproject.net.SparseAnnotations; - -import java.net.URI; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; -import static org.onosproject.iptopology.api.IpDevice.Type; - -/** - * Default implementation of immutable device description entity. - */ -public class DefaultIpDeviceDescription extends AbstractDescription - implements IpDeviceDescription { - private final URI uri; - private final Type type; - private final IpDeviceIdentifier deviceIdentifier; - private final DeviceTed deviceTed; - - /** - * Creates an ip device description using the supplied information. - * - * @param uri device URI - * @param type device type - * @param deviceIdentifier device manufacturer - * @param deviceTed device Traffic Engineering parameters - * @param annotations optional key/value annotations map - */ - public DefaultIpDeviceDescription(URI uri, Type type, IpDeviceIdentifier deviceIdentifier, - DeviceTed deviceTed, SparseAnnotations... annotations) { - super(annotations); - this.uri = checkNotNull(uri, "Device URI cannot be null"); - this.type = checkNotNull(type, "Device type cannot be null"); - this.deviceIdentifier = deviceIdentifier; - this.deviceTed = deviceTed; - } - - /** - * Creates an ip device description using the supplied information. - * @param base IpDeviceDescription to basic information - * @param annotations Annotations to use. - */ - public DefaultIpDeviceDescription(IpDeviceDescription base, SparseAnnotations... annotations) { - this(base.deviceURI(), base.type(), base.deviceIdentifier(), - base.deviceTed(), annotations); - } - - /** - * Creates an ip device description using the supplied information. - * @param base IpDeviceDescription to basic information (except for type) - * @param type device type - * @param annotations Annotations to use. - */ - public DefaultIpDeviceDescription(IpDeviceDescription base, Type type, SparseAnnotations... annotations) { - this(base.deviceURI(), type, base.deviceIdentifier(), - base.deviceTed(), annotations); - } - - @Override - public URI deviceURI() { - return uri; - } - - @Override - public Type type() { - return type; - } - - @Override - public IpDeviceIdentifier deviceIdentifier() { - return deviceIdentifier; - } - - @Override - public DeviceTed deviceTed() { - return deviceTed; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("uri", uri) - .add("type", type) - .add("devid", deviceIdentifier) - .add("devTed", deviceTed) - .toString(); - } - - /** - * Default constructor for serialization. - */ - private DefaultIpDeviceDescription() { - this.uri = null; - this.type = null; - this.deviceIdentifier = null; - this.deviceTed = null; - } -} diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/DefaultPrefixDescription.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/DefaultPrefixDescription.java deleted file mode 100644 index 36cc14a6..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/DefaultPrefixDescription.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright 2014 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.iptopology.api.device; - -import com.google.common.base.MoreObjects; -import org.onosproject.iptopology.api.PrefixIdentifier; -import org.onosproject.iptopology.api.PrefixTed; -import org.onosproject.net.AbstractDescription; -import org.onosproject.net.SparseAnnotations; - -/** - * Default implementation of immutable Prefix description. - */ -public class DefaultPrefixDescription extends AbstractDescription - implements PrefixDescription { - - private final PrefixIdentifier prefixIdentifier; - private final PrefixTed prefixTed; - - - /** - * Creates prefix description using the supplied information. - * - * @param prefixIdentifier prefix identifier - * @param prefixTed prefix traffic engineering parameters - * @param annotations optional key/value annotations map - */ - public DefaultPrefixDescription(PrefixIdentifier prefixIdentifier, PrefixTed prefixTed, - SparseAnnotations...annotations) { - super(annotations); - this.prefixIdentifier = prefixIdentifier; - this.prefixTed = prefixTed; - } - - /** - * Default constructor for serialization. - */ - private DefaultPrefixDescription() { - this.prefixIdentifier = null; - this.prefixTed = null; - } - - /** - * Creates prefix description using the supplied information. - * - * @param base PrefixDescription to get basic information from - * @param annotations optional key/value annotations map - */ - public DefaultPrefixDescription(PrefixDescription base, - SparseAnnotations annotations) { - this(base.prefixIdentifier(), base.prefixTed(), annotations); - } - - @Override - public PrefixIdentifier prefixIdentifier() { - return prefixIdentifier; - } - - @Override - public PrefixTed prefixTed() { - return prefixTed; - } - - @Override - public String toString() { - return MoreObjects.toStringHelper(getClass()) - .add("prefixIdentifier", prefixIdentifier) - .add("prefixTed", prefixTed) - .add("annotations", annotations()) - .toString(); - } - -} diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/InterfaceDescription.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/InterfaceDescription.java deleted file mode 100644 index 6e7804d9..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/InterfaceDescription.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2014 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.iptopology.api.device; - -import org.onlab.packet.Ip4Address; -import org.onlab.packet.Ip6Address; -import org.onosproject.iptopology.api.InterfaceIdentifier; -import org.onosproject.net.Description; - - -/** - * Information about an interface. - */ -public interface InterfaceDescription extends Description { - - /** - * Returns the IPv4 Address of an interface. - * - * @return ipv4 address - */ - Ip4Address ipv4Address(); - - /** - * Returns the IPv6 Address of an interface. - * - * @return ipv6 address - */ - Ip6Address ipv6Address(); - - - /** - * Returns the interface id of the interface. - * - * @return interface identifier - */ - InterfaceIdentifier intfId(); - -} diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceDescription.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceDescription.java deleted file mode 100644 index c0a4391d..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceDescription.java +++ /dev/null @@ -1,61 +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.iptopology.api.device; - -import org.onosproject.iptopology.api.DeviceTed; -import org.onosproject.iptopology.api.IpDevice; -import org.onosproject.iptopology.api.IpDeviceIdentifier; -import org.onosproject.net.Description; - - -import java.net.URI; - -/** - * Carrier of immutable information about an ip device. - */ -public interface IpDeviceDescription extends Description { - - /** - * Protocol/provider specific URI that can be used to encode the identity - * information required to communicate with the ip device externally, e.g. - * datapath ID. - * - * @return provider specific URI for the ip device - */ - URI deviceURI(); - - /** - * Returns the type of the ip device. For ex: Psuedo or actual - * - * @return type of the device - */ - IpDevice.Type type(); - - /** - * Returns the device identifier details. - * - * @return identifier of the device - */ - IpDeviceIdentifier deviceIdentifier(); - - /** - * Returns the traffic engineering parameters of the device. - * - * @return traffic engineering parameters of the device - */ - DeviceTed deviceTed(); - -} diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceEvent.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceEvent.java deleted file mode 100644 index 07f263e4..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceEvent.java +++ /dev/null @@ -1,183 +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.iptopology.api.device; - -import org.joda.time.LocalDateTime; -import org.onosproject.event.AbstractEvent; -import org.onosproject.iptopology.api.DeviceIntf; -import org.onosproject.iptopology.api.DevicePrefix; -import org.onosproject.iptopology.api.IpDevice; - - -import static com.google.common.base.MoreObjects.toStringHelper; - -/** - * Describes ip device event. - */ -public class IpDeviceEvent extends AbstractEvent { - - private final DeviceIntf devInterface; - private final DevicePrefix devicePrefix; - - /** - * Type of device events. - */ - public enum Type { - /** - * Signifies that a new device has been detected. - */ - DEVICE_ADDED, - - /** - * Signifies that some device attributes have changed; excludes - * availability changes. - */ - DEVICE_UPDATED, - - /** - * Signifies that a device has been removed. - */ - DEVICE_REMOVED, - - /** - * Signifies that an interface has been added. - */ - INTERFACE_ADDED, - - /** - * Signifies that an interface has been updated. - */ - INTERFACE_UPDATED, - - /** - * Signifies that an interface has been removed. - */ - INTERFACE_REMOVED, - - /** - * Signifies that a prefix has been added. - */ - PREFIX_ADDED, - - /** - * Signifies that a prefix has been updated. - */ - PREFIX_UPDATED, - - /** - * Signifies that a prefix has been removed. - */ - PREFIX_REMOVED, - - } - - /** - * Creates an event of a given type and for the specified ip device. - * - * @param type device event type - * @param device event device subject - */ - public IpDeviceEvent(Type type, IpDevice device) { - this(type, device, null, null); - } - - /** - * Creates an event of a given type and for the specified device and interface. - * - * @param type device event type - * @param device event device subject - * @param devInterface optional interface subject - */ - public IpDeviceEvent(Type type, IpDevice device, DeviceIntf devInterface) { - this(type, device, devInterface, null); - } - - /** - * Creates an event of a given type and for the specified device and interface. - * - * @param type device event type - * @param device event device subject - * @param devicePrefix optional prefix subject - */ - public IpDeviceEvent(Type type, IpDevice device, DevicePrefix devicePrefix) { - this(type, device, null, devicePrefix); - } - - - /** - * Creates an event of a given type and for the specified device, interface and prefix. - * - * @param type device event type - * @param device event device subject - * @param devInterface optional interface subject - * @param devicePrefix optional prefix subject - */ - public IpDeviceEvent(Type type, IpDevice device, DeviceIntf devInterface, DevicePrefix devicePrefix) { - super(type, device); - this.devInterface = devInterface; - this.devicePrefix = devicePrefix; - } - - - /** - * Creates an event of a given type and for the specified device, interface and time. - * - * @param type device event type - * @param device event device subject - * @param devInterface optional interface subject - * @param devicePrefix optional prefix subject - * @param time occurrence time - */ - - public IpDeviceEvent(Type type, IpDevice device, DeviceIntf devInterface, DevicePrefix devicePrefix, long time) { - super(type, device, time); - this.devInterface = devInterface; - this.devicePrefix = devicePrefix; - } - - - /** - * Returns the interface subject. - * - * @return interface subject or null if the event is not interface specific. - */ - public DeviceIntf deviceInterface() { - return devInterface; - } - - /** - * Returns the prefix subject. - * - * @return prefix subject or null if the event is not prefix specific. - */ - public DevicePrefix prefix() { - return devicePrefix; - } - - @Override - public String toString() { - if (devInterface == null || devicePrefix == null) { - return super.toString(); - } - return toStringHelper(this) - .add("time", new LocalDateTime(time())) - .add("type", type()) - .add("subject", subject()) - .add("interface", devInterface) - .add("prefix", devicePrefix) - .toString(); - } -} diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceListener.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceListener.java deleted file mode 100644 index cd40c405..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceListener.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2014 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.iptopology.api.device; - -import org.onosproject.event.EventListener; - -/** - * Entity capable of receiving ip device related events. - */ -public interface IpDeviceListener extends EventListener { -} diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceProvider.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceProvider.java deleted file mode 100644 index 67502eb6..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceProvider.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2014 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.iptopology.api.device; - -import org.onosproject.net.provider.Provider; - -/** - * Abstraction of a ip device information provider. - */ -public interface IpDeviceProvider extends Provider { - // Currently there is none to set some information into the network -} diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceProviderRegistry.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceProviderRegistry.java deleted file mode 100644 index 74b27415..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceProviderRegistry.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2014 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.iptopology.api.device; - -import org.onosproject.net.provider.ProviderRegistry; - -/** - * Abstraction of a ip device provider registry. - */ -public interface IpDeviceProviderRegistry - extends ProviderRegistry { -} diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceProviderService.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceProviderService.java deleted file mode 100644 index f84b8b74..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceProviderService.java +++ /dev/null @@ -1,78 +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.iptopology.api.device; - -import org.onosproject.net.DeviceId; -import org.onosproject.net.provider.ProviderService; - -import java.util.List; - -/** - * Service through which ip device providers can inject ip device information into - * the core. - */ -public interface IpDeviceProviderService extends ProviderService { - - /** - * Signals the core that an ip device is added or updated with IP topology information. - * - * @param deviceId device identifier - * @param deviceDescription information about network ip device - */ - void addOrUpdateIpDevice(DeviceId deviceId, IpDeviceDescription deviceDescription); - - /** - * Signals the core that an ip device is removed. - * - * @param deviceId identity of the ip device to be removed - */ - void removeIpDevice(DeviceId deviceId); - - /** - * Sends information about all interfaces of a device. It is up to the core to - * determine what has changed. - * - * @param deviceId identity of the ip device - * @param interfaceDescriptions list of device interfaces - */ - void updateInterfaces(DeviceId deviceId, List interfaceDescriptions); - - /** - * signals interfaces of a device is deleted. - * - * @param deviceId identity of the ip device - * @param interfaceDescriptions list of device interfaces - */ - void removeInterfaces(DeviceId deviceId, List interfaceDescriptions); - - /** - * Sends information about all ip prefix of a device. It is up to the core to - * determine what has changed. - * - * @param deviceId identity of the ip device - * @param prefixDescriptions list of device ip prefixes - */ - void updatePrefixes(DeviceId deviceId, List prefixDescriptions); - - /** - * signals ip prefix of a device is deleted. - * - * @param deviceId identity of the ip device - * @param prefixDescriptions list of device ip prefixes - */ - void removePrefixes(DeviceId deviceId, List prefixDescriptions); - -} diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceService.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceService.java deleted file mode 100644 index 4b126eb3..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceService.java +++ /dev/null @@ -1,111 +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.iptopology.api.device; - -import org.onosproject.event.ListenerService; -import org.onosproject.iptopology.api.DeviceIntf; -import org.onosproject.iptopology.api.DevicePrefix; -import org.onosproject.iptopology.api.InterfaceIdentifier; -import org.onosproject.iptopology.api.IpDevice; -import org.onosproject.net.DeviceId; -import org.onlab.packet.Ip4Address; -import org.onlab.packet.Ip6Address; - -import java.util.List; - -/** - * Service for interacting with the inventory of ip devices. - */ -public interface IpDeviceService - extends ListenerService { - - /** - * Returns the number of ip devices known to the system. - * - * @return number of infrastructure devices - */ - int getIpDeviceCount(); - - /** - * Returns a collection of the currently known ip - * devices. - * - * @return collection of devices - */ - Iterable getIpDevices(); - - /** - * Returns a collection of the currently known ip - * devices by device type. - * - * @param type device type - * @return collection of devices - */ - Iterable getIpDevices(IpDevice.Type type); - - - /** - * Returns the ip device with the specified identifier. - * - * @param deviceId device identifier - * @return device or null if one with the given identifier is not known - */ - IpDevice getIpDevice(DeviceId deviceId); - - /** - * Returns the list of interfaces associated with the device. - * - * @param deviceId device identifier - * @return list of device interfaces - */ - List getInterfaces(DeviceId deviceId); - - /** - * Returns the interface with the specified ipv4 address and hosted by the given device. - * - * @param deviceId device identifier - * @param ipv4Address ipv4 address - * @return device interface - */ - DeviceIntf getInterface(DeviceId deviceId, Ip4Address ipv4Address); - - /** - * Returns the interface with the specified ipv6 address and hosted by the given device. - * - * @param deviceId device identifier - * @param ipv6Address ipv6 address - * @return device interface - */ - DeviceIntf getInterface(DeviceId deviceId, Ip6Address ipv6Address); - - /** - * Returns the interface with the specified interface id and hosted by the given device. - * - * @param deviceId device identifier - * @param intfId interface id - * @return device interface - */ - DeviceIntf getInterface(DeviceId deviceId, InterfaceIdentifier intfId); - - /** - * Returns the list of ip prefix associated with the device. - * - * @param deviceId device identifier - * @return list of device prefixes - */ - List getPrefixes(DeviceId deviceId); - -} diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceStore.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceStore.java deleted file mode 100644 index db1dd429..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceStore.java +++ /dev/null @@ -1,164 +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.iptopology.api.device; - -import org.onlab.packet.Ip4Address; -import org.onlab.packet.Ip6Address; -import org.onosproject.iptopology.api.DevicePrefix; -import org.onosproject.iptopology.api.InterfaceIdentifier; -import org.onosproject.iptopology.api.IpDevice; -import org.onosproject.iptopology.api.DeviceIntf; -import org.onosproject.net.DeviceId; -import org.onosproject.net.provider.ProviderId; -import org.onosproject.store.Store; - -import java.util.List; - -/** - * Manages inventory of ip devices; not intended for direct use. - */ -public interface IpDeviceStore extends Store { - - /** - * Returns the number of ip devices known to the system. - * - * @return number of ip devices - */ - int getIpDeviceCount(); - - /** - * Returns an iterable collection of all ip devices known to the system. - * - * @return ip device collection - */ - Iterable getIpDevices(); - - - /** - * Returns an ip device with the specified identifier. - * - * @param deviceId device identifier - * @return ip device - */ - IpDevice getIpDevice(DeviceId deviceId); - - /** - * Creates a new infrastructure ip device, or updates an existing one using - * the supplied device description. - * - * @param providerId provider identifier - * @param deviceId device identifier - * @param deviceDescription device description - * @return ready to send event describing what occurred; null if no change - */ - IpDeviceEvent createOrUpdateIpDevice(ProviderId providerId, DeviceId deviceId, - IpDeviceDescription deviceDescription); - - /** - * Administratively removes the specified ip device from the store. - * - * @param deviceId device to be removed - * @return null if no such ip device - */ - IpDeviceEvent removeIpDevice(DeviceId deviceId); - - /** - * Updates the interface of the specified ip device using the given - * list of interface descriptions. The list is assumed to be comprehensive. - * - * @param providerId provider identifier - * @param deviceId ip device identifier - * @param interfaceDescriptions list of interface descriptions - * @return ready to send events describing what occurred; empty list if no change - */ - List updateInterfaces(ProviderId providerId, DeviceId deviceId, - List interfaceDescriptions); - - /** - * Administratively removes the specified interface from the store. - * - * @param deviceId device of the interfaces to be removed - * @param interfaceDescriptions list of interface descriptions - * @return ready to send events describing what occurred. - */ - List removeInterfaces(DeviceId deviceId, List interfaceDescriptions); - - /** - * Returns the list of interfaces that belong to the specified device. - * - * @param deviceId device identifier - * @return list of device interfaces - */ - List getInterfaces(DeviceId deviceId); - - /** - * Returns the specified device interface. - * - * @param deviceId device identifier - * @param ipv4Address ipv4 address of the interface - * @return device interface - */ - DeviceIntf getInterface(DeviceId deviceId, Ip4Address ipv4Address); - - /** - * Returns the specified device interface. - * - * @param deviceId device identifier - * @param ipv6Address ipv6 address of the interface - * @return device interface - */ - DeviceIntf getInterface(DeviceId deviceId, Ip6Address ipv6Address); - - /** - * Returns the specified device interface. - * - * @param deviceId device identifier - * @param intfId interface identifier of the interface - * @return device interface - */ - DeviceIntf getInterface(DeviceId deviceId, InterfaceIdentifier intfId); - - /** - * Updates the prefix information of the specified ip device using the given - * list of prefix descriptions. The list is assumed to be comprehensive. - * - * @param providerId provider identifier - * @param deviceId ip device identifier - * @param prefixDescriptions list of prefix descriptions - * @return ready to send events describing what occurred; empty list if no change - */ - List updatePrefixes(ProviderId providerId, DeviceId deviceId, - List prefixDescriptions); - - /** - * Administratively removes the specified prefix from the store. - * - * @param deviceId device of the prefix to be removed - * @param prefixDescriptions list of prefix descriptions - * @return ready to send events describing what occurred. - */ - List removePrefixes(DeviceId deviceId, List prefixDescriptions); - - /** - * Returns the list of prefixes that belong to the specified device. - * - * @param deviceId device identifier - * @return list of device prefixes - */ - List getPrefixes(DeviceId deviceId); - -} - diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceStoreDelegate.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceStoreDelegate.java deleted file mode 100644 index 14efe064..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/IpDeviceStoreDelegate.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2014 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.iptopology.api.device; - -import org.onosproject.store.StoreDelegate; - -/** - * Infrastructure ip topology store delegate abstraction. - */ -public interface IpDeviceStoreDelegate extends StoreDelegate { -} diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/PrefixDescription.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/PrefixDescription.java deleted file mode 100644 index eb1ece33..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/PrefixDescription.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2014 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.iptopology.api.device; - -import org.onosproject.iptopology.api.PrefixIdentifier; -import org.onosproject.iptopology.api.PrefixTed; -import org.onosproject.net.Description; - -/** - * Information about a prefix. - */ -public interface PrefixDescription extends Description { - - /** - * Returns the prefix identifier. - * - * @return prefix identifier - */ - PrefixIdentifier prefixIdentifier(); - - /** - * Returns the prefix Traffic Engineering parameters. - * - * @return prefix Traffic Engineering parameters - */ - PrefixTed prefixTed(); - -} diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/package-info.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/package-info.java deleted file mode 100644 index 5e4e29b1..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/device/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2014 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. - */ - -/** - * Ip device model & related services API definitions. - */ -package org.onosproject.iptopology.api.device; diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/DefaultIpLinkDescription.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/DefaultIpLinkDescription.java deleted file mode 100644 index 4a3b46d2..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/DefaultIpLinkDescription.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright 2014 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.iptopology.api.link; - -import com.google.common.base.MoreObjects; -import org.onosproject.iptopology.api.IpLinkIdentifier; -import org.onosproject.iptopology.api.LinkTed; -import org.onosproject.iptopology.api.TerminationPoint; -import org.onosproject.net.AbstractDescription; -import org.onosproject.net.SparseAnnotations; - -/** - * Default implementation of immutable ip link description entity. - */ -public class DefaultIpLinkDescription extends AbstractDescription - implements IpLinkDescription { - - private final TerminationPoint src; - private final TerminationPoint dst; - private final IpLinkIdentifier linkIdentifier; - private final LinkTed linkTed; - - /** - * Creates an ip link description using the supplied information. - * - * @param src link source - * @param dst link destination - * @param linkIdentifier link identifier - * @param linkTed link traffic engineering parameters - * @param annotations optional key/value annotations - */ - public DefaultIpLinkDescription(TerminationPoint src, TerminationPoint dst, - IpLinkIdentifier linkIdentifier, LinkTed linkTed, - SparseAnnotations... annotations) { - super(annotations); - this.src = src; - this.dst = dst; - this.linkIdentifier = linkIdentifier; - this.linkTed = linkTed; - } - - /** - * Creates an ip link description using the supplied information. - * - * @param base IpLinkDescription to basic information - * @param annotations optional key/value annotations - */ - public DefaultIpLinkDescription(IpLinkDescription base, SparseAnnotations... annotations) { - this(base.src(), base.dst(), base.linkIdentifier(), - base.linkTed(), annotations); - } - - @Override - public TerminationPoint src() { - return src; - } - - @Override - public TerminationPoint dst() { - return dst; - } - - @Override - public IpLinkIdentifier linkIdentifier() { - return linkIdentifier; - } - - @Override - public LinkTed linkTed() { - return linkTed; } - - @Override - public String toString() { - return MoreObjects.toStringHelper(this) - .add("src", src()) - .add("dst", dst()) - .add("linkIdentifier", linkIdentifier()) - .add("linkTed", linkTed()) - .toString(); - } - -} diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkDescription.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkDescription.java deleted file mode 100644 index 258e7444..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkDescription.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 2014 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.iptopology.api.link; - -import org.onosproject.iptopology.api.IpLinkIdentifier; -import org.onosproject.iptopology.api.LinkTed; -import org.onosproject.iptopology.api.TerminationPoint; -import org.onosproject.net.Description; - -/** - * Describes an ip link. - */ -public interface IpLinkDescription extends Description { - - /** - * Returns the link source. - * - * @return links source - */ - TerminationPoint src(); - - /** - * Returns the link destination. - * - * @return links destination - */ - TerminationPoint dst(); - - /** - * Returns the link identifier. - * - * @return links identifier informations - */ - IpLinkIdentifier linkIdentifier(); - - /** - * Returns the link traffic engineering parameters. - * - * @return links traffic engineering parameters - */ - LinkTed linkTed(); -} diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkEvent.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkEvent.java deleted file mode 100644 index 4050734a..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkEvent.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright 2014 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.iptopology.api.link; - -import org.onosproject.event.AbstractEvent; -import org.onosproject.iptopology.api.IpLink; - -/** - * Describes ip link event. - */ -public class IpLinkEvent extends AbstractEvent { - - /** - * Type of link events. - */ - public enum Type { - /** - * Signifies that a new ip link has been detected. - */ - LINK_ADDED, - - /** - * Signifies that an ip link has been updated or changed state. - */ - LINK_UPDATED, - - /** - * Signifies that an ip link has been removed. - */ - LINK_REMOVED - } - - /** - * Creates an event of a given type and for the specified ip link and the - * current time. - * - * @param type link event type - * @param link event link subject - */ - public IpLinkEvent(Type type, IpLink link) { - super(type, link); - } - - /** - * Creates an event of a given type and for the specified ip link and time. - * - * @param type link event type - * @param link event link subject - * @param time occurrence time - */ - public IpLinkEvent(Type type, IpLink link, long time) { - super(type, link, time); - } - -} diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkListener.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkListener.java deleted file mode 100644 index 5acb73aa..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkListener.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2014 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.iptopology.api.link; - -import org.onosproject.event.EventListener; - -/** - * Entity capable of receiving ip link related events. - */ -public interface IpLinkListener extends EventListener { -} diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkProvider.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkProvider.java deleted file mode 100644 index a58bf610..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkProvider.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2014 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.iptopology.api.link; - -import org.onosproject.net.provider.Provider; - -/** - * Abstraction of an entity providing information about ip links - * to the core. - */ -public interface IpLinkProvider extends Provider { -} diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkProviderRegistry.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkProviderRegistry.java deleted file mode 100644 index e060ae68..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkProviderRegistry.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2014 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.iptopology.api.link; - -import org.onosproject.net.provider.ProviderRegistry; - -/** - * Abstraction of an ip link provider registry. - */ -public interface IpLinkProviderRegistry - extends ProviderRegistry { -} diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkProviderService.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkProviderService.java deleted file mode 100644 index c2554425..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkProviderService.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 2014 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.iptopology.api.link; - - -import org.onosproject.iptopology.api.TerminationPoint; -import org.onosproject.net.DeviceId; -import org.onosproject.net.provider.ProviderService; - -/** - * Means for injecting ip link information into the core. - */ -public interface IpLinkProviderService extends ProviderService { - - /** - * Signals that an ip link is added or updated with IP topology information. - * - * @param linkDescription ip link information - */ - void addOrUpdateIpLink(IpLinkDescription linkDescription); - - /** - * Signals that an ip link has disappeared. - * - * @param linkDescription ip link information - */ - void removeIpLink(IpLinkDescription linkDescription); - - /** - * Signals that ip links associated with the specified - * termination point have vanished. - * - * @param terminationPoint termination point - */ - void removeIpLink(TerminationPoint terminationPoint); - - /** - * Signals that ip links associated with the specified - * device have vanished. - * - * @param deviceId device identifier - */ - void removeIpLink(DeviceId deviceId); -} diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkService.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkService.java deleted file mode 100644 index 723e907b..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkService.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright 2014 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.iptopology.api.link; - -import java.util.Set; - -import org.onosproject.event.ListenerService; -import org.onosproject.iptopology.api.IpLink; -import org.onosproject.iptopology.api.TerminationPoint; -import org.onosproject.net.DeviceId; - -/** - * Service for interacting with the inventory of infrastructure links. - */ -public interface IpLinkService - extends ListenerService { - - /** - * Returns the count of all known ip links. - * - * @return number of ip links - */ - int getIpLinkCount(); - - /** - * Returns a collection of all ip links. - * - * @return all ip links - */ - Iterable getIpLinks(); - - - /** - * Returns set of all ip links leading to and from the - * specified ip device. - * - * @param deviceId device identifier - * @return set of ip device links - */ - Set getIpDeviceLinks(DeviceId deviceId); - - /** - * Returns set of all ip links leading from the specified ip device. - * - * @param deviceId device identifier - * @return set of ip device egress links - */ - Set getIpDeviceEgressLinks(DeviceId deviceId); - - /** - * Returns set of all ip links leading to the specified ip device. - * - * @param deviceId device identifier - * @return set of ip device ingress links - */ - Set getIpDeviceIngressLinks(DeviceId deviceId); - - /** - * Returns set of all ip links leading to and from the - * specified termination point. - * - * @param terminationPoint termination point - * @return set of ip links - */ - Set getIpLinks(TerminationPoint terminationPoint); - - /** - * Returns set of all ip links leading from the specified - * termination point. - * - * @param terminationPoint termination point - * @return set of ip device egress links - */ - Set getEgressIpLinks(TerminationPoint terminationPoint); - - /** - * Returns set of all ip links leading to the specified - * termination point. - * - * @param terminationPoint termination point - * @return set of ip device ingress links - */ - Set getIngressIpLinks(TerminationPoint terminationPoint); - - /** - * Returns the ip links between the specified source - * and destination termination points. - * - * @param src source termination point - * @param dst destination termination point - * @return ip link from source to destination; null if none found - */ - IpLink getIpLink(TerminationPoint src, TerminationPoint dst); - -} diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkStore.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkStore.java deleted file mode 100644 index 8f5c60f7..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkStore.java +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Copyright 2014 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.iptopology.api.link; - -import org.onosproject.iptopology.api.IpLink; -import org.onosproject.iptopology.api.TerminationPoint; -import org.onosproject.net.DeviceId; -import org.onosproject.net.provider.ProviderId; -import org.onosproject.store.Store; - -import java.util.Set; - -/** - * Manages inventory of ip links; not intended for direct use. - */ -public interface IpLinkStore extends Store { - - /** - * Returns the number of ip links in the store. - * - * @return number of ip links - */ - int getIpLinkCount(); - - /** - * Returns an iterable collection of all ip links in the inventory. - * - * @return collection of all ip links - */ - Iterable getIpLinks(); - - /** - * Returns all ip links egressing from the specified device. - * - * @param deviceId device identifier - * @return set of ip device links - */ - Set getIpDeviceEgressLinks(DeviceId deviceId); - - /** - * Returns all ip links ingressing from the specified device. - * - * @param deviceId device identifier - * @return set of ip device links - */ - Set getIpDeviceIngressLinks(DeviceId deviceId); - - /** - * Returns the ip link between the two termination points. - * - * @param src source termination point - * @param dst destination termination point - * @return ip link or null if one not found between the termination points - */ - IpLink getIpLink(TerminationPoint src, TerminationPoint dst); - - /** - * Returns all ip links egressing from the specified termination point. - * - * @param src source termination point - * @return set of termination point ip links - */ - Set getEgressIpLinks(TerminationPoint src); - - /** - * Returns all ip links ingressing to the specified termination point. - * - * @param dst destination termination point - * @return set of termination point ip links - */ - Set getIngressIpLinks(TerminationPoint dst); - - /** - * Creates a new ip link, or updates an existing one, based on the given - * information. - * - * @param providerId provider identity - * @param linkDescription ip link description - * @return create or update ip link event, or null if no change resulted - */ - IpLinkEvent createOrUpdateIpLink(ProviderId providerId, - IpLinkDescription linkDescription); - - /** - * Removes ip link, based on the specified information. - * - * @param src ip link source - * @param dst ip link destination - * @return remove or update ip link event, or null if no change resulted - */ - IpLinkEvent removeOrDownIpLink(TerminationPoint src, TerminationPoint dst); - - /** - * Removes ip link based on the specified information. - * - * @param src ip link source - * @param dst ip link destination - * @return remove ip link event, or null if no change resulted - */ - IpLinkEvent removeIpLink(TerminationPoint src, TerminationPoint dst); - -} diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkStoreDelegate.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkStoreDelegate.java deleted file mode 100644 index 9397a499..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/IpLinkStoreDelegate.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2014 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.iptopology.api.link; - -import org.onosproject.store.StoreDelegate; - -/** - * Ip link store delegate abstraction. - */ -public interface IpLinkStoreDelegate extends StoreDelegate { -} diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/package-info.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/package-info.java deleted file mode 100644 index 581c2367..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/link/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2014 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. - */ - -/** - * Ip link model & related services API definitions. - */ -package org.onosproject.iptopology.api.link; diff --git a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/package-info.java b/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/package-info.java deleted file mode 100644 index e1133554..00000000 --- a/framework/src/onos/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/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. - */ - -/** - * Ip Topology API. - */ -package org.onosproject.iptopology.api; -- cgit 1.2.3-korg