- Fix a bug of segment stitching when there are more than one adjacencySid in label stack
Change-Id: Ie14156a7bdecc47caf012c866093c0c938bbc424
diff --git a/src/main/java/net/onrc/onos/apps/segmentrouting/SegmentRoutingManager.java b/src/main/java/net/onrc/onos/apps/segmentrouting/SegmentRoutingManager.java
index 7def639..2d90495 100644
--- a/src/main/java/net/onrc/onos/apps/segmentrouting/SegmentRoutingManager.java
+++ b/src/main/java/net/onrc/onos/apps/segmentrouting/SegmentRoutingManager.java
@@ -726,8 +726,8 @@
// Output action
if (srcMac != null && dstMac != null) {
- ModifyDstMacAction setDstAction = new ModifyDstMacAction(MACAddress.valueOf(srcMac));
- ModifySrcMacAction setSrcAction = new ModifySrcMacAction(MACAddress.valueOf(dstMac));
+ ModifyDstMacAction setDstAction = new ModifyDstMacAction(MACAddress.valueOf(dstMac));
+ ModifySrcMacAction setSrcAction = new ModifySrcMacAction(MACAddress.valueOf(srcMac));
OutputAction outportAction = new OutputAction(PortNumber.uint32(num));
actions.add(setDstAction);
@@ -1449,6 +1449,7 @@
if (prevAdjacencySid != null) {
if (isAdjacencySidNeighborOf(prevNodeId, prevAdjacencySid, nodeId)) {
prevAdjacencySid = null;
+ prevNodeId = nodeId;
continue;
}
prevAdjacencySid = null;