Add another flow entry for BoS=1 in MPLS table

Change-Id: I96dc11cab3d55f032328dbbde605ac7946f6b78b
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 16f0ca2..0f49148 100644
--- a/src/main/java/net/onrc/onos/apps/segmentrouting/SegmentRoutingManager.java
+++ b/src/main/java/net/onrc/onos/apps/segmentrouting/SegmentRoutingManager.java
@@ -960,7 +960,7 @@
             maEntries.add(maEntry);
 
             // One rule for Bos = 0
-            MplsMatch mplsMatchBos = new MplsMatch(Integer.parseInt(mplsLabel), false);
+            MplsMatch mplsMatchBos = new MplsMatch(Integer.parseInt(mplsLabel), true);
             List<Action> actionsBos = new ArrayList<Action>();
             actionsBos.add(popAction);
             actionsBos.add(groupAction);
@@ -990,6 +990,25 @@
             MatchActionOperationEntry maEntry =
                     new MatchActionOperationEntry(operator, matchAction);
             maEntries.add(maEntry);
+
+            // BoS = 1
+            MplsMatch mplsMatchBoS = new MplsMatch(Integer.parseInt(mplsLabel), true);
+            List<Action> actionsBoS = new ArrayList<Action>();
+
+            DecMplsTtlAction decMplsTtlActionBoS = new DecMplsTtlAction(1);
+            actionsBoS.add(decMplsTtlActionBoS);
+
+            GroupAction groupActionBoS = new GroupAction();
+            for (String fwdSw : fwdSws)
+                groupActionBoS.addSwitch(new Dpid(fwdSw));
+            actionsBoS.add(groupActionBoS);
+
+            MatchAction matchActionBos = new MatchAction(new MatchActionId(
+                    matchActionId++),
+                    new SwitchPort((long) 0, (short) 0), mplsMatchBoS, actionsBoS);
+            MatchActionOperationEntry maEntryBoS =
+                    new MatchActionOperationEntry(operator, matchActionBos);
+            maEntries.add(maEntryBoS);
         }
         IOF13Switch sw13 = (IOF13Switch) floodlightProvider.getMasterSwitch(
                 getSwId(sw.getDpid().toString()));