[SDFAB-21] Explicitily pop vlan in VERIFY nextobjective
Change-Id: Ie46f150f69e71ff5634dfc13318060a8b4b30ad1
diff --git a/impl/src/main/java/org/onosproject/segmentrouting/grouphandler/DefaultGroupHandler.java b/impl/src/main/java/org/onosproject/segmentrouting/grouphandler/DefaultGroupHandler.java
index 76ca8b7..7920e67 100644
--- a/impl/src/main/java/org/onosproject/segmentrouting/grouphandler/DefaultGroupHandler.java
+++ b/impl/src/main/java/org/onosproject/segmentrouting/grouphandler/DefaultGroupHandler.java
@@ -1784,10 +1784,8 @@
deviceId, nid, port, edgeLabel,
dstDev, neighbor);
nextObjBuilder
- .addTreatment(treatmentBuilder(port,
- neighborMac,
- dsKey.destinationSet().swap(),
- edgeLabel));
+ .addTreatment(treatmentBuilder(port, neighborMac, dsKey.destinationSet().swap(),
+ edgeLabel, popVlanInHashGroup(dsKey.destinationSet())));
});
});
});
@@ -1802,12 +1800,17 @@
}
TrafficTreatment treatmentBuilder(PortNumber outport, MacAddress dstMac,
- boolean swap, int edgeLabel) {
+ boolean swap, int edgeLabel, boolean popVlan) {
TrafficTreatment.Builder tBuilder =
DefaultTrafficTreatment.builder();
tBuilder.setOutput(outport)
- .setEthDst(dstMac)
- .setEthSrc(nodeMacAddr);
+ .setEthDst(dstMac)
+ .setEthSrc(nodeMacAddr);
+
+ if (popVlan) {
+ tBuilder.popVlan();
+ }
+
if (edgeLabel != DestinationSet.NO_EDGE_LABEL) {
if (swap) {
// swap label case