Added forgotten SLRG attribute to linkstate-topology output. 57/13957/3
authorDana Kutenicsova <dkutenic@cisco.com>
Wed, 7 Jan 2015 09:34:41 +0000 (10:34 +0100)
committerDana Kutenicsova <dkutenic@cisco.com>
Thu, 8 Jan 2015 11:18:42 +0000 (11:18 +0000)
Change-Id: I5c19cb5f60a4955f1e1f5ad16aec3067401a93d0
Signed-off-by: Dana Kutenicsova <dkutenic@cisco.com>
bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/LinkstateTopologyBuilder.java
bgp/topology-provider/src/test/java/org/opendaylight/bgpcep/bgp/topology/provider/LinkstateTopologyBuilderTest.java

index 90bea42f9588ad921e9c247b4eb7df0ca82c345c..b5c677afe2bef6e0985dcc1a215bd29d71090bdf 100644 (file)
@@ -55,11 +55,15 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.link
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev131125.node.identifier.c.router.identifier.ospf.pseudonode._case.OspfPseudonode;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.route.Attributes;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.network.concepts.rev131125.Bandwidth;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.SrlgId;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.isis.topology.rev131021.IsoPseudonodeId;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.isis.topology.rev131021.IsoSystemId;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.isis.topology.rev131021.isis.link.attributes.IsisLinkAttributesBuilder;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.isis.topology.rev131021.isis.node.attributes.IsisNodeAttributesBuilder;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.isis.topology.rev131021.isis.node.attributes.isis.node.attributes.IsoBuilder;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.ted.rev131021.srlg.attributes.SrlgValues;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.ted.rev131021.srlg.attributes.SrlgValuesBuilder;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.ted.rev131021.ted.link.attributes.SrlgBuilder;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.ted.rev131021.ted.link.attributes.UnreservedBandwidth;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.ted.rev131021.ted.link.attributes.UnreservedBandwidthBuilder;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.ted.rev131021.ted.link.attributes.UnreservedBandwidthKey;
@@ -393,6 +397,13 @@ public final class LinkstateTopologyBuilder extends AbstractTopologyBuilder<Link
             if (la.getMaxReservableBandwidth() != null) {
                 tb.setMaxResvLinkBandwidth(bandwidthToBigDecimal(la.getMaxReservableBandwidth()));
             }
+            if (la.getSharedRiskLinkGroups() != null) {
+                final List<SrlgValues> srlgs = new ArrayList<>();
+                for (final SrlgId id : la.getSharedRiskLinkGroups()) {
+                    srlgs.add(new SrlgValuesBuilder().setSrlgValue(id.getValue()).build());
+                }
+                tb.setSrlg(new SrlgBuilder().setSrlgValues(srlgs).build());
+            }
         }
 
         final IsisLinkAttributesBuilder ilab = new IsisLinkAttributesBuilder();
@@ -425,6 +436,13 @@ public final class LinkstateTopologyBuilder extends AbstractTopologyBuilder<Link
             if (la.getMaxReservableBandwidth() != null) {
                 tb.setMaxResvLinkBandwidth(bandwidthToBigDecimal(la.getMaxReservableBandwidth()));
             }
+            if (la.getSharedRiskLinkGroups() != null) {
+                final List<SrlgValues> srlgs = new ArrayList<>();
+                for (final SrlgId id : la.getSharedRiskLinkGroups()) {
+                    srlgs.add(new SrlgValuesBuilder().setSrlgValue(id.getValue()).build());
+                }
+                tb.setSrlg(new SrlgBuilder().setSrlgValues(srlgs).build());
+            }
         }
 
         final OspfLinkAttributesBuilder ilab = new OspfLinkAttributesBuilder();
index bfd08160682a65d0e7621ef714875c590115ee2b..0d718cf28d15b1928f34ebfb1557e0b93e1695e9 100644 (file)
@@ -65,6 +65,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.network.
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.network.concepts.rev131125.IgpMetric;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.network.concepts.rev131125.IsoSystemIdentifier;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.network.concepts.rev131125.TeMetric;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.SrlgId;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.isis.topology.rev131021.IgpLinkAttributes1;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.isis.topology.rev131021.IgpNodeAttributes1;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology;
@@ -196,6 +197,7 @@ public class LinkstateTopologyBuilderTest extends AbstractTopologyBuilderTest {
         assertEquals("link1", igpLink1.getName());
         assertNull(igpLink1.getAugmentation(IgpLinkAttributes1.class));
         assertEquals((short) 1, igpLink1.getAugmentation(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.ospf.topology.rev131021.IgpLinkAttributes1.class).getOspfLinkAttributes().getMultiTopologyId().shortValue());
+        assertEquals(2, igpLink1.getAugmentation(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.ospf.topology.rev131021.IgpLinkAttributes1.class).getOspfLinkAttributes().getTed().getSrlg().getSrlgValues().size());
 
         this.linkstateTopoBuilder.close();
         assertFalse(getTopology(this.linkstateTopoBuilder.getInstanceIdentifier()).isPresent());
@@ -233,7 +235,7 @@ public class LinkstateTopologyBuilderTest extends AbstractTopologyBuilderTest {
                 .build())
             .setAttributes(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.route.AttributesBuilder()
                 .addAugmentation(Attributes1.class, new Attributes1Builder().setAttributeType(new LinkCaseBuilder().setLinkAttributes(
-                    new LinkAttributesBuilder().setAdminGroup(new AdministrativeGroup(0L))
+                    new LinkAttributesBuilder().setSharedRiskLinkGroups(Lists.newArrayList(new SrlgId(5L), new SrlgId(15L))).setAdminGroup(new AdministrativeGroup(0L))
                         .setMaxLinkBandwidth(new Bandwidth(new byte[]{0x00, 0x00, (byte) 0xff, (byte) 0xff}))
                         .setMaxReservableBandwidth(new Bandwidth(new byte[]{0x00, 0x00, (byte) 0xff, (byte) 0x1f}))
                         .setUnreservedBandwidth(Lists.newArrayList(new UnreservedBandwidthBuilder().setKey(new UnreservedBandwidthKey((short) 1)).setBandwidth(new Bandwidth(new byte[]{0x00, 0x00, 0x00, (byte) 0xff})).build()))