BUG-5790: BGP Test tool
[bgpcep.git] / util / src / main / java / org / opendaylight / protocol / util / Ipv4Util.java
index b466121d9bad2972f442be3b3143aadaf78c2bf9..a6f5bf6ec11a9f35f581a354cd3726e17acdcd22 100644 (file)
@@ -18,6 +18,7 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
+import java.util.Map;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IetfInetUtil;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address;
@@ -226,4 +227,29 @@ public final class Ipv4Util {
         }
         return new InetSocketAddress(InetAddresses.forString(ipString), port.getValue());
     }
+
+    /**
+     * Increment Address
+     *
+     * @param ipv4Address String containing Ipv4Address
+     * @return String containing Ipv4Address incremented by 1
+     */
+    public static String incrementIpv4Address(final String ipv4Address) {
+        return InetAddresses.increment(InetAddresses.forString(ipv4Address)).getHostAddress();
+    }
+
+    /**
+     * Increment Address
+     *
+     * @param ipv4Address ipv4 address to be incremented
+     * @return new ipv4 address
+     */
+    public static Ipv4Address incrementIpv4Address(final Ipv4Address ipv4Address) {
+        return new Ipv4Address(incrementIpv4Address(ipv4Address.getValue()));
+    }
+
+    public static Ipv4Prefix incrementIpv4Prefix(final Ipv4Prefix ipv4Prefix) {
+        final Map.Entry<Ipv4Address, Integer> splitIpv4Prefix = IetfInetUtil.INSTANCE.splitIpv4Prefix(ipv4Prefix);
+        return IetfInetUtil.INSTANCE.ipv4PrefixFor(incrementIpv4Address(splitIpv4Prefix.getKey()), splitIpv4Prefix.getValue());
+    }
 }