add bitwise logical operators and broadcast check
AND, OR, NOT and isBroadcast added to IPAddress
getSubnetBroadcastAddress added to IPAddressWithMask with
convenience method isSubnetBroadcastAddress
diff --git a/java_gen/pre-written/src/test/java/org/projectfloodlight/openflow/types/IPv4AddressTest.java b/java_gen/pre-written/src/test/java/org/projectfloodlight/openflow/types/IPv4AddressTest.java
index 334ec0d..bd2c945 100644
--- a/java_gen/pre-written/src/test/java/org/projectfloodlight/openflow/types/IPv4AddressTest.java
+++ b/java_gen/pre-written/src/test/java/org/projectfloodlight/openflow/types/IPv4AddressTest.java
@@ -104,6 +104,29 @@
};
@Test
+ public void testLogicalOperatorsBroadcast() {
+ assertTrue(IPv4Address.NO_MASK.not().equals(IPv4Address.FULL_MASK));
+ assertTrue(IPv4Address.NO_MASK.or(IPv4Address.FULL_MASK).
+ equals(IPv4Address.NO_MASK));
+ assertTrue(IPv4Address.NO_MASK.and(IPv4Address.FULL_MASK).
+ equals(IPv4Address.FULL_MASK));
+
+ assertTrue(IPv4Address.NO_MASK.isBroadcast());
+ assertTrue(!IPv4Address.FULL_MASK.isBroadcast());
+ }
+
+ @Test
+ public void testMaskedSubnetBroadcast() {
+ assertTrue(IPv4AddressWithMask.of("10.10.10.1/24")
+ .getSubnetBroadcastAddress()
+ .equals(IPv4Address.of("10.10.10.255")));
+ assertTrue(IPv4AddressWithMask.of("10.10.10.1/24")
+ .isSubnetBroadcastAddress(IPv4Address.of("10.10.10.255")));
+ assertTrue(!IPv4AddressWithMask.of("10.10.10.1/24")
+ .isSubnetBroadcastAddress(IPv4Address.of("10.10.10.254")));
+ }
+
+ @Test
public void testMaskedMatchesCidr() {
IPv4AddressWithMask slash28 = IPv4AddressWithMask.of("10.0.42.16/28");
diff --git a/java_gen/pre-written/src/test/java/org/projectfloodlight/openflow/types/IPv6AddressTest.java b/java_gen/pre-written/src/test/java/org/projectfloodlight/openflow/types/IPv6AddressTest.java
index c521292..da31470 100644
--- a/java_gen/pre-written/src/test/java/org/projectfloodlight/openflow/types/IPv6AddressTest.java
+++ b/java_gen/pre-written/src/test/java/org/projectfloodlight/openflow/types/IPv6AddressTest.java
@@ -76,6 +76,29 @@
};
@Test
+ public void testLogicalOperatorsBroadcast() {
+ assertTrue(IPv6Address.NO_MASK.not().equals(IPv6Address.FULL_MASK));
+ assertTrue(IPv6Address.NO_MASK.or(IPv6Address.FULL_MASK).
+ equals(IPv6Address.NO_MASK));
+ assertTrue(IPv6Address.NO_MASK.and(IPv6Address.FULL_MASK).
+ equals(IPv6Address.FULL_MASK));
+
+ assertTrue(IPv6Address.NO_MASK.isBroadcast());
+ assertTrue(!IPv6Address.FULL_MASK.isBroadcast());
+ }
+
+ @Test
+ public void testMaskedSubnetBroadcast() {
+ assertTrue(IPv6AddressWithMask.of("10:10::1/112")
+ .getSubnetBroadcastAddress()
+ .equals(IPv6Address.of("10:10::ffff")));
+ assertTrue(IPv6AddressWithMask.of("10:10::1/112")
+ .isSubnetBroadcastAddress(IPv6Address.of("10:10::ffff")));
+ assertTrue(!IPv6AddressWithMask.of("10:10::1/112")
+ .isSubnetBroadcastAddress(IPv6Address.of("10:10::fffd")));
+ }
+
+ @Test
public void testConstants() {
byte[] zeros = { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
(byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,