summaryrefslogtreecommitdiffstats
path: root/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory
diff options
context:
space:
mode:
authorJan Srnicek <jsrnicek@cisco.com>2016-11-09 08:55:04 +0100
committerJan Srnicek <jsrnicek@cisco.com>2016-11-09 08:55:04 +0100
commitc2fa4de9535239bec172357dcc8c0ddc576212e6 (patch)
treebf5ca1659cb8288d302e2f6462bbc05270dead9f /lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory
parent489c9d5ef82eef5b12f4bd0efb483318138a4ee5 (diff)
HONEYCOMB-254 - Adjacencies dump support
Added mapping context between adjacency id(HC side) and combination of remote and local eids(vpp side) Change-Id: Icbba9130a82b7af51b23e6d6d68fcfbf49e66c99 Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
Diffstat (limited to 'lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory')
-rwxr-xr-xlisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory/EidTableReaderFactory.java21
-rwxr-xr-xlisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/factory/LispStateReaderFactory.java13
2 files changed, 26 insertions, 8 deletions
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 dad04bff5..553b5b548 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
@@ -17,7 +17,10 @@
package io.fd.honeycomb.lisp.translate.read.factory;
+import static com.google.common.base.Preconditions.checkNotNull;
+
import com.google.common.collect.ImmutableSet;
+import io.fd.honeycomb.lisp.context.util.AdjacenciesMappingContext;
import io.fd.honeycomb.lisp.context.util.EidMappingContext;
import io.fd.honeycomb.lisp.translate.read.AdjacencyCustomizer;
import io.fd.honeycomb.lisp.translate.read.BridgeDomainSubtableCustomizer;
@@ -61,15 +64,19 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
*/
final class EidTableReaderFactory extends AbstractLispReaderFactoryBase implements ReaderFactory {
+ private final AdjacenciesMappingContext adjacenciesMappingContext;
+
private EidTableReaderFactory(final InstanceIdentifier<LispState> lispStateId,
final FutureJVppCore vppApi,
final NamingContext interfaceContext,
final NamingContext locatorSetContext,
final NamingContext bridgeDomainContext,
final EidMappingContext localMappingContext,
- final EidMappingContext remoteMappingContext) {
+ final EidMappingContext remoteMappingContext,
+ final AdjacenciesMappingContext adjacenciesMappingContext) {
super(lispStateId, vppApi, interfaceContext, locatorSetContext, bridgeDomainContext, localMappingContext,
remoteMappingContext);
+ this.adjacenciesMappingContext = checkNotNull(adjacenciesMappingContext, "Adjacencies context cannot be null");
}
public static EidTableReaderFactory newInstance(@Nonnull final InstanceIdentifier<LispState> lispStateId,
@@ -78,10 +85,10 @@ final class EidTableReaderFactory extends AbstractLispReaderFactoryBase implemen
@Nonnull final NamingContext locatorSetContext,
@Nonnull final NamingContext bridgeDomainContext,
@Nonnull final EidMappingContext localMappingContext,
- @Nonnull final EidMappingContext remoteMappingContext) {
+ @Nonnull final EidMappingContext remoteMappingContext,
+ @Nonnull final AdjacenciesMappingContext adjacenciesMappingContext) {
return new EidTableReaderFactory(lispStateId, vppApi, interfaceContext, locatorSetContext, bridgeDomainContext,
- localMappingContext,
- remoteMappingContext);
+ localMappingContext, remoteMappingContext, adjacenciesMappingContext);
}
@Override
@@ -165,10 +172,12 @@ final class EidTableReaderFactory extends AbstractLispReaderFactoryBase implemen
registry.subtreeAdd(
ImmutableSet.of(adjacencySubtreeId.child(LocalEid.class), adjacencySubtreeId.child(RemoteEid.class)),
new GenericListReader<>(vrfTableAdjacenciesInstanceIdentifier.child(Adjacency.class),
- new AdjacencyCustomizer(vppApi)));
+ new AdjacencyCustomizer(vppApi, localMappingContext, remoteMappingContext,
+ adjacenciesMappingContext)));
registry.subtreeAdd(
ImmutableSet.of(adjacencySubtreeId.child(LocalEid.class), adjacencySubtreeId.child(RemoteEid.class)),
new GenericListReader<>(bridgeDomainAdjacenciesInstanceIdentifier.child(Adjacency.class),
- new AdjacencyCustomizer(vppApi)));
+ new AdjacencyCustomizer(vppApi, localMappingContext, remoteMappingContext,
+ adjacenciesMappingContext)));
}
}
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 4f7ed0f02..e96246b43 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
@@ -16,6 +16,8 @@
package io.fd.honeycomb.lisp.translate.read.factory;
+import static com.google.common.base.Preconditions.checkNotNull;
+import static io.fd.honeycomb.lisp.cfgattrs.LispConfiguration.ADJACENCIES_IDENTIFICATION_CONTEXT;
import static io.fd.honeycomb.lisp.cfgattrs.LispConfiguration.INTERFACE_CONTEXT;
import static io.fd.honeycomb.lisp.cfgattrs.LispConfiguration.LOCAL_MAPPING_CONTEXT;
import static io.fd.honeycomb.lisp.cfgattrs.LispConfiguration.LOCATOR_SET_CONTEXT;
@@ -23,6 +25,7 @@ import static io.fd.honeycomb.lisp.cfgattrs.LispConfiguration.REMOTE_MAPPING_CON
import com.google.inject.Inject;
import com.google.inject.name.Named;
+import io.fd.honeycomb.lisp.context.util.AdjacenciesMappingContext;
import io.fd.honeycomb.lisp.context.util.EidMappingContext;
import io.fd.honeycomb.lisp.translate.read.LispStateCustomizer;
import io.fd.honeycomb.lisp.translate.read.PitrCfgCustomizer;
@@ -44,15 +47,21 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
*/
public class LispStateReaderFactory extends AbstractLispReaderFactoryBase implements ReaderFactory {
+ private final AdjacenciesMappingContext adjacenciesIdentificationContext;
+
@Inject
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) {
+ @Named(REMOTE_MAPPING_CONTEXT) final EidMappingContext remoteMappingContext,
+ @Named(ADJACENCIES_IDENTIFICATION_CONTEXT) final
+ AdjacenciesMappingContext adjacenciesIdentificationContext) {
super(InstanceIdentifier.create(LispState.class), vppApi, interfaceContext, locatorSetContext,
bridgeDomainContext, localMappingContext, remoteMappingContext);
+ this.adjacenciesIdentificationContext =
+ checkNotNull(adjacenciesIdentificationContext, "Adjacencies mapping context cannot be null");
}
@Override
@@ -65,7 +74,7 @@ public class LispStateReaderFactory extends AbstractLispReaderFactoryBase implem
MapResolversReaderFactory.newInstance(lispStateId, vppApi).init(registry);
EidTableReaderFactory
.newInstance(lispStateId, vppApi, interfaceContext, locatorSetContext, bridgeDomainContext,
- localMappingContext, remoteMappingContext)
+ localMappingContext, remoteMappingContext, adjacenciesIdentificationContext)
.init(registry);
registry.add(new GenericReader<>(lispStateId.child(LispFeatureData.class).child(PitrCfg.class),