HONEYCOMB-138 - Lisp L2 Support
[honeycomb.git] / lisp / lisp2vpp / src / main / java / io / fd / honeycomb / lisp / translate / read / factory / LispStateReaderFactory.java
index 9e710c6..a2290bd 100755 (executable)
@@ -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)));
     }
 }