Fix: support to enable SNAT from disabled status at kubevirt net

Change-Id: I82742975e0525f259d01f6279b32ebf34f8ea26f
(cherry picked from commit c2a2c07c3171b8413fa8dc3915f42efbd3c467a9)
diff --git a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtRoutingSnatHandler.java b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtRoutingSnatHandler.java
index f5fcd43..517c1ce 100644
--- a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtRoutingSnatHandler.java
+++ b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtRoutingSnatHandler.java
@@ -697,6 +697,24 @@
             }
             if (router.enableSnat() && !router.external().isEmpty() && router.peerRouter() != null) {
                 initGatewayNodeSnatForRouter(router, router.electedGateway(), true);
+
+                KubevirtNode gatewayNode = kubevirtNodeService.node(router.electedGateway());
+
+                router.internal()
+                        .stream()
+                        .filter(networkId -> kubevirtNetworkService.network(networkId) != null)
+                        .map(kubevirtNetworkService::network)
+                        .forEach(network -> {
+                            String routerSnatIp = router.external().keySet().stream().findAny().orElse(null);
+                            if (routerSnatIp == null) {
+                                return;
+                            }
+
+                            kubevirtPortService.ports(network.networkId()).forEach(kubevirtPort -> {
+                                setStatefulSnatDownStreamRuleForKubevirtPort(router,
+                                        gatewayNode, kubevirtPort, true);
+                            });
+                        });
             }
         }