aboutsummaryrefslogtreecommitdiffstats
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.java10
1 files changed, 7 insertions, 3 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
index 2b0ef989..8204a109 100644
--- 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
@@ -89,14 +89,17 @@ public class RouteEntry {
/**
* 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.
+ * 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 "";
+ return "0";
}
byte[] octets = ipPrefix.address().toOctets();
@@ -109,7 +112,8 @@ public class RouteEntry {
boolean isSet = ((value & mask) != 0);
result.append(isSet ? "1" : "0");
}
- return result.toString();
+
+ return "0" + result.toString();
}
@Override