import com.google.inject.Provider;
import com.google.inject.Singleton;
import com.google.inject.multibindings.Multibinder;
-import io.fd.hc2vpp.common.translate.util.MultiNamingContext;
import io.fd.hc2vpp.ipsec.read.IpsecReaderFactory;
import io.fd.hc2vpp.ipsec.write.IpsecWriterFactory;
import io.fd.honeycomb.translate.read.ReaderFactory;
public class IpsecModule extends AbstractModule {
private static final Logger LOG = LoggerFactory.getLogger(IpsecModule.class);
- private static final String SAD_ENTRIES_MAPPING = "sad-entries-mapping";
private final Class<? extends Provider<FutureJVppIkev2Facade>> jvppIkev2ProviderClass;
public IpsecModule() {
// binds JVpp Ikev2 future facade
bind(FutureJVppIkev2Facade.class).toProvider(jvppIkev2ProviderClass).in(Singleton.class);
- bind(MultiNamingContext.class).toInstance(new MultiNamingContext(SAD_ENTRIES_MAPPING, 1));
LOG.info("Injecting writers factories");
final Multibinder<WriterFactory> writerFactoryBinder = Multibinder.newSetBinder(binder(), WriterFactory.class);
writerFactoryBinder.addBinding().to(IpsecWriterFactory.class).in(Singleton.class);
import io.fd.hc2vpp.common.translate.util.Ipv4Translator;
import io.fd.hc2vpp.common.translate.util.Ipv6Translator;
import io.fd.hc2vpp.common.translate.util.JvppReplyConsumer;
-import io.fd.hc2vpp.common.translate.util.MultiNamingContext;
import io.fd.honeycomb.translate.spi.write.ListWriterCustomizer;
import io.fd.honeycomb.translate.write.WriteContext;
import io.fd.honeycomb.translate.write.WriteFailedException;
JvppReplyConsumer, ByteDataTranslator, Ipv6Translator, Ipv4Translator {
private static final Logger LOG = LoggerFactory.getLogger(IpsecSadEntryCustomizer.class);
- private MultiNamingContext sadEntryMapping;
- IpsecSadEntryCustomizer(final FutureJVppCore vppApi, final MultiNamingContext sadEntryMapping) {
+ IpsecSadEntryCustomizer(final FutureJVppCore vppApi) {
super(vppApi);
- this.sadEntryMapping = sadEntryMapping;
}
@Override
final CompletionStage<IpsecSadEntryAddDelReply> ipsecSadEntryAddDellReplyFuture =
getFutureJVpp().ipsecSadEntryAddDel(request);
getReplyForWrite(ipsecSadEntryAddDellReplyFuture.toCompletableFuture(), id);
- if (adding) {
- sadEntryMapping.addChild(dataAfter.key().getDirection().getName(), request.entry.sadId,
- String.valueOf(dataAfter.key().getSpi()), writeContext.getMappingContext());
- } else {
- sadEntryMapping
- .removeChild(dataAfter.key().getDirection().getName(), String.valueOf(dataAfter.key().getSpi()),
- writeContext.getMappingContext());
- }
}
private void fillAhAuthentication(IpsecSadEntryAddDel request, Ah data) {
request.entry.integrityKey.length = (byte) integKey.getBytes().length;
request.entry.cryptoKey = new Key();
request.entry.cryptoKey.data = null;
- request.entry.cryptoKey.length = 0 ;
+ request.entry.cryptoKey.length = 0;
}
}
import com.google.common.collect.Sets;
import com.google.inject.Inject;
-import io.fd.hc2vpp.common.translate.util.MultiNamingContext;
import io.fd.honeycomb.translate.impl.write.GenericListWriter;
import io.fd.honeycomb.translate.impl.write.GenericWriter;
import io.fd.honeycomb.translate.write.WriterFactory;
private final FutureJVppCore vppApi;
private final FutureJVppIkev2Facade vppIkev2Api;
- private MultiNamingContext sadEntriesMapping;
@Inject
public IpsecWriterFactory(final FutureJVppCore vppApi,
- final FutureJVppIkev2Facade vppIkev2Api,
- final MultiNamingContext sadEntriesMappingContext) {
+ final FutureJVppIkev2Facade vppIkev2Api) {
this.vppApi = vppApi;
this.vppIkev2Api = vppIkev2Api;
- this.sadEntriesMapping = sadEntriesMappingContext;
}
@Override
InstanceIdentifier.create(SadEntries.class).child(Esp.class).child(Encryption.class)
.child(DesCbc.class),
InstanceIdentifier.create(SadEntries.class).augmentation(IpsecSadEntriesAugmentation.class)),
- new GenericListWriter<>(SAD_ENTRIES_ID, new IpsecSadEntryCustomizer(vppApi, sadEntriesMapping)));
+ new GenericListWriter<>(SAD_ENTRIES_ID, new IpsecSadEntryCustomizer(vppApi)));
registry.subtreeAdd(Sets.newHashSet(InstanceIdentifier.create(Spd.class).child(SpdEntries.class),
InstanceIdentifier.create(Spd.class).child(SpdEntries.class)
.augmentation(IpsecSpdEntriesAugmentation.class)),
import io.fd.hc2vpp.common.translate.util.ByteDataTranslator;
import io.fd.hc2vpp.common.translate.util.Ipv4Translator;
import io.fd.hc2vpp.common.translate.util.Ipv6Translator;
-import io.fd.hc2vpp.common.translate.util.MultiNamingContext;
import io.fd.hc2vpp.ipsec.helpers.SchemaContextTestHelper;
import io.fd.honeycomb.test.tools.HoneycombTestRunner;
import io.fd.honeycomb.test.tools.annotations.InjectTestData;
import io.fd.jvpp.core.types.Key;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mockito.Mock;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ipsec.rev181214.IkeEncryptionAlgorithmT;
private static final int SAD_ID = 10;
private IpsecSadEntryCustomizer customizer;
- @Mock
- private MultiNamingContext namingCntext;
@Override
protected void setUpTest() throws Exception {
- customizer = new IpsecSadEntryCustomizer(api, namingCntext);
+ customizer = new IpsecSadEntryCustomizer(api);
when(api.ipsecSadEntryAddDel(any())).thenReturn(future(new IpsecSadEntryAddDelReply()));
}
assertEquals(false, flags.add(IpsecSadFlags.IpsecSadFlagsOptions.IPSEC_API_SAD_FLAG_NONE));
flags.removeAll(flags2.getOptions());
- assertEquals(0,flags.getOptionsValue());
+ assertEquals(0, flags.getOptionsValue());
assertEquals(true, flags.contains(IpsecSadFlags.IpsecSadFlagsOptions.IPSEC_API_SAD_FLAG_NONE));
- assertEquals(1,flags.getOptions().size());
+ assertEquals(1, flags.getOptions().size());
flags.add(IpsecSadFlags.IpsecSadFlagsOptions.IPSEC_API_SAD_FLAG_IS_TUNNEL);
- assertEquals(1,flags.getOptions().size());
+ assertEquals(1, flags.getOptions().size());
flags2.clear();
- assertEquals(0,flags2.getOptionsValue());
+ assertEquals(0, flags2.getOptionsValue());
assertEquals(true, flags2.contains(IpsecSadFlags.IpsecSadFlagsOptions.IPSEC_API_SAD_FLAG_NONE));
}