Move address-bindings config to new config system
Change-Id: I6d87ddbf98789dbe8355c453a3263f50fbc5d99c
diff --git a/core/api/src/main/java/org/onosproject/net/host/InterfaceIpAddress.java b/core/api/src/main/java/org/onosproject/net/host/InterfaceIpAddress.java
index 6885e23..2f53df5 100644
--- a/core/api/src/main/java/org/onosproject/net/host/InterfaceIpAddress.java
+++ b/core/api/src/main/java/org/onosproject/net/host/InterfaceIpAddress.java
@@ -15,11 +15,12 @@
*/
package org.onosproject.net.host;
-import java.util.Objects;
import org.onlab.packet.IpAddress;
import org.onlab.packet.IpPrefix;
-import static com.google.common.base.MoreObjects.toStringHelper;
+import java.util.Objects;
+
+import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
/**
@@ -138,6 +139,24 @@
return peerAddress;
}
+ /**
+ * Converts a CIDR string literal to an interface IP address.
+ * E.g. 10.0.0.1/24
+ *
+ * @param value an IP address value in string form
+ * @return an interface IP address
+ * @throws IllegalArgumentException if the argument is invalid
+ */
+ public static InterfaceIpAddress valueOf(String value) {
+ String[] splits = value.split("/");
+ checkArgument(splits.length == 2, "Invalid IP address and prefix length format");
+
+ // NOTE: IpPrefix will mask-out the bits after the prefix length.
+ IpPrefix subnet = IpPrefix.valueOf(value);
+ IpAddress addr = IpAddress.valueOf(splits[0]);
+ return new InterfaceIpAddress(addr, subnet);
+ }
+
@Override
public boolean equals(Object other) {
if (other == this) {
@@ -163,10 +182,11 @@
@Override
public String toString() {
- return toStringHelper(this).add("ipAddress", ipAddress)
+ /*return toStringHelper(this).add("ipAddress", ipAddress)
.add("subnetAddress", subnetAddress)
.add("broadcastAddress", broadcastAddress)
.add("peerAddress", peerAddress)
- .omitNullValues().toString();
+ .omitNullValues().toString();*/
+ return ipAddress.toString() + "/" + subnetAddress.prefixLength();
}
}
diff --git a/core/api/src/test/java/org/onosproject/net/host/InterfaceIpAddressTest.java b/core/api/src/test/java/org/onosproject/net/host/InterfaceIpAddressTest.java
index b82da45..6120b7c 100644
--- a/core/api/src/test/java/org/onosproject/net/host/InterfaceIpAddressTest.java
+++ b/core/api/src/test/java/org/onosproject/net/host/InterfaceIpAddressTest.java
@@ -54,22 +54,28 @@
// Regular interface address with default broadcast address
fromAddr = new InterfaceIpAddress(IP_ADDRESS, SUBNET_ADDRESS);
toAddr = new InterfaceIpAddress(fromAddr);
- assertThat(toAddr.toString(),
- is("InterfaceIpAddress{ipAddress=1.2.3.4, subnetAddress=1.2.0.0/16}"));
+ assertThat(toAddr.ipAddress(), is(fromAddr.ipAddress()));
+ assertThat(toAddr.subnetAddress(), is(fromAddr.subnetAddress()));
+ assertThat(toAddr.broadcastAddress(), is(fromAddr.broadcastAddress()));
+ assertThat(toAddr.peerAddress(), is(fromAddr.peerAddress()));
// Interface address with non-default broadcast address
fromAddr = new InterfaceIpAddress(IP_ADDRESS, SUBNET_ADDRESS,
BROADCAST_ADDRESS);
toAddr = new InterfaceIpAddress(fromAddr);
- assertThat(toAddr.toString(),
- is("InterfaceIpAddress{ipAddress=1.2.3.4, subnetAddress=1.2.0.0/16, broadcastAddress=1.2.0.255}"));
+ assertThat(toAddr.ipAddress(), is(fromAddr.ipAddress()));
+ assertThat(toAddr.subnetAddress(), is(fromAddr.subnetAddress()));
+ assertThat(toAddr.broadcastAddress(), is(fromAddr.broadcastAddress()));
+ assertThat(toAddr.peerAddress(), is(fromAddr.peerAddress()));
// Point-to-point address with peer IP address
fromAddr = new InterfaceIpAddress(IP_ADDRESS, SUBNET_ADDRESS, null,
PEER_ADDRESS);
toAddr = new InterfaceIpAddress(fromAddr);
- assertThat(toAddr.toString(),
- is("InterfaceIpAddress{ipAddress=1.2.3.4, subnetAddress=1.2.0.0/16, peerAddress=5.6.7.8}"));
+ assertThat(toAddr.ipAddress(), is(fromAddr.ipAddress()));
+ assertThat(toAddr.subnetAddress(), is(fromAddr.subnetAddress()));
+ assertThat(toAddr.broadcastAddress(), is(fromAddr.broadcastAddress()));
+ assertThat(toAddr.peerAddress(), is(fromAddr.peerAddress()));
}
/**
@@ -89,8 +95,10 @@
public void testConstructorForDefaultBroadcastAddress() {
InterfaceIpAddress addr =
new InterfaceIpAddress(IP_ADDRESS, SUBNET_ADDRESS);
- assertThat(addr.toString(),
- is("InterfaceIpAddress{ipAddress=1.2.3.4, subnetAddress=1.2.0.0/16}"));
+ assertThat(addr.ipAddress(), is(IP_ADDRESS));
+ assertThat(addr.subnetAddress(), is(SUBNET_ADDRESS));
+ assertThat(addr.broadcastAddress(), nullValue());
+ assertThat(addr.peerAddress(), nullValue());
}
/**
@@ -102,8 +110,11 @@
InterfaceIpAddress addr =
new InterfaceIpAddress(IP_ADDRESS, SUBNET_ADDRESS,
BROADCAST_ADDRESS);
- assertThat(addr.toString(),
- is("InterfaceIpAddress{ipAddress=1.2.3.4, subnetAddress=1.2.0.0/16, broadcastAddress=1.2.0.255}"));
+
+ assertThat(addr.ipAddress(), is(IP_ADDRESS));
+ assertThat(addr.subnetAddress(), is(SUBNET_ADDRESS));
+ assertThat(addr.broadcastAddress(), is(BROADCAST_ADDRESS));
+ assertThat(addr.peerAddress(), nullValue());
}
/**
@@ -115,8 +126,11 @@
InterfaceIpAddress addr =
new InterfaceIpAddress(IP_ADDRESS, SUBNET_ADDRESS, null,
PEER_ADDRESS);
- assertThat(addr.toString(),
- is("InterfaceIpAddress{ipAddress=1.2.3.4, subnetAddress=1.2.0.0/16, peerAddress=5.6.7.8}"));
+
+ assertThat(addr.ipAddress(), is(IP_ADDRESS));
+ assertThat(addr.subnetAddress(), is(SUBNET_ADDRESS));
+ assertThat(addr.broadcastAddress(), nullValue());
+ assertThat(addr.peerAddress(), is(PEER_ADDRESS));
}
/**
@@ -229,28 +243,4 @@
assertThat(addr3, is(not(addr4)));
}
- /**
- * Tests object string representation.
- */
- @Test
- public void testToString() {
- InterfaceIpAddress addr;
-
- // Regular interface address with default broadcast address
- addr = new InterfaceIpAddress(IP_ADDRESS, SUBNET_ADDRESS);
- assertThat(addr.toString(),
- is("InterfaceIpAddress{ipAddress=1.2.3.4, subnetAddress=1.2.0.0/16}"));
-
- // Interface address with non-default broadcast address
- addr = new InterfaceIpAddress(IP_ADDRESS, SUBNET_ADDRESS,
- BROADCAST_ADDRESS);
- assertThat(addr.toString(),
- is("InterfaceIpAddress{ipAddress=1.2.3.4, subnetAddress=1.2.0.0/16, broadcastAddress=1.2.0.255}"));
-
- // Point-to-point address with peer IP address
- addr = new InterfaceIpAddress(IP_ADDRESS, SUBNET_ADDRESS, null,
- PEER_ADDRESS);
- assertThat(addr.toString(),
- is("InterfaceIpAddress{ipAddress=1.2.3.4, subnetAddress=1.2.0.0/16, peerAddress=5.6.7.8}"));
- }
}