Add MacAddress.isLinkLocal()
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/MacAddress.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/MacAddress.java
index aaa31eb..f7950c3 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/MacAddress.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/MacAddress.java
@@ -26,6 +26,9 @@
     public static final MacAddress NO_MASK = MacAddress.of(0xFFFFFFFFFFFFFFFFl);
     public static final MacAddress FULL_MASK = MacAddress.of(0x0);
 
+    private static final long LINK_LOCAL_MASK = 0xfffffffffff0L;
+    private static final long LINK_LOCAL_VALUE = 0x0180c2000000L;
+
     private MacAddress(final long rawValue) {
         this.rawValue = rawValue;
     }
@@ -114,6 +117,14 @@
         return (rawValue & (0x01L << 40)) != 0;
     }
 
+    /**
+     * Returns {@code true} if the MAC address is a link local address.
+     * @return {@code true} if the MAC address is a link local address.
+     */
+    public boolean isLinkLocal() {
+        return (rawValue & LINK_LOCAL_MASK) == LINK_LOCAL_VALUE;
+    }
+
     @Override
     public int getLength() {
         return MacAddrLen;
diff --git a/java_gen/pre-written/src/test/java/org/projectfloodlight/openflow/types/MacAddressTest.java b/java_gen/pre-written/src/test/java/org/projectfloodlight/openflow/types/MacAddressTest.java
index 3ccceb3..3e56c9f 100644
--- a/java_gen/pre-written/src/test/java/org/projectfloodlight/openflow/types/MacAddressTest.java
+++ b/java_gen/pre-written/src/test/java/org/projectfloodlight/openflow/types/MacAddressTest.java
@@ -140,4 +140,15 @@
         assertFalse(MacAddress.of(0x05FFFFFFFFFFFFL).isMulticast());
         assertFalse(MacAddress.of("FF:FF:FF:FF:FF:FF").isMulticast());
     }
+
+    @Test
+    public void testIsLinkLocal() {
+        assertTrue(MacAddress.of("01:80:C2:00:00:00").isLinkLocal());
+        assertTrue(MacAddress.of("01:80:C2:00:00:0f").isLinkLocal());
+        assertFalse(MacAddress.of("01:80:C2:00:00:50").isLinkLocal());
+        assertFalse(MacAddress.of("01:80:C2:00:10:00").isLinkLocal());
+        assertFalse(MacAddress.of("01:80:C2:40:00:01").isLinkLocal());
+        assertFalse(MacAddress.of("00:80:C2:f0:00:00").isLinkLocal());
+        assertFalse(MacAddress.of("FE:80:C2:00:00:00").isLinkLocal());
+    }
 }