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 "