Bug 5457 - BGP-LU update from app peer to exabgp peer: Labels missing 14/36014/2
authorMilos Fabian <milfabia@cisco.com>
Wed, 9 Mar 2016 22:51:39 +0000 (23:51 +0100)
committerMilos Fabian <milfabia@cisco.com>
Thu, 10 Mar 2016 10:57:40 +0000 (10:57 +0000)
Make sure all labels are added into label entry, not only the last one.

Change-Id: I54a28185a46d7757e729be1384485fb610fd8f52
Signed-off-by: Milos Fabian <milfabia@cisco.com>
bgp/labeled-unicast/src/main/java/org/opendaylight/protocol/bgp/labeled/unicast/LabeledUnicastRIBSupport.java

index 92982d7a212c40745ce8c6ac5409e87914012ea5..cc66a7b30e8c746a33b77ee7f6921c2b30c25076 100644 (file)
@@ -244,16 +244,16 @@ final class LabeledUnicastRIBSupport extends AbstractRIBSupport {
         }
         final Optional<DataContainerChild<? extends PathArgument, ?>> labelStacks = route.getChild(LABEL_STACK_NID);
         final List<LabelStack> labels = new ArrayList<>();
-        final LabelStackBuilder labelStackbuilder = new LabelStackBuilder();
         if (labelStacks.isPresent()) {
             for(final UnkeyedListEntryNode label : ((UnkeyedListNode)labelStacks.get()).getValue()) {
                 final Optional<DataContainerChild<? extends PathArgument, ?>> labelStack = label.getChild(LV_NID);
                 if (labelStack.isPresent()) {
+                    final LabelStackBuilder labelStackbuilder = new LabelStackBuilder();
                     labelStackbuilder.setLabelValue(new MplsLabel((Long) labelStack.get().getValue()));
+                    labels.add(labelStackbuilder.build());
                 }
             }
         }
-        labels.add(labelStackbuilder.build());
         builder.setLabelStack(labels);
         return builder.build();
     }