Initializes gateway type of kubevirt node.

Change-Id: Ib48f54f60fa82b5fe35f0077687653712fd22803
(cherry picked from commit 54d8baf7cf1042251067641cf1da99cbc0ae8638)
diff --git a/apps/kubevirt-node/api/src/main/java/org/onosproject/kubevirtnode/api/DefaultKubevirtNode.java b/apps/kubevirt-node/api/src/main/java/org/onosproject/kubevirtnode/api/DefaultKubevirtNode.java
index 1d3512a..2b0c8f8 100644
--- a/apps/kubevirt-node/api/src/main/java/org/onosproject/kubevirtnode/api/DefaultKubevirtNode.java
+++ b/apps/kubevirt-node/api/src/main/java/org/onosproject/kubevirtnode/api/DefaultKubevirtNode.java
@@ -52,6 +52,7 @@
     private final IpAddress dataIp;
     private final KubevirtNodeState state;
     private final Collection<KubevirtPhyInterface> phyIntfs;
+    private final String gatewayBridgeName;
 
     /**
      * A default constructor of kubevirt node.
@@ -65,12 +66,14 @@
      * @param dataIp            data IP address
      * @param state             node state
      * @param phyIntfs          physical interfaces
+     * @param gatewayBridgeName  gateway bridge name
      */
     protected DefaultKubevirtNode(String clusterName, String hostname, Type type,
                                   DeviceId intgBridge, DeviceId tunBridge,
                                   IpAddress managementIp, IpAddress dataIp,
                                   KubevirtNodeState state,
-                                  Collection<KubevirtPhyInterface> phyIntfs) {
+                                  Collection<KubevirtPhyInterface> phyIntfs,
+                                  String gatewayBridgeName) {
         this.clusterName = clusterName;
         this.hostname = hostname;
         this.type = type;
@@ -80,6 +83,7 @@
         this.dataIp = dataIp;
         this.state = state;
         this.phyIntfs = phyIntfs;
+        this.gatewayBridgeName = gatewayBridgeName;
     }
 
     @Override
@@ -139,6 +143,7 @@
                 .dataIp(dataIp)
                 .state(newState)
                 .phyIntfs(phyIntfs)
+                .gatewayBridgeName(gatewayBridgeName)
                 .build();
     }
 
@@ -154,6 +159,7 @@
                 .dataIp(dataIp)
                 .state(state)
                 .phyIntfs(phyIntfs)
+                .gatewayBridgeName(gatewayBridgeName)
                 .build();
     }
 
@@ -169,6 +175,7 @@
                 .dataIp(dataIp)
                 .state(state)
                 .phyIntfs(phyIntfs)
+                .gatewayBridgeName(gatewayBridgeName)
                 .build();
     }
 
@@ -196,6 +203,11 @@
         return tunnelPort(GENEVE);
     }
 
+    @Override
+    public String gatewayBridgeName() {
+        return gatewayBridgeName;
+    }
+
     private PortNumber tunnelPort(String tunnelType) {
         if (dataIp == null) {
             return null;
@@ -233,7 +245,8 @@
                 .managementIp(node.managementIp())
                 .dataIp(node.dataIp())
                 .state(node.state())
-                .phyIntfs(node.phyIntfs());
+                .phyIntfs(node.phyIntfs())
+                .gatewayBridgeName(node.gatewayBridgeName());
     }
 
     @Override
@@ -272,6 +285,7 @@
                 .add("dataIp", dataIp)
                 .add("state", state)
                 .add("phyIntfs", phyIntfs)
+                .add("gatewayBridgeName", gatewayBridgeName)
                 .toString();
     }
 
@@ -286,6 +300,7 @@
         private IpAddress dataIp;
         private KubevirtNodeState state;
         private Collection<KubevirtPhyInterface> phyIntfs;
+        private String gatewayBridgeName;
 
         // private constructor not intended to use from external
         private Builder() {
@@ -311,7 +326,8 @@
                     managementIp,
                     dataIp,
                     state,
-                    phyIntfs
+                    phyIntfs,
+                    gatewayBridgeName
             );
         }
 
@@ -368,5 +384,11 @@
             this.state = state;
             return this;
         }
+
+        @Override
+        public Builder gatewayBridgeName(String gatewayBridgeName) {
+            this.gatewayBridgeName = gatewayBridgeName;
+            return this;
+        }
     }
 }