diff --git a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sRoutingArpHandler.java b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sRoutingArpHandler.java
index 8313b81..9986760 100644
--- a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sRoutingArpHandler.java
+++ b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sRoutingArpHandler.java
@@ -124,7 +124,7 @@
             IpAddress spa = Ip4Address.valueOf(arp.getSenderProtocolAddress());
             MacAddress sha = MacAddress.valueOf(arp.getSenderHardwareAddress());
 
-            log.info("ARP reply from external gateway ip: {}, mac: {}", spa, sha);
+            log.info("ARP reply from ip: {}, mac: {}", spa, sha);
 
             Set<IpAddress> gatewayIps = k8sNodeService.completeNodes().stream()
                     .map(K8sNode::extGatewayIp).collect(Collectors.toSet());
@@ -133,6 +133,8 @@
                 return;
             }
 
+            log.info("ARP reply from external gateway ip: {}, mac: {}", spa, sha);
+
             k8sNodeService.completeNodes().stream()
                     .filter(n -> n.extGatewayMac() == null)
                     .forEach(n -> {
diff --git a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sRoutingSnatHandler.java b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sRoutingSnatHandler.java
index fccbaaf..f16bdda 100644
--- a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sRoutingSnatHandler.java
+++ b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sRoutingSnatHandler.java
@@ -287,8 +287,9 @@
                     .extension(buildMoveEthSrcToDstExtension(device), device.id())
                     .extension(buildMoveArpShaToThaExtension(device), device.id())
                     .extension(buildMoveArpSpaToTpaExtension(device), device.id())
-                    .setArpSpa(Ip4Address.valueOf(k8sNode.extBridgeIp().toString()))
+                    .setEthSrc(k8sNode.extBridgeMac())
                     .setArpSha(k8sNode.extBridgeMac())
+                    .setArpSpa(Ip4Address.valueOf(k8sNode.extBridgeIp().toString()))
                     .setOutput(PortNumber.IN_PORT)
                     .build();
 
