From 5d1054b26f144948be321f30204b4b2a7cbbc03e Mon Sep 17 00:00:00 2001 From: Jan Srnicek Date: Tue, 4 Oct 2016 16:44:47 +0200 Subject: HONEYCOMB-138 - Lisp L2 Support Change-Id: Idff4776a64a88be2e0a45ab1927978e40876ea92 Signed-off-by: Jan Srnicek --- .../factory/AbstractLispReaderFactoryBase.java | 22 ++++ .../read/factory/EidTableReaderFactory.java | 122 ++++++++++++++++----- .../read/factory/LispStateReaderFactory.java | 17 +-- .../read/factory/LocatorSetsReaderFactory.java | 3 +- .../read/factory/MapResolversReaderFactory.java | 4 +- 5 files changed, 129 insertions(+), 39 deletions(-) (limited to 'lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory') diff --git a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory/AbstractLispReaderFactoryBase.java b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory/AbstractLispReaderFactoryBase.java index 123aba59d..2aec19fcb 100644 --- a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory/AbstractLispReaderFactoryBase.java +++ b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory/AbstractLispReaderFactoryBase.java @@ -35,6 +35,7 @@ abstract class AbstractLispReaderFactoryBase { protected final FutureJVppCore vppApi; protected NamingContext interfaceContext; protected NamingContext locatorSetContext; + protected NamingContext bridgeDomainContext; protected EidMappingContext localMappingContext; protected EidMappingContext remoteMappingContext; @@ -76,4 +77,25 @@ abstract class AbstractLispReaderFactoryBase { this.remoteMappingContext = checkNotNull(remoteMappingContext, "Remote mappings reference is null,for readers that don't need this dependency use different constructor"); } + + protected AbstractLispReaderFactoryBase(@Nonnull final InstanceIdentifier lispStateId, + @Nonnull final FutureJVppCore vppApi, + @Nonnull final NamingContext interfaceContext, + @Nonnull final NamingContext locatorSetContext, + @Nonnull final NamingContext bridgeDomainContext, + @Nonnull final EidMappingContext localMappingContext, + @Nonnull final EidMappingContext remoteMappingContext) { + this.lispStateId = checkNotNull(lispStateId, "Lisp state identifier is null"); + this.vppApi = checkNotNull(vppApi, "VPP api reference is null"); + this.interfaceContext = checkNotNull(interfaceContext, + "Interface naming context is null,for readers that don't need this dependency,use different constructor"); + this.locatorSetContext = checkNotNull(locatorSetContext, + "Locator set naming context is null,for readers that don't need this dependency,use different constructor"); + this.bridgeDomainContext = checkNotNull(bridgeDomainContext, + "Bridge domain naming context is null,for readers that don't need this dependency,use different constructor"); + this.localMappingContext = checkNotNull(localMappingContext, + "Local mappings reference is null,for readers that don't need this dependency use different constructor"); + this.remoteMappingContext = checkNotNull(remoteMappingContext, + "Remote mappings reference is null,for readers that don't need this dependency use different constructor"); + } } diff --git a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory/EidTableReaderFactory.java b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory/EidTableReaderFactory.java index 6395f29a2..805d6c5bd 100755 --- a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory/EidTableReaderFactory.java +++ b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory/EidTableReaderFactory.java @@ -20,31 +20,40 @@ package io.fd.honeycomb.lisp.translate.read.factory; import com.google.common.collect.ImmutableSet; import io.fd.honeycomb.lisp.context.util.EidMappingContext; import io.fd.honeycomb.lisp.translate.read.AdjacencyCustomizer; +import io.fd.honeycomb.lisp.translate.read.BridgeDomainSubtableCustomizer; import io.fd.honeycomb.lisp.translate.read.LocalMappingCustomizer; import io.fd.honeycomb.lisp.translate.read.RemoteMappingCustomizer; import io.fd.honeycomb.lisp.translate.read.VniTableCustomizer; +import io.fd.honeycomb.lisp.translate.read.VrfSubtableCustomizer; import io.fd.honeycomb.translate.impl.read.GenericListReader; +import io.fd.honeycomb.translate.impl.read.GenericReader; import io.fd.honeycomb.translate.read.ReaderFactory; import io.fd.honeycomb.translate.read.registry.ModifiableReaderRegistryBuilder; import io.fd.honeycomb.translate.vpp.util.NamingContext; +import io.fd.vpp.jvpp.core.future.FutureJVppCore; import javax.annotation.Nonnull; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.LispState; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.adjacencies.grouping.Adjacencies; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.adjacencies.grouping.AdjacenciesBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.adjacencies.grouping.adjacencies.Adjacency; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.adjacencies.grouping.adjacencies.adjacency.LocalEid; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.adjacencies.grouping.adjacencies.adjacency.RemoteEid; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.dp.subtable.grouping.LocalMappings; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.dp.subtable.grouping.LocalMappingsBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.dp.subtable.grouping.RemoteMappings; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.dp.subtable.grouping.RemoteMappingsBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.dp.subtable.grouping.local.mappings.LocalMapping; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.dp.subtable.grouping.remote.mappings.RemoteMapping; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.dp.subtable.grouping.remote.mappings.remote.mapping.locator.list.negative.mapping.MapReply; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.dp.subtable.grouping.remote.mappings.remote.mapping.locator.list.positive.mapping.Rlocs; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.dp.subtable.grouping.remote.mappings.remote.mapping.locator.list.positive.mapping.rlocs.Locator; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.EidTable; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.EidTableBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.eid.table.VniTable; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.eid.table.vni.table.Adjacencies; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.eid.table.vni.table.AdjacenciesBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.eid.table.vni.table.LocalMappings; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.eid.table.vni.table.LocalMappingsBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.eid.table.vni.table.RemoteMappings; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.eid.table.vni.table.RemoteMappingsBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.eid.table.vni.table.adjacencies.Adjacency; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.eid.table.vni.table.adjacencies.adjacency.LocalEid; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.eid.table.vni.table.adjacencies.adjacency.RemoteEid; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.eid.table.vni.table.local.mappings.LocalMapping; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.eid.table.vni.table.remote.mappings.RemoteMapping; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.eid.table.vni.table.BridgeDomainSubtable; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.eid.table.vni.table.VrfSubtable; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.lisp.feature.data.grouping.LispFeatureData; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; -import io.fd.vpp.jvpp.core.future.FutureJVppCore; /** @@ -56,57 +65,110 @@ final class EidTableReaderFactory extends AbstractLispReaderFactoryBase implemen final FutureJVppCore vppApi, final NamingContext interfaceContext, final NamingContext locatorSetContext, + final NamingContext bridgeDomainContext, final EidMappingContext localMappingContext, final EidMappingContext remoteMappingContext) { - super(lispStateId, vppApi,interfaceContext, locatorSetContext, localMappingContext, remoteMappingContext); + super(lispStateId, vppApi, interfaceContext, locatorSetContext, bridgeDomainContext, localMappingContext, + remoteMappingContext); } public static EidTableReaderFactory newInstance(@Nonnull final InstanceIdentifier lispStateId, @Nonnull final FutureJVppCore vppApi, @Nonnull final NamingContext interfaceContext, @Nonnull final NamingContext locatorSetContext, + @Nonnull final NamingContext bridgeDomainContext, @Nonnull final EidMappingContext localMappingContext, @Nonnull final EidMappingContext remoteMappingContext) { - return new EidTableReaderFactory(lispStateId, vppApi, interfaceContext, locatorSetContext, localMappingContext, + return new EidTableReaderFactory(lispStateId, vppApi, interfaceContext, locatorSetContext, bridgeDomainContext, + localMappingContext, remoteMappingContext); } @Override public void init(@Nonnull final ModifiableReaderRegistryBuilder registry) { - InstanceIdentifier eidTableInstanceIdentifier = lispStateId.child(EidTable.class); - InstanceIdentifier vniTableInstanceIdentifier = eidTableInstanceIdentifier.child(VniTable.class); - InstanceIdentifier localMappingsInstanceIdentifier = - vniTableInstanceIdentifier.child(LocalMappings.class); - InstanceIdentifier remoteMappingsInstanceIdentifier = - vniTableInstanceIdentifier.child(RemoteMappings.class); - InstanceIdentifier adjacenciesInstanceIdentifier = - vniTableInstanceIdentifier.child(Adjacencies.class); + final InstanceIdentifier eidTableInstanceIdentifier = + lispStateId.child(LispFeatureData.class).child(EidTable.class); + final InstanceIdentifier vniTableInstanceIdentifier = + eidTableInstanceIdentifier.child(VniTable.class); + final InstanceIdentifier vrfSubtable = vniTableInstanceIdentifier.child(VrfSubtable.class); + final InstanceIdentifier bridgeDomainSubtable = + vniTableInstanceIdentifier.child(BridgeDomainSubtable.class); + + final InstanceIdentifier vrfTableLocalMappingsInstanceIdentifier = + vrfSubtable.child(LocalMappings.class); + final InstanceIdentifier vrfTableRemoteMappingsInstanceIdentifier = + vrfSubtable.child(RemoteMappings.class); + final InstanceIdentifier vrfTableAdjacenciesInstanceIdentifier = + vrfSubtable.child(RemoteMappings.class).child(RemoteMapping.class).child(Adjacencies.class); + final InstanceIdentifier bridgeDomainLocalMappingsInstanceIdentifier = + bridgeDomainSubtable.child(LocalMappings.class); + final InstanceIdentifier bridgeDomainRemoteMappingsInstanceIdentifier = + bridgeDomainSubtable.child(RemoteMappings.class); + final InstanceIdentifier bridgeDomainAdjacenciesInstanceIdentifier = + bridgeDomainSubtable.child(RemoteMappings.class).child(RemoteMapping.class).child(Adjacencies.class); + + //EidTable registry.addStructuralReader(eidTableInstanceIdentifier, EidTableBuilder.class); + //EidTable -> VniTable registry.add(new GenericListReader<>(vniTableInstanceIdentifier, new VniTableCustomizer(vppApi))); - registry.addStructuralReader(localMappingsInstanceIdentifier, LocalMappingsBuilder.class); + //EidTable -> VniTable -> VrfSubtable + registry.add(new GenericReader<>(vrfSubtable, new VrfSubtableCustomizer(vppApi))); + + //EidTable -> VniTable -> BridgeDomainSubtable + registry.add(new GenericReader<>(bridgeDomainSubtable, + new BridgeDomainSubtableCustomizer(vppApi, bridgeDomainContext))); + + //EidTable -> VniTable -> VrfSubtable -> LocalMappings + registry.addStructuralReader(vrfTableLocalMappingsInstanceIdentifier, LocalMappingsBuilder.class); + //EidTable -> VniTable -> BridgeDomainSubtable -> LocalMappings + registry.addStructuralReader(bridgeDomainLocalMappingsInstanceIdentifier, LocalMappingsBuilder.class); final InstanceIdentifier localMappingSubtreeId = InstanceIdentifier.create(LocalMapping.class); + //EidTable -> VniTable -> VrfSubtable -> LocalMappings -> LocalMapping registry.subtreeAdd(ImmutableSet.of(localMappingSubtreeId - .child(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.eid.table.vni.table.local.mappings.local.mapping.Eid.class)), - new GenericListReader<>(localMappingsInstanceIdentifier.child(LocalMapping.class), + .child(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.dp.subtable.grouping.local.mappings.local.mapping.Eid.class)), + new GenericListReader<>(vrfTableLocalMappingsInstanceIdentifier.child(LocalMapping.class), new LocalMappingCustomizer(vppApi, locatorSetContext, localMappingContext))); - registry.addStructuralReader(remoteMappingsInstanceIdentifier, RemoteMappingsBuilder.class); + //EidTable -> VniTable -> BridgeDomainSubtable -> LocalMappings -> LocalMapping + registry.subtreeAdd(ImmutableSet.of(localMappingSubtreeId + .child(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.dp.subtable.grouping.local.mappings.local.mapping.Eid.class)), + new GenericListReader<>(bridgeDomainLocalMappingsInstanceIdentifier.child(LocalMapping.class), + new LocalMappingCustomizer(vppApi, locatorSetContext, localMappingContext))); + + //EidTable -> VniTable -> VrfSubtable -> RemoteMappings + registry.addStructuralReader(vrfTableRemoteMappingsInstanceIdentifier, RemoteMappingsBuilder.class); + registry.addStructuralReader(bridgeDomainRemoteMappingsInstanceIdentifier, RemoteMappingsBuilder.class); final InstanceIdentifier remoteMappingSubtreeId = InstanceIdentifier.create(RemoteMapping.class); registry.subtreeAdd(ImmutableSet.of(remoteMappingSubtreeId - .child(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.eid.table.vni.table.remote.mappings.remote.mapping.Eid.class)), - new GenericListReader<>(remoteMappingsInstanceIdentifier.child(RemoteMapping.class), + .child(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.dp.subtable.grouping.remote.mappings.remote.mapping.Eid.class), + remoteMappingSubtreeId.child(Rlocs.class), + remoteMappingSubtreeId.child(Rlocs.class).child(Locator.class), + remoteMappingSubtreeId.child(MapReply.class)), + new GenericListReader<>(vrfTableRemoteMappingsInstanceIdentifier.child(RemoteMapping.class), + new RemoteMappingCustomizer(vppApi, remoteMappingContext))); + registry.subtreeAdd(ImmutableSet.of(remoteMappingSubtreeId + .child(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.dp.subtable.grouping.remote.mappings.remote.mapping.Eid.class), + remoteMappingSubtreeId.child(Rlocs.class), + remoteMappingSubtreeId.child(Rlocs.class).child(Locator.class), + remoteMappingSubtreeId.child(MapReply.class)), + new GenericListReader<>(bridgeDomainRemoteMappingsInstanceIdentifier.child(RemoteMapping.class), new RemoteMappingCustomizer(vppApi, remoteMappingContext))); - registry.addStructuralReader(adjacenciesInstanceIdentifier, AdjacenciesBuilder.class); + registry.addStructuralReader(vrfTableAdjacenciesInstanceIdentifier, AdjacenciesBuilder.class); + registry.addStructuralReader(bridgeDomainAdjacenciesInstanceIdentifier, AdjacenciesBuilder.class); final InstanceIdentifier adjacencySubtreeId = InstanceIdentifier.create(Adjacency.class); registry.subtreeAdd( ImmutableSet.of(adjacencySubtreeId.child(LocalEid.class), adjacencySubtreeId.child(RemoteEid.class)), - new GenericListReader<>(adjacenciesInstanceIdentifier.child(Adjacency.class), + new GenericListReader<>(vrfTableAdjacenciesInstanceIdentifier.child(Adjacency.class), + new AdjacencyCustomizer(vppApi))); + registry.subtreeAdd( + ImmutableSet.of(adjacencySubtreeId.child(LocalEid.class), adjacencySubtreeId.child(RemoteEid.class)), + new GenericListReader<>(bridgeDomainAdjacenciesInstanceIdentifier.child(Adjacency.class), new AdjacencyCustomizer(vppApi))); } } diff --git a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory/LispStateReaderFactory.java b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory/LispStateReaderFactory.java index 9e710c69f..a2290bda1 100755 --- a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory/LispStateReaderFactory.java +++ b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory/LispStateReaderFactory.java @@ -30,11 +30,13 @@ import io.fd.honeycomb.translate.impl.read.GenericReader; import io.fd.honeycomb.translate.read.ReaderFactory; import io.fd.honeycomb.translate.read.registry.ModifiableReaderRegistryBuilder; import io.fd.honeycomb.translate.vpp.util.NamingContext; +import io.fd.vpp.jvpp.core.future.FutureJVppCore; import javax.annotation.Nonnull; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.LispState; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.lisp.feature.data.grouping.LispFeatureData; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.lisp.feature.data.grouping.LispFeatureDataBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.pitr.cfg.grouping.PitrCfg; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; -import io.fd.vpp.jvpp.core.future.FutureJVppCore; /** @@ -46,26 +48,27 @@ public class LispStateReaderFactory extends AbstractLispReaderFactoryBase implem public LispStateReaderFactory(final FutureJVppCore vppApi, @Named(INTERFACE_CONTEXT) final NamingContext interfaceContext, @Named(LOCATOR_SET_CONTEXT) final NamingContext locatorSetContext, + @Named("bridge-domain-context") final NamingContext bridgeDomainContext, @Named(LOCAL_MAPPING_CONTEXT) final EidMappingContext localMappingContext, @Named(REMOTE_MAPPING_CONTEXT) final EidMappingContext remoteMappingContext) { super(InstanceIdentifier.create(LispState.class), vppApi, interfaceContext, locatorSetContext, - localMappingContext, - remoteMappingContext); + bridgeDomainContext, localMappingContext, remoteMappingContext); } - @Override public void init(@Nonnull final ModifiableReaderRegistryBuilder registry) { registry.add(new GenericReader<>(lispStateId, new LispStateCustomizer(vppApi))); + registry.addStructuralReader(lispStateId.child(LispFeatureData.class), LispFeatureDataBuilder.class); LocatorSetsReaderFactory.newInstance(lispStateId, vppApi, interfaceContext, locatorSetContext).init(registry); MapResolversReaderFactory.newInstance(lispStateId, vppApi).init(registry); EidTableReaderFactory - .newInstance(lispStateId, vppApi, interfaceContext, locatorSetContext, localMappingContext, - remoteMappingContext) + .newInstance(lispStateId, vppApi, interfaceContext, locatorSetContext, bridgeDomainContext, + localMappingContext, remoteMappingContext) .init(registry); - registry.add(new GenericReader<>(lispStateId.child(PitrCfg.class), new PitrCfgCustomizer(vppApi))); + registry.add(new GenericReader<>(lispStateId.child(LispFeatureData.class).child(PitrCfg.class), + new PitrCfgCustomizer(vppApi))); } } diff --git a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory/LocatorSetsReaderFactory.java b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory/LocatorSetsReaderFactory.java index bc96474f5..9a8e74383 100755 --- a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory/LocatorSetsReaderFactory.java +++ b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory/LocatorSetsReaderFactory.java @@ -25,6 +25,7 @@ import io.fd.honeycomb.translate.read.registry.ModifiableReaderRegistryBuilder; import io.fd.honeycomb.translate.vpp.util.NamingContext; import javax.annotation.Nonnull; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.LispState; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.lisp.feature.data.grouping.LispFeatureData; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.locator.sets.grouping.LocatorSets; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.locator.sets.grouping.LocatorSetsBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.locator.sets.grouping.locator.sets.LocatorSet; @@ -57,7 +58,7 @@ public class LocatorSetsReaderFactory extends AbstractLispReaderFactoryBase impl @Override public void init(@Nonnull final ModifiableReaderRegistryBuilder registry) { - InstanceIdentifier locatorSetsInstanceIdentifier = lispStateId.child(LocatorSets.class); + InstanceIdentifier locatorSetsInstanceIdentifier = lispStateId.child(LispFeatureData.class).child(LocatorSets.class); InstanceIdentifier locatorSetInstanceIdentifier = locatorSetsInstanceIdentifier.child(LocatorSet.class); diff --git a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory/MapResolversReaderFactory.java b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory/MapResolversReaderFactory.java index a484f3635..b41f26f81 100755 --- a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory/MapResolversReaderFactory.java +++ b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory/MapResolversReaderFactory.java @@ -23,6 +23,7 @@ import io.fd.honeycomb.translate.read.ReaderFactory; import io.fd.honeycomb.translate.read.registry.ModifiableReaderRegistryBuilder; import javax.annotation.Nonnull; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.LispState; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.lisp.feature.data.grouping.LispFeatureData; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.map.resolvers.grouping.MapResolvers; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.map.resolvers.grouping.MapResolversBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.map.resolvers.grouping.map.resolvers.MapResolver; @@ -47,7 +48,8 @@ public class MapResolversReaderFactory extends AbstractLispReaderFactoryBase imp @Override public void init(@Nonnull final ModifiableReaderRegistryBuilder registry) { - InstanceIdentifier mapResolversInstanceIdentifier = lispStateId.child(MapResolvers.class); + InstanceIdentifier mapResolversInstanceIdentifier = + lispStateId.child(LispFeatureData.class).child(MapResolvers.class); registry.addStructuralReader(mapResolversInstanceIdentifier, MapResolversBuilder.class); registry.add(new GenericListReader<>(mapResolversInstanceIdentifier.child(MapResolver.class), -- cgit 1.2.3-korg