Support distributed virtual router (DVR) at kubernetes

Change-Id: I6dfa1ad0d2161443e37fa80901d5ababbec6f74e
diff --git a/apps/k8s-node/app/src/test/java/org/onosproject/k8snode/codec/K8sNodeJsonMatcher.java b/apps/k8s-node/app/src/test/java/org/onosproject/k8snode/codec/K8sNodeJsonMatcher.java
index 816ca76..71c5ca9 100644
--- a/apps/k8s-node/app/src/test/java/org/onosproject/k8snode/codec/K8sNodeJsonMatcher.java
+++ b/apps/k8s-node/app/src/test/java/org/onosproject/k8snode/codec/K8sNodeJsonMatcher.java
@@ -19,6 +19,7 @@
 import org.hamcrest.Description;
 import org.hamcrest.TypeSafeDiagnosingMatcher;
 import org.onlab.packet.IpAddress;
+import org.onlab.packet.MacAddress;
 import org.onosproject.k8snode.api.K8sNode;
 
 /**
@@ -39,6 +40,7 @@
     private static final String EXTERNAL_INTF = "externalInterface";
     private static final String EXTERNAL_BRIDGE_IP = "externalBridgeIp";
     private static final String EXTERNAL_GATEWAY_IP = "externalGatewayIp";
+    private static final String EXTERNAL_GATEWAY_MAC = "externalGatewayMac";
 
     private K8sNodeJsonMatcher(K8sNode node) {
         this.node = node;
@@ -147,6 +149,16 @@
             }
         }
 
+        // check external gateway MAC
+        JsonNode jsonExtGatewayMac = jsonNode.get(EXTERNAL_GATEWAY_MAC);
+        if (jsonExtGatewayMac != null) {
+            MacAddress extGatewayMac = node.extGatewayMac();
+            if (!jsonExtGatewayMac.asText().equals(extGatewayMac.toString())) {
+                description.appendText("External gateway MAC was " + jsonExtGatewayMac.asText());
+                return false;
+            }
+        }
+
         return true;
     }