Two fixes: 1) cpqd emulation of ofdpa pops off internal vlan before sending to controller
2) Arp handler does not need to send flowmod to switch as hostmanager listener is doing that

Change-Id: I5460aa36bcb3cfce3bc1887e304a63b2221495b9
diff --git a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/ArpHandler.java b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/ArpHandler.java
index 51324893..388e313 100644
--- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/ArpHandler.java
+++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/ArpHandler.java
@@ -76,7 +76,7 @@
      * hosts in the same subnet.
      * For an ARP packet with broadcast destination MAC,
      * some switches pipelines will send it to the controller due to table miss,
-     * other swithches will flood the packets directly in the data plane without
+     * other switches will flood the packets directly in the data plane without
      * packet in.
      * We can deal with both cases.
      *
@@ -92,10 +92,6 @@
         DeviceId deviceId = connectPoint.deviceId();
         byte[] senderMacAddressByte = arp.getSenderHardwareAddress();
         Ip4Address hostIpAddress = Ip4Address.valueOf(arp.getSenderProtocolAddress());
-
-        srManager.routingRulePopulator.populateIpRuleForHost(deviceId, hostIpAddress, MacAddress.
-                valueOf(senderMacAddressByte), inPort);
-
         if (arp.getOpCode() == ARP.OP_REQUEST) {
             handleArpRequest(deviceId, connectPoint, ethernet);
         } else {
diff --git a/drivers/default/src/main/java/org/onosproject/driver/pipeline/CpqdOFDPA2Pipeline.java b/drivers/default/src/main/java/org/onosproject/driver/pipeline/CpqdOFDPA2Pipeline.java
index 2dffbcd..9889967 100644
--- a/drivers/default/src/main/java/org/onosproject/driver/pipeline/CpqdOFDPA2Pipeline.java
+++ b/drivers/default/src/main/java/org/onosproject/driver/pipeline/CpqdOFDPA2Pipeline.java
@@ -588,6 +588,9 @@
                 if (ins instanceof OutputInstruction) {
                     OutputInstruction o = (OutputInstruction) ins;
                     if (o.port() == PortNumber.CONTROLLER) {
+                        // emulating real ofdpa behavior by popping off internal
+                        // vlan before sending to controller
+                        ttBuilder.popVlan();
                         ttBuilder.add(o);
                     } else {
                         log.warn("Only allowed treatments in versatile forwarding "