diff --git a/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/AbstractWatcher.java b/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/AbstractWatcher.java
new file mode 100644
index 0000000..f7fcfc1
--- /dev/null
+++ b/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/AbstractWatcher.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2021-present Open Networking Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onosproject.kubevirtnetworking.api;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.onlab.osgi.DefaultServiceDirectory;
+import org.onlab.osgi.ServiceDirectory;
+import org.onosproject.codec.CodecContext;
+import org.onosproject.codec.CodecService;
+import org.onosproject.codec.JsonCodec;
+
+/**
+ * Abstract watcher.
+ */
+public class AbstractWatcher implements CodecContext {
+
+    private static ServiceDirectory services = new DefaultServiceDirectory();
+    private final ObjectMapper mapper = new ObjectMapper();
+
+    @Override
+    public ObjectMapper mapper() {
+        return mapper;
+    }
+
+    @Override
+    public <T> JsonCodec<T> codec(Class<T> entityClass) {
+        return services.get(CodecService.class).getCodec(entityClass);
+    }
+
+    @Override
+    public <T> T getService(Class<T> serviceClass) {
+        return services.get(serviceClass);
+    }
+}
diff --git a/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/Constants.java b/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/Constants.java
index 3f5620e..0c97fb6 100644
--- a/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/Constants.java
+++ b/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/Constants.java
@@ -87,6 +87,7 @@
     public static final int CLI_SEG_ID_LENGTH = 10;
     public static final int CLI_LABELS_LENGTH = 30;
     public static final int CLI_CONTAINERS_LENGTH = 30;
+    public static final int CLI_FLAG_LENGTH = 10;
     public static final int CLI_MARGIN_LENGTH = 2;
 
     public static final int PRIORITY_STATEFUL_SNAT_RULE = 40500;
diff --git a/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/DefaultKubevirtRouter.java b/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/DefaultKubevirtRouter.java
index e606275..4bf04a2 100644
--- a/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/DefaultKubevirtRouter.java
+++ b/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/DefaultKubevirtRouter.java
@@ -18,7 +18,6 @@
 import com.google.common.base.MoreObjects;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
-import org.onlab.packet.IpAddress;
 
 import java.util.HashMap;
 import java.util.HashSet;
@@ -39,7 +38,7 @@
     private final String description;
     private final boolean enableSnat;
     private final Set<String> internal;
-    private final Map<IpAddress, String> external;
+    private final Map<String, String> external;
     private final KubevirtPeerRouter peerRouter;
 
     /**
@@ -54,7 +53,7 @@
      */
     public DefaultKubevirtRouter(String name, String description, boolean enableSnat,
                                  Set<String> internal,
-                                 Map<IpAddress, String> external,
+                                 Map<String, String> external,
                                  KubevirtPeerRouter peerRouter) {
         this.name = name;
         this.description = description;
@@ -85,7 +84,7 @@
     }
 
     @Override
-    public Map<IpAddress, String> external() {
+    public Map<String, String> external() {
         return ImmutableMap.copyOf(external);
     }
 
@@ -95,6 +94,18 @@
     }
 
     @Override
+    public KubevirtRouter updatePeerRouter(KubevirtPeerRouter updated) {
+        return DefaultKubevirtRouter.builder()
+                .name(name)
+                .enableSnat(enableSnat)
+                .description(description)
+                .internal(internal)
+                .external(external)
+                .peerRouter(updated)
+                .build();
+    }
+
+    @Override
     public boolean equals(Object o) {
         if (this == o) {
             return true;
@@ -140,7 +151,7 @@
         private String description;
         private boolean enableSnat;
         private Set<String> internal;
-        private Map<IpAddress, String> external;
+        private Map<String, String> external;
         private KubevirtPeerRouter peerRouter;
 
         @Override
@@ -176,7 +187,7 @@
         }
 
         @Override
-        public Builder external(Map<IpAddress, String> external) {
+        public Builder external(Map<String, String> external) {
             this.external = Objects.requireNonNullElseGet(external, HashMap::new);
             return this;
         }
diff --git a/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtPeerRouter.java b/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtPeerRouter.java
index 00dbc2f..4ebe556 100644
--- a/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtPeerRouter.java
+++ b/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtPeerRouter.java
@@ -35,7 +35,7 @@
      * @param ipAddress  IP address
      * @param macAddress MAC address
      */
-    KubevirtPeerRouter(IpAddress ipAddress, MacAddress macAddress) {
+    public KubevirtPeerRouter(IpAddress ipAddress, MacAddress macAddress) {
         this.ipAddress = ipAddress;
         this.macAddress = macAddress;
     }
diff --git a/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtRouter.java b/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtRouter.java
index c10116f..e9f5e88 100644
--- a/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtRouter.java
+++ b/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtRouter.java
@@ -15,8 +15,6 @@
  */
 package org.onosproject.kubevirtnetworking.api;
 
-import org.onlab.packet.IpAddress;
-
 import java.util.Map;
 import java.util.Set;
 
@@ -59,7 +57,7 @@
      *
      * @return external network paired with external router IP address
      */
-    Map<IpAddress, String> external();
+    Map<String, String> external();
 
     /**
      * Returns external peer router.
@@ -68,6 +66,14 @@
      */
     KubevirtPeerRouter peerRouter();
 
+    /**
+     * Updates the peer router.
+     *
+     * @param updated updated peer router
+     * @return kubevirt router with the updated peer router
+     */
+    KubevirtRouter updatePeerRouter(KubevirtPeerRouter updated);
+
     interface Builder {
 
         /**
@@ -115,7 +121,7 @@
          * @param external external network with IP
          * @return router builder
          */
-        Builder external(Map<IpAddress, String> external);
+        Builder external(Map<String, String> external);
 
         /**
          * Returns kubevirt router builder with supplied peer router.
diff --git a/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtRouterAdminService.java b/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtRouterAdminService.java
index c963551..1ec1cee 100644
--- a/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtRouterAdminService.java
+++ b/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtRouterAdminService.java
@@ -15,6 +15,8 @@
  */
 package org.onosproject.kubevirtnetworking.api;
 
+import org.onlab.packet.MacAddress;
+
 /**
  * Service for administering the inventory of kubevirt router service.
  */
@@ -42,6 +44,14 @@
     void removeRouter(String name);
 
     /**
+     * Updates the MAC address of the peer router.
+     *
+     * @param name router name
+     * @param mac peer router MAC address
+     */
+    void updatePeerRouterMac(String name, MacAddress mac);
+
+    /**
      * Removes all routers.
      */
     void clear();
diff --git a/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtRouterEvent.java b/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtRouterEvent.java
index 52d4824..b195ecb 100644
--- a/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtRouterEvent.java
+++ b/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtRouterEvent.java
@@ -28,7 +28,7 @@
      * @param type      kubevirt router event type
      * @param subject   kubevirt router
      */
-    protected KubevirtRouterEvent(Type type, KubevirtRouter subject) {
+    public KubevirtRouterEvent(Type type, KubevirtRouter subject) {
         super(type, subject);
     }
 
