diff options
author | 2018-05-11 12:16:10 +0200 | |
---|---|---|
committer | 2018-05-11 11:02:10 +0000 | |
commit | 149d172a8d41dc02bd9ae47ff5db76ba751900b4 (patch) | |
tree | 26f50ed162bfcc124627658350e8e49405e45f2e /mpls/impl/src/main/java/io/fd/hc2vpp/mpls/MplsWriterFactory.java | |
parent | 6e6b56482dddb1575820b62ae4a39b6006293e9a (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.java | 38 |
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); } |