summaryrefslogtreecommitdiffstats
path: root/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/RouteEntry.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/RouteEntry.java')
-rw-r--r--framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/RouteEntry.java150
1 files changed, 0 insertions, 150 deletions
diff --git a/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/RouteEntry.java b/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/RouteEntry.java
deleted file mode 100644
index 8204a109..00000000
--- a/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/RouteEntry.java
+++ /dev/null
@@ -1,150 +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.routing;
-
-import com.google.common.base.MoreObjects;
-import org.onlab.packet.IpAddress;
-import org.onlab.packet.IpPrefix;
-
-import java.util.Objects;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-/**
- * Represents a route entry for an IP prefix.
- */
-public class RouteEntry {
- private final IpPrefix prefix; // The IP prefix
- private final IpAddress nextHop; // Next-hop IP address
-
- /**
- * Class constructor.
- *
- * @param prefix the IP prefix of the route
- * @param nextHop the next hop IP address for the route
- */
- public RouteEntry(IpPrefix prefix, IpAddress nextHop) {
- this.prefix = checkNotNull(prefix);
- this.nextHop = checkNotNull(nextHop);
- }
-
- /**
- * Returns the IP version of the route.
- *
- * @return the IP version of the route
- */
- public IpAddress.Version version() {
- return nextHop.version();
- }
-
- /**
- * Tests whether the IP version of this address is IPv4.
- *
- * @return true if the IP version of this address is IPv4, otherwise false.
- */
- public boolean isIp4() {
- return nextHop.isIp4();
- }
-
- /**
- * Tests whether the IP version of this address is IPv6.
- *
- * @return true if the IP version of this address is IPv6, otherwise false.
- */
- public boolean isIp6() {
- return nextHop.isIp6();
- }
-
- /**
- * Returns the IP prefix of the route.
- *
- * @return the IP prefix of the route
- */
- public IpPrefix prefix() {
- return prefix;
- }
-
- /**
- * Returns the next hop IP address for the route.
- *
- * @return the next hop IP address for the route
- */
- public IpAddress nextHop() {
- return nextHop;
- }
-
- /**
- * Creates the binary string representation of an IP prefix.
- * The prefix can be either IPv4 or IPv6.
- * The string length is equal to the prefix length + 1.
- *
- * For each string, we put a extra "0" in the front. The purpose of
- * doing this is to store the default route inside InvertedRadixTree.
- *
- * @param ipPrefix the IP prefix to use
- * @return the binary string representation
- */
- public static String createBinaryString(IpPrefix ipPrefix) {
- if (ipPrefix.prefixLength() == 0) {
- return "0";
- }
-
- byte[] octets = ipPrefix.address().toOctets();
- StringBuilder result = new StringBuilder(ipPrefix.prefixLength());
- for (int i = 0; i < ipPrefix.prefixLength(); i++) {
- int byteOffset = i / Byte.SIZE;
- int bitOffset = i % Byte.SIZE;
- int mask = 1 << (Byte.SIZE - 1 - bitOffset);
- byte value = octets[byteOffset];
- boolean isSet = ((value & mask) != 0);
- result.append(isSet ? "1" : "0");
- }
-
- return "0" + result.toString();
- }
-
- @Override
- public boolean equals(Object other) {
- if (this == other) {
- return true;
- }
-
- //
- // NOTE: Subclasses are considered as change of identity, hence
- // equals() will return false if the class type doesn't match.
- //
- if (other == null || getClass() != other.getClass()) {
- return false;
- }
-
- RouteEntry otherRoute = (RouteEntry) other;
- return Objects.equals(this.prefix, otherRoute.prefix) &&
- Objects.equals(this.nextHop, otherRoute.nextHop);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(prefix, nextHop);
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("prefix", prefix)
- .add("nextHop", nextHop)
- .toString();
- }
-}