summaryrefslogtreecommitdiffstats
path: root/mpls/impl/src/main/java/io/fd/hc2vpp/mpls/MplsWriterFactory.java
diff options
context:
space:
mode:
authorMichal Cmarada <michal.cmarada@pantheon.tech>2018-05-11 12:16:10 +0200
committerMarek Gradzki <mgradzki@cisco.com>2018-05-11 11:02:10 +0000
commit149d172a8d41dc02bd9ae47ff5db76ba751900b4 (patch)
tree26f50ed162bfcc124627658350e8e49405e45f2e /mpls/impl/src/main/java/io/fd/hc2vpp/mpls/MplsWriterFactory.java
parent6e6b56482dddb1575820b62ae4a39b6006293e9a (diff)
HC2VPP-297 - MPLS model updates
This patch updates MPLS models to: - hc2vpp-ietf-mpls-static@2017-07-02.yang (draft at: https://tools.ietf.org/html/draft-ietf-mpls-static-yang-05) Due to odl bugs these models were changed, see HC2VPP-307 for more details. see mpls_postman_collection.json for examples and usage Summary of changes: - leaf operation in static-lsp->config was replaced with mpls-operations-type - paths were refactored and moved to static-lsp - outgoing-labels container was introduced in static-lsp->paths - MPLS docker demo was updated to reflect model changes Change-Id: I725ec5e4b3a1acea2aeabec41185949fc498ff26 Signed-off-by: Michal Cmarada <michal.cmarada@pantheon.tech>
Diffstat (limited to 'mpls/impl/src/main/java/io/fd/hc2vpp/mpls/MplsWriterFactory.java')
-rw-r--r--mpls/impl/src/main/java/io/fd/hc2vpp/mpls/MplsWriterFactory.java38
1 files changed, 29 insertions, 9 deletions
diff --git a/mpls/impl/src/main/java/io/fd/hc2vpp/mpls/MplsWriterFactory.java b/mpls/impl/src/main/java/io/fd/hc2vpp/mpls/MplsWriterFactory.java
index d81d6fae3..475a06288 100644
--- a/mpls/impl/src/main/java/io/fd/hc2vpp/mpls/MplsWriterFactory.java
+++ b/mpls/impl/src/main/java/io/fd/hc2vpp/mpls/MplsWriterFactory.java
@@ -27,12 +27,15 @@ import io.fd.honeycomb.translate.write.registry.ModifiableWriterRegistryBuilder;
import io.fd.vpp.jvpp.core.future.FutureJVppCore;
import javax.annotation.Nonnull;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.Interfaces;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.Mpls1;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp.Config;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.InSegment;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.out.segment.path.list.Paths;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls.StaticLsps;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls._static.lsps.StaticLsp;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.Mpls1;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.out.segment.multiple.paths.paths.Path;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.out.segment.simple.path.SimplePath;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.out.segment.multiple.paths.Paths;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.top.Config;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.in.segment.InSegment;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.path.outgoing.labels.OutgoingLabels;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls.StaticLsps;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls._static.lsps.StaticLsp;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls.rev170702.Routing1;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls.rev170702.interfaces.mpls.Interface;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls.rev170702.routing.Mpls;
@@ -80,10 +83,27 @@ final class MplsWriterFactory implements WriterFactory {
// First enable MPLS on interface, then configure it:
registry.subtreeAddAfter(
ImmutableSet
- .of(CONFIG_ID, InstanceIdentifier.create(StaticLsp.class).child(Config.class).child(InSegment.class),
- InstanceIdentifier.create(StaticLsp.class).child(Config.class).child(Paths.class),
+ .of(CONFIG_ID,
+ InstanceIdentifier.create(StaticLsp.class).child(Config.class).child(InSegment.class),
+ InstanceIdentifier.create(StaticLsp.class)
+ .child(Config.class)
+ .child(InSegment.class)
+ .child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.in.segment.in.segment.Config.class),
InstanceIdentifier.create(StaticLsp.class).child(Config.class)
- .augmentation(StaticLspVppLookupAugmentation.class).child(LabelLookup.class)),
+ .augmentation(StaticLspVppLookupAugmentation.class).child(LabelLookup.class),
+ InstanceIdentifier.create(StaticLsp.class).child(Paths.class),
+ InstanceIdentifier.create(StaticLsp.class).child(Paths.class).child(OutgoingLabels.class),
+ InstanceIdentifier.create(StaticLsp.class).child(Paths.class).child(OutgoingLabels.class)
+ .child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.path.outgoing.labels.outgoing.labels.OutgoingLabels.class),
+ InstanceIdentifier.create(StaticLsp.class).child(Paths.class).child(OutgoingLabels.class)
+ .child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.path.outgoing.labels.outgoing.labels.OutgoingLabels.class)
+ .child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.path.outgoing.labels.outgoing.labels.outgoing.labels.Config.class),
+ InstanceIdentifier.create(StaticLsp.class).child(Paths.class).child(Path.class),
+ InstanceIdentifier.create(StaticLsp.class).child(Paths.class).child(Path.class)
+ .child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.out.segment.multiple.paths.paths.path.Config.class),
+ InstanceIdentifier.create(StaticLsp.class).child(SimplePath.class),
+ InstanceIdentifier.create(StaticLsp.class).child(SimplePath.class)
+ .child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.out.segment.simple.path.simple.path.Config.class)),
new GenericWriter<>(STATIC_LSP_ID, new StaticLspCustomizer(vppApi, ifcContext)),
INTERFACE_ID);
}