Add mac address field into virtual router

Change-Id: I387507756d88732f9e1733b9d1037f8d0861f848
diff --git a/apps/kubevirt-networking/app/src/test/java/org/onosproject/kubevirtnetworking/codec/KubevirtRouterCodecTest.java b/apps/kubevirt-networking/app/src/test/java/org/onosproject/kubevirtnetworking/codec/KubevirtRouterCodecTest.java
index 3af305c..1ff8951 100644
--- a/apps/kubevirt-networking/app/src/test/java/org/onosproject/kubevirtnetworking/codec/KubevirtRouterCodecTest.java
+++ b/apps/kubevirt-networking/app/src/test/java/org/onosproject/kubevirtnetworking/codec/KubevirtRouterCodecTest.java
@@ -79,6 +79,7 @@
         KubevirtRouter router = DefaultKubevirtRouter.builder()
                 .name("router-1")
                 .enableSnat(true)
+                .mac(MacAddress.valueOf("11:22:33:44:55:66"))
                 .description("router-1")
                 .internal(ImmutableSet.of("vlan-1"))
                 .external(ImmutableMap.of("10.10.10.20", "flat-1"))
@@ -97,6 +98,7 @@
         assertEquals("router-1", router.name());
         assertEquals("Example Virtual Router", router.description());
         assertTrue(router.enableSnat());
+        assertEquals("11:22:33:44:55:66", router.mac().toString());
         assertEquals("192.168.10.5",
                 router.external().keySet().stream().findAny().orElse(null));
         assertEquals("external-network", router.external().get("192.168.10.5"));
diff --git a/apps/kubevirt-networking/app/src/test/java/org/onosproject/kubevirtnetworking/codec/KubevirtRouterJsonMatcher.java b/apps/kubevirt-networking/app/src/test/java/org/onosproject/kubevirtnetworking/codec/KubevirtRouterJsonMatcher.java
index 1b394e7..a855f42 100644
--- a/apps/kubevirt-networking/app/src/test/java/org/onosproject/kubevirtnetworking/codec/KubevirtRouterJsonMatcher.java
+++ b/apps/kubevirt-networking/app/src/test/java/org/onosproject/kubevirtnetworking/codec/KubevirtRouterJsonMatcher.java
@@ -73,6 +73,14 @@
             }
         }
 
+        // check vrouter MAC
+        String jsonMac = jsonNode.get(MAC_ADDRESS).asText();
+        String mac = router.mac().toString();
+        if (!jsonMac.equals(mac)) {
+            description.appendText("MAC was " + jsonMac);
+            return false;
+        }
+
         // check internal
         JsonNode jsonInternal = jsonNode.get(INTERNAL);
         if (jsonInternal != null) {
@@ -134,10 +142,10 @@
                 }
             }
 
-            JsonNode jsonMac = jsonPeerRouter.get(MAC_ADDRESS);
+            JsonNode jsonProuterMac = jsonPeerRouter.get(MAC_ADDRESS);
 
-            if (jsonMac != null) {
-                if (!jsonMac.asText().equals(router.peerRouter().macAddress().toString())) {
+            if (jsonProuterMac != null) {
+                if (!jsonProuterMac.asText().equals(router.peerRouter().macAddress().toString())) {
                     description.appendText("Peer router MAC was " + jsonMac);
                     return false;
                 }
diff --git a/apps/kubevirt-networking/app/src/test/resources/org/onosproject/kubevirtnetworking/codec/KubevirtRouter.json b/apps/kubevirt-networking/app/src/test/resources/org/onosproject/kubevirtnetworking/codec/KubevirtRouter.json
index 14e60ec..5d9d53c 100644
--- a/apps/kubevirt-networking/app/src/test/resources/org/onosproject/kubevirtnetworking/codec/KubevirtRouter.json
+++ b/apps/kubevirt-networking/app/src/test/resources/org/onosproject/kubevirtnetworking/codec/KubevirtRouter.json
@@ -2,6 +2,7 @@
   "name": "router-1",
   "description": "Example Virtual Router",
   "enableSnat": true,
+  "mac": "11:22:33:44:55:66",
   "external": {
     "ip": "192.168.10.5",
     "network": "external-network"