</dependency>
<dependency>
<groupId>io.fd.vpp</groupId>
- <artifactId>jvpp</artifactId>
+ <artifactId>jvpp-core</artifactId>
<version>16.09-SNAPSHOT</version>
</dependency>
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces.state._interface.Vxlan;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces.state._interface.VxlanGpe;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public final class InterfacesStateReaderFactory implements ReaderFactory, AutoCloseable {
private NamingContext ifcCtx;
private NamingContext bdCtx;
private NamingContext classifyCtx;
- private FutureJVpp jvpp;
+ private FutureJVppCore jvpp;
static final InstanceIdentifier<InterfacesState> IFC_STATE_ID =
InstanceIdentifier.create(InterfacesState.class);
static final InstanceIdentifier<Interface> IFC_ID = IFC_STATE_ID.child(Interface.class);
@Inject
- public InterfacesStateReaderFactory(final FutureJVpp jvpp,
+ public InterfacesStateReaderFactory(final FutureJVppCore jvpp,
@Named("interface-context") final NamingContext ifcCtx,
@Named("bridge-domain-context") final NamingContext bdCtx,
@Named("classify-table-context") final NamingContext classifyCtx) {
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces._interface.Vxlan;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces._interface.VxlanGpe;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public final class InterfacesWriterFactory implements WriterFactory, AutoCloseable {
public static final InstanceIdentifier<Acl> ACL_ID = VPP_IFC_AUG_ID.child(Acl.class);
public static final InstanceIdentifier<L2> L2_ID = VPP_IFC_AUG_ID.child(L2.class);
- private final FutureJVpp jvpp;
+ private final FutureJVppCore jvpp;
private final NamingContext bdContext;
private final NamingContext ifcContext;
private final NamingContext classifyTableContext;
@Inject
- public InterfacesWriterFactory(final FutureJVpp vppJvppIfcDependency,
+ public InterfacesWriterFactory(final FutureJVppCore vppJvppIfcDependency,
@Named("bridge-domain-context") final NamingContext bridgeDomainContextDependency,
@Named("interface-context") final NamingContext interfaceContextDependency,
@Named("classify-table-context") final NamingContext classifyTableContextDependency) {
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.sub._interface.ip4.attributes.ipv4.Address;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.tag.rewrite.PushTags;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public final class SubinterfaceAugmentationWriterFactory implements WriterFactory {
- private final FutureJVpp jvpp;
+ private final FutureJVppCore jvpp;
private final NamingContext ifcContext;
private final NamingContext bdContext;
private final NamingContext classifyTableContext;
L2.class);
public static final InstanceIdentifier<Acl> SUBIF_ACL_ID = SUB_IFC_ID.child(Acl.class);
- public SubinterfaceAugmentationWriterFactory(final FutureJVpp jvpp,
+ public SubinterfaceAugmentationWriterFactory(final FutureJVppCore jvpp,
final NamingContext ifcContext, final NamingContext bdContext, final NamingContext classifyTableContext) {
this.jvpp = jvpp;
this.ifcContext = ifcContext;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.sub._interface.ip4.attributes.ipv4.Address;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.tag.rewrite.PushTags;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
final class SubinterfaceStateAugmentationReaderFactory implements ReaderFactory {
- private final FutureJVpp jvpp;
+ private final FutureJVppCore jvpp;
private final NamingContext ifcCtx;
private final NamingContext bdCtx;
private final NamingContext classifyCtx;
- SubinterfaceStateAugmentationReaderFactory(final FutureJVpp jvpp, final NamingContext ifcCtx,
+ SubinterfaceStateAugmentationReaderFactory(final FutureJVppCore jvpp, final NamingContext ifcCtx,
final NamingContext bdCtx, final NamingContext classifyCtx) {
this.jvpp = jvpp;
this.ifcCtx = ifcCtx;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.classifier.rev150603.classify.table.base.attributes.ClassifySession;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.classifier.rev150603.vpp.classifier.ClassifyTable;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public final class VppClassifierHoneycombWriterFactory implements WriterFactory, AutoCloseable {
public static final InstanceIdentifier<ClassifySession> CLASSIFY_SESSION_ID =
CLASSIFY_TABLE_ID.child(ClassifySession.class);
- private final FutureJVpp jvpp;
+ private final FutureJVppCore jvpp;
private final NamingContext classifyTableContext;
@Inject
- public VppClassifierHoneycombWriterFactory(@Nonnull final FutureJVpp jvpp,
+ public VppClassifierHoneycombWriterFactory(@Nonnull final FutureJVppCore jvpp,
@Named("classify-table-context") @Nonnull final NamingContext classifyTableContext) {
this.jvpp = jvpp;
this.classifyTableContext = classifyTableContext;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.classifier.rev150603.classify.table.base.attributes.ClassifySession;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.classifier.rev150603.vpp.classifier.state.ClassifyTable;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public final class VppClassifierReaderFactory implements ReaderFactory, AutoCloseable {
- private final FutureJVpp jvpp;
+ private final FutureJVppCore jvpp;
private final NamingContext classifyCtx;
@Inject
- public VppClassifierReaderFactory(final FutureJVpp jvpp,
+ public VppClassifierReaderFactory(final FutureJVppCore jvpp,
@Named("classify-table-context") final NamingContext classifyCtx) {
this.jvpp = jvpp;
this.classifyCtx = classifyCtx;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.vpp.BridgeDomains;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.vpp.bridge.domains.BridgeDomain;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public final class VppHoneycombWriterFactory implements WriterFactory, AutoCloseable {
- private final FutureJVpp jvpp;
+ private final FutureJVppCore jvpp;
private final NamingContext bdContext;
private final NamingContext ifcContext;
@Inject
- public VppHoneycombWriterFactory(final FutureJVpp vppJvppWriterDependency,
+ public VppHoneycombWriterFactory(final FutureJVppCore vppJvppWriterDependency,
@Named("bridge-domain-context") final NamingContext bridgeDomainContextVppDependency,
@Named("interface-context") final NamingContext interfaceContextVppDependency) {
this.jvpp = vppJvppWriterDependency;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.vpp.state.Version;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.vpp.state.bridge.domains.BridgeDomain;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(VppStateHoneycombReaderFactory.class);
- private final FutureJVpp jVpp;
+ private final FutureJVppCore jVpp;
private final NamingContext ifcCtx;
private final NamingContext bdCtx;
private final ScheduledExecutorService keepaliveExecutor;
@Inject
- public VppStateHoneycombReaderFactory(final FutureJVpp jVpp,
+ public VppStateHoneycombReaderFactory(final FutureJVppCore jVpp,
@Named("interface-context") final NamingContext ifcCtx,
@Named("bridge-domain-context") final NamingContext bdCtx,
final ScheduledExecutorService keepaliveExecutorDependency) {
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces._interface.Acl;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private final NamingContext interfaceContext;
private final NamingContext classifyTableContext;
- public AclCustomizer(@Nonnull final FutureJVpp vppApi, @Nonnull final NamingContext interfaceContext,
+ public AclCustomizer(@Nonnull final FutureJVppCore vppApi, @Nonnull final NamingContext interfaceContext,
@Nonnull final NamingContext classifyTableContext) {
super(vppApi);
this.interfaceContext = checkNotNull(interfaceContext, "interfaceContext should not be null");
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.acl.base.attributes.L2Acl;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.InputAclSetInterface;
-import org.openvpp.jvpp.dto.InputAclSetInterfaceReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.InputAclSetInterface;
+import org.openvpp.jvpp.core.dto.InputAclSetInterfaceReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
interface AclWriter {
- default void inputAclSetInterface(@Nonnull final FutureJVpp futureJvpp, final boolean isAdd,
+ default void inputAclSetInterface(@Nonnull final FutureJVppCore futureJVppCore, final boolean isAdd,
@Nonnull final InstanceIdentifier<?> id, @Nonnull final AclBaseAttributes acl,
@Nonnegative final int ifIndex, @Nonnull final NamingContext classifyTableContext,
@Nonnull final MappingContext mappingContext)
}
final CompletionStage<InputAclSetInterfaceReply> inputAclSetInterfaceReplyCompletionStage =
- futureJvpp.inputAclSetInterface(request);
+ futureJVppCore.inputAclSetInterface(request);
TranslateUtils.getReplyForWrite(inputAclSetInterfaceReplyCompletionStage.toCompletableFuture(), id);
}
import javax.annotation.Nonnull;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces._interface.Ethernet;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(EthernetCustomizer.class);
- public EthernetCustomizer(final FutureJVpp vppApi) {
+ public EthernetCustomizer(final FutureJVppCore vppApi) {
super(vppApi);
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces._interface.Gre;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.GreAddDelTunnel;
-import org.openvpp.jvpp.dto.GreAddDelTunnelReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
+import org.openvpp.jvpp.core.dto.GreAddDelTunnel;
+import org.openvpp.jvpp.core.dto.GreAddDelTunnelReply;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(GreCustomizer.class);
private final NamingContext interfaceContext;
- public GreCustomizer(final FutureJVpp vppApi, final NamingContext interfaceContext) {
+ public GreCustomizer(final FutureJVppCore vppApi, final NamingContext interfaceContext) {
super(vppApi);
this.interfaceContext = interfaceContext;
}
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.SwInterfaceSetL2Bridge;
-import org.openvpp.jvpp.dto.SwInterfaceSetL2BridgeReply;
-import org.openvpp.jvpp.dto.SwInterfaceSetL2Xconnect;
-import org.openvpp.jvpp.dto.SwInterfaceSetL2XconnectReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.SwInterfaceSetL2Bridge;
+import org.openvpp.jvpp.core.dto.SwInterfaceSetL2BridgeReply;
+import org.openvpp.jvpp.core.dto.SwInterfaceSetL2Xconnect;
+import org.openvpp.jvpp.core.dto.SwInterfaceSetL2XconnectReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(InterconnectionWriteUtils.class);
- private final FutureJVpp futureJvpp;
+ private final FutureJVppCore futureJVppCore;
private final NamingContext interfaceContext;
private final NamingContext bridgeDomainContext;
- InterconnectionWriteUtils(@Nonnull final FutureJVpp futureJvpp,
+ InterconnectionWriteUtils(@Nonnull final FutureJVppCore futureJVppCore,
@Nonnull final NamingContext interfaceContext,
@Nonnull final NamingContext bridgeDomainContext) {
- this.futureJvpp = requireNonNull(futureJvpp, "futureJvpp should not be null");
+ this.futureJVppCore = requireNonNull(futureJVppCore, "futureJVppCore should not be null");
this.interfaceContext = requireNonNull(interfaceContext, "interfaceContext should not be null");
this.bridgeDomainContext = requireNonNull(bridgeDomainContext, "bridgeDomainContext should not be null");
}
shg = bb.getSplitHorizonGroup().byteValue();
}
- final CompletionStage<SwInterfaceSetL2BridgeReply> swInterfaceSetL2BridgeReplyCompletionStage = futureJvpp
+ final CompletionStage<SwInterfaceSetL2BridgeReply> swInterfaceSetL2BridgeReplyCompletionStage = futureJVppCore
.swInterfaceSetL2Bridge(getL2BridgeRequest(swIfIndex, bdId, shg, bvi, enabled));
TranslateUtils.getReplyForWrite(swInterfaceSetL2BridgeReplyCompletionStage.toCompletableFuture(), id);
ifcName, outSwIfIndex);
final CompletionStage<SwInterfaceSetL2XconnectReply> swInterfaceSetL2XconnectReplyCompletionStage =
- futureJvpp
+ futureJVppCore
.swInterfaceSetL2Xconnect(getL2XConnectRequest(swIfIndex, outSwIfIndex, enabled));
TranslateUtils.getReplyForWrite(swInterfaceSetL2XconnectReplyCompletionStage.toCompletableFuture(), id);
LOG.debug("Xconnect based interconnection updated successfully for: {}, interconnection: {}", ifcName, ic);
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceKey;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.SwInterfaceSetFlags;
-import org.openvpp.jvpp.dto.SwInterfaceSetFlagsReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.SwInterfaceSetFlags;
+import org.openvpp.jvpp.core.dto.SwInterfaceSetFlagsReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(InterfaceCustomizer.class);
private final NamingContext interfaceContext;
- public InterfaceCustomizer(final FutureJVpp vppApi, final NamingContext interfaceContext) {
+ public InterfaceCustomizer(final FutureJVppCore vppApi, final NamingContext interfaceContext) {
super(vppApi);
this.interfaceContext = interfaceContext;
}
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces._interface.L2;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private final NamingContext interfaceContext;
private final InterconnectionWriteUtils icWriteUtils;
- public L2Customizer(final FutureJVpp vppApi, final NamingContext interfaceContext,
+ public L2Customizer(final FutureJVppCore vppApi, final NamingContext interfaceContext,
final NamingContext bridgeDomainContext) {
super(vppApi);
this.interfaceContext = interfaceContext;
import com.google.common.net.InetAddresses;
import io.fd.honeycomb.translate.spi.write.WriterCustomizer;
import io.fd.honeycomb.translate.v3po.util.FutureJVppCustomizer;
-import io.fd.honeycomb.translate.spi.write.WriterCustomizer;
-import io.fd.honeycomb.translate.v3po.util.FutureJVppCustomizer;
import io.fd.honeycomb.translate.v3po.util.NamingContext;
import io.fd.honeycomb.translate.v3po.util.TranslateUtils;
import io.fd.honeycomb.translate.write.WriteContext;
import io.fd.honeycomb.translate.write.WriteFailedException;
+import java.net.InetAddress;
+import java.util.concurrent.CompletionStage;
+import javax.annotation.Nonnull;
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.interfaces.rev140508.interfaces.Interface;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces._interface.ProxyArp;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.ProxyArpAddDel;
-import org.openvpp.jvpp.dto.ProxyArpAddDelReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
+import org.openvpp.jvpp.core.dto.ProxyArpAddDel;
+import org.openvpp.jvpp.core.dto.ProxyArpAddDelReply;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.annotation.Nonnull;
-import java.net.InetAddress;
-import java.util.concurrent.CompletionStage;
-
public class ProxyArpCustomizer extends FutureJVppCustomizer implements WriterCustomizer<ProxyArp> {
private static final Logger LOG = LoggerFactory.getLogger(ProxyArpCustomizer.class);
private final NamingContext interfaceContext;
- public ProxyArpCustomizer(final FutureJVpp vppApi, final NamingContext interfaceContext) {
+ public ProxyArpCustomizer(final FutureJVppCore vppApi, final NamingContext interfaceContext) {
super(vppApi);
this.interfaceContext = interfaceContext;
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.tag.rewrite.PushTags;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.L2InterfaceVlanTagRewrite;
-import org.openvpp.jvpp.dto.L2InterfaceVlanTagRewriteReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.L2InterfaceVlanTagRewrite;
+import org.openvpp.jvpp.core.dto.L2InterfaceVlanTagRewriteReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(RewriteCustomizer.class);
private final NamingContext interfaceContext;
- public RewriteCustomizer(@Nonnull final FutureJVpp futureJvpp,
+ public RewriteCustomizer(@Nonnull final FutureJVppCore futureJVppCore,
@Nonnull final NamingContext interfaceContext) {
- super(futureJvpp);
+ super(futureJVppCore);
this.interfaceContext = Preconditions.checkNotNull(interfaceContext, "interfaceContext should not be null");
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces._interface.Routing;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.SwInterfaceSetTable;
-import org.openvpp.jvpp.dto.SwInterfaceSetTableReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.SwInterfaceSetTable;
+import org.openvpp.jvpp.core.dto.SwInterfaceSetTableReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(RoutingCustomizer.class);
private final NamingContext interfaceContext;
- public RoutingCustomizer(final FutureJVpp vppApi, final NamingContext interfaceContext) {
+ public RoutingCustomizer(final FutureJVppCore vppApi, final NamingContext interfaceContext) {
super(vppApi);
this.interfaceContext = interfaceContext;
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.sub._interface.base.attributes.Acl;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private final NamingContext interfaceContext;
private final NamingContext classifyTableContext;
- public SubInterfaceAclCustomizer(@Nonnull final FutureJVpp vppApi, @Nonnull final NamingContext interfaceContext,
+ public SubInterfaceAclCustomizer(@Nonnull final FutureJVppCore vppApi, @Nonnull final NamingContext interfaceContext,
@Nonnull final NamingContext classifyTableContext) {
super(vppApi);
this.interfaceContext = checkNotNull(interfaceContext, "interfaceContext should not be null");
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.sub._interface.base.attributes.tags.Tag;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.CreateSubif;
-import org.openvpp.jvpp.dto.CreateSubifReply;
-import org.openvpp.jvpp.dto.SwInterfaceSetFlags;
-import org.openvpp.jvpp.dto.SwInterfaceSetFlagsReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.CreateSubif;
+import org.openvpp.jvpp.core.dto.CreateSubifReply;
+import org.openvpp.jvpp.core.dto.SwInterfaceSetFlags;
+import org.openvpp.jvpp.core.dto.SwInterfaceSetFlagsReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(SubInterfaceCustomizer.class);
private final NamingContext interfaceContext;
- public SubInterfaceCustomizer(@Nonnull final FutureJVpp futureJvpp, @Nonnull final NamingContext interfaceContext) {
- super(futureJvpp);
+ public SubInterfaceCustomizer(@Nonnull final FutureJVppCore futureJVppCore, @Nonnull final NamingContext interfaceContext) {
+ super(futureJVppCore);
this.interfaceContext = Preconditions.checkNotNull(interfaceContext, "interfaceContext should not be null");
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.interfaces._interface.sub.interfaces.SubInterfaceKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.sub._interface.base.attributes.L2;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private final NamingContext interfaceContext;
private final InterconnectionWriteUtils icWriterUtils;
- public SubInterfaceL2Customizer(final FutureJVpp vppApi, final NamingContext interfaceContext,
+ public SubInterfaceL2Customizer(final FutureJVppCore vppApi, final NamingContext interfaceContext,
final NamingContext bridgeDomainContext) {
super(vppApi);
this.interfaceContext = interfaceContext;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces._interface.Tap;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.TapConnect;
-import org.openvpp.jvpp.dto.TapConnectReply;
-import org.openvpp.jvpp.dto.TapDelete;
-import org.openvpp.jvpp.dto.TapDeleteReply;
-import org.openvpp.jvpp.dto.TapModify;
-import org.openvpp.jvpp.dto.TapModifyReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.TapConnect;
+import org.openvpp.jvpp.core.dto.TapConnectReply;
+import org.openvpp.jvpp.core.dto.TapDelete;
+import org.openvpp.jvpp.core.dto.TapDeleteReply;
+import org.openvpp.jvpp.core.dto.TapModify;
+import org.openvpp.jvpp.core.dto.TapModifyReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(TapCustomizer.class);
private final NamingContext interfaceContext;
- public TapCustomizer(final FutureJVpp vppApi, final NamingContext interfaceContext) {
+ public TapCustomizer(final FutureJVppCore vppApi, final NamingContext interfaceContext) {
super(vppApi);
this.interfaceContext = interfaceContext;
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces._interface.VhostUser;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.CreateVhostUserIf;
-import org.openvpp.jvpp.dto.CreateVhostUserIfReply;
-import org.openvpp.jvpp.dto.DeleteVhostUserIf;
-import org.openvpp.jvpp.dto.DeleteVhostUserIfReply;
-import org.openvpp.jvpp.dto.ModifyVhostUserIf;
-import org.openvpp.jvpp.dto.ModifyVhostUserIfReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.CreateVhostUserIf;
+import org.openvpp.jvpp.core.dto.CreateVhostUserIfReply;
+import org.openvpp.jvpp.core.dto.DeleteVhostUserIf;
+import org.openvpp.jvpp.core.dto.DeleteVhostUserIfReply;
+import org.openvpp.jvpp.core.dto.ModifyVhostUserIf;
+import org.openvpp.jvpp.core.dto.ModifyVhostUserIfReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(VhostUserCustomizer.class);
private final NamingContext interfaceContext;
- public VhostUserCustomizer(@Nonnull final FutureJVpp vppApi, @Nonnull final NamingContext interfaceContext) {
+ public VhostUserCustomizer(@Nonnull final FutureJVppCore vppApi, @Nonnull final NamingContext interfaceContext) {
super(vppApi);
this.interfaceContext = Preconditions.checkNotNull(interfaceContext, "interfaceContext should not be null");
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces._interface.Vxlan;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.VxlanAddDelTunnel;
-import org.openvpp.jvpp.dto.VxlanAddDelTunnelReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.VxlanAddDelTunnel;
+import org.openvpp.jvpp.core.dto.VxlanAddDelTunnelReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(VxlanCustomizer.class);
private final NamingContext interfaceContext;
- public VxlanCustomizer(final FutureJVpp vppApi, final NamingContext interfaceContext) {
+ public VxlanCustomizer(final FutureJVppCore vppApi, final NamingContext interfaceContext) {
super(vppApi);
this.interfaceContext = interfaceContext;
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces._interface.VxlanGpe;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.VxlanGpeAddDelTunnel;
-import org.openvpp.jvpp.dto.VxlanGpeAddDelTunnelReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.VxlanGpeAddDelTunnel;
+import org.openvpp.jvpp.core.dto.VxlanGpeAddDelTunnelReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(VxlanGpeCustomizer.class);
private final NamingContext interfaceContext;
- public VxlanGpeCustomizer(final FutureJVpp vppApi, final NamingContext interfaceContext) {
+ public VxlanGpeCustomizer(final FutureJVppCore vppApi, final NamingContext interfaceContext) {
super(vppApi);
this.interfaceContext = interfaceContext;
}
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DottedQuad;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(Ipv4AddressCustomizer.class);
private final NamingContext interfaceContext;
- public Ipv4AddressCustomizer(FutureJVpp futureJvpp, NamingContext interfaceContext) {
- super(futureJvpp);
+ public Ipv4AddressCustomizer(FutureJVppCore futureJVppCore, NamingContext interfaceContext) {
+ super(futureJVppCore);
this.interfaceContext = interfaceContext;
}
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ip.rev140616.interfaces._interface.Ipv4;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(Ipv4Customizer.class);
private final NamingContext interfaceContext;
- public Ipv4Customizer(final FutureJVpp vppApi, final NamingContext interfaceContext) {
+ public Ipv4Customizer(final FutureJVppCore vppApi, final NamingContext interfaceContext) {
super(vppApi);
this.interfaceContext = interfaceContext;
}
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ip.rev140616.interfaces._interface.ipv4.NeighborKey;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.IpNeighborAddDel;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.IpNeighborAddDel;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(Ipv4NeighbourCustomizer.class);
final NamingContext interfaceContext;
- public Ipv4NeighbourCustomizer(final FutureJVpp futureJvpp, final NamingContext interfaceContext) {
- super(futureJvpp);
+ public Ipv4NeighbourCustomizer(final FutureJVppCore futureJVppCore, final NamingContext interfaceContext) {
+ super(futureJVppCore);
this.interfaceContext = interfaceContext;
}
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4AddressNoZone;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.SwInterfaceAddDelAddress;
-import org.openvpp.jvpp.dto.SwInterfaceAddDelAddressReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.SwInterfaceAddDelAddress;
+import org.openvpp.jvpp.core.dto.SwInterfaceAddDelAddressReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
/**
* Utility class providing Ipv4 CUD support.
throw new UnsupportedOperationException("This utility class cannot be instantiated");
}
- static void addDelAddress(@Nonnull final FutureJVpp futureJvpp, final boolean add, final InstanceIdentifier<?> id,
+ static void addDelAddress(@Nonnull final FutureJVppCore futureJVppCore, final boolean add, final InstanceIdentifier<?> id,
@Nonnegative final int ifaceId,
@Nonnull final Ipv4AddressNoZone address, @Nonnegative final byte prefixLength)
throws VppBaseCallException, WriteTimeoutException {
final byte[] addressBytes = TranslateUtils.ipv4AddressNoZoneToArray(address);
final CompletionStage<SwInterfaceAddDelAddressReply> swInterfaceAddDelAddressReplyCompletionStage =
- futureJvpp.swInterfaceAddDelAddress(
+ futureJVppCore.swInterfaceAddDelAddress(
getSwInterfaceAddDelAddressRequest(ifaceId, TranslateUtils.booleanToByte(add) /* isAdd */,
(byte) 0 /* isIpv6 */, (byte) 0 /* delAll */, prefixLength, addressBytes));
import javax.annotation.Nonnull;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ip.rev140616.interfaces._interface.Ipv6;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(Ipv6Customizer.class);
- public Ipv6Customizer(final FutureJVpp vppApi) {
+ public Ipv6Customizer(final FutureJVppCore vppApi) {
super(vppApi);
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.sub._interface.ip4.attributes.ipv4.address.subnet.PrefixLength;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(SubInterfaceIpv4AddressCustomizer.class);
private final NamingContext interfaceContext;
- public SubInterfaceIpv4AddressCustomizer(@Nonnull final FutureJVpp futureJvpp,
+ public SubInterfaceIpv4AddressCustomizer(@Nonnull final FutureJVppCore futureJVppCore,
@Nonnull final NamingContext interfaceContext) {
- super(futureJvpp);
+ super(futureJVppCore);
this.interfaceContext = checkNotNull(interfaceContext, "interface context should not be null");
}
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.ClassifyTableByInterface;
-import org.openvpp.jvpp.dto.ClassifyTableByInterfaceReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.ClassifyTableByInterface;
+import org.openvpp.jvpp.core.dto.ClassifyTableByInterfaceReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private final NamingContext interfaceContext;
private final NamingContext classifyTableContext;
- public AclCustomizer(@Nonnull final FutureJVpp jvpp, @Nonnull final NamingContext interfaceContext,
+ public AclCustomizer(@Nonnull final FutureJVppCore jvpp, @Nonnull final NamingContext interfaceContext,
@Nonnull final NamingContext classifyTableContext) {
super(jvpp);
this.interfaceContext = checkNotNull(interfaceContext, "interfaceContext should not be null");
import org.opendaylight.yangtools.concepts.Builder;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.dto.SwInterfaceDetails;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.SwInterfaceDetails;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(EthernetCustomizer.class);
private NamingContext interfaceContext;
- public EthernetCustomizer(@Nonnull final FutureJVpp jvpp,
+ public EthernetCustomizer(@Nonnull final FutureJVppCore jvpp,
@Nonnull final NamingContext interfaceContext) {
super(jvpp);
this.interfaceContext = interfaceContext;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.GreTunnelDetails;
-import org.openvpp.jvpp.dto.GreTunnelDetailsReplyDump;
-import org.openvpp.jvpp.dto.GreTunnelDump;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.GreTunnelDetails;
+import org.openvpp.jvpp.core.dto.GreTunnelDetailsReplyDump;
+import org.openvpp.jvpp.core.dto.GreTunnelDump;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(GreCustomizer.class);
private NamingContext interfaceContext;
- public GreCustomizer(@Nonnull final FutureJVpp jvpp, @Nonnull final NamingContext interfaceContext) {
+ public GreCustomizer(@Nonnull final FutureJVppCore jvpp, @Nonnull final NamingContext interfaceContext) {
super(jvpp);
this.interfaceContext = interfaceContext;
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.l2.base.attributes.interconnection.BridgeBasedBuilder;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.BridgeDomainDetails;
-import org.openvpp.jvpp.dto.BridgeDomainDetailsReplyDump;
-import org.openvpp.jvpp.dto.BridgeDomainDump;
-import org.openvpp.jvpp.dto.BridgeDomainSwIfDetails;
-import org.openvpp.jvpp.dto.SwInterfaceDetails;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.BridgeDomainDetails;
+import org.openvpp.jvpp.core.dto.BridgeDomainDetailsReplyDump;
+import org.openvpp.jvpp.core.dto.BridgeDomainDump;
+import org.openvpp.jvpp.core.dto.BridgeDomainSwIfDetails;
+import org.openvpp.jvpp.core.dto.SwInterfaceDetails;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(InterconnectionReadUtils.class);
- private final FutureJVpp futureJvpp;
+ private final FutureJVppCore futureJVppCore;
private final NamingContext interfaceContext;
private final NamingContext bridgeDomainContext;
- InterconnectionReadUtils(@Nonnull final FutureJVpp futureJvpp,
+ InterconnectionReadUtils(@Nonnull final FutureJVppCore futureJVppCore,
@Nonnull final NamingContext interfaceContext,
@Nonnull final NamingContext bridgeDomainContext) {
- this.futureJvpp = requireNonNull(futureJvpp, "futureJvpp should not be null");
+ this.futureJVppCore = requireNonNull(futureJVppCore, "futureJVppCore should not be null");
this.interfaceContext = requireNonNull(interfaceContext, "interfaceContext should not be null");
this.bridgeDomainContext = requireNonNull(bridgeDomainContext, "bridgeDomainContext should not be null");
}
throws ReadFailedException {
final int ifaceId = interfaceContext.getIndex(ifaceName, ctx.getMappingContext());
- final SwInterfaceDetails iface = InterfaceUtils.getVppInterfaceDetails(futureJvpp, id, ifaceName,
+ final SwInterfaceDetails iface = InterfaceUtils.getVppInterfaceDetails(futureJVppCore, id, ifaceName,
ifaceId, ctx.getModificationCache());
LOG.debug("Interface details for interface: {}, details: {}", ifaceName, iface);
request.bdId = -1;
final CompletableFuture<BridgeDomainDetailsReplyDump> bdCompletableFuture =
- futureJvpp.bridgeDomainSwIfDump(request).toCompletableFuture();
+ futureJVppCore.bridgeDomainSwIfDump(request).toCompletableFuture();
return TranslateUtils.getReplyForRead(bdCompletableFuture, id);
} catch (VppBaseCallException e) {
throw new ReadFailedException(id, e);
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.SwInterfaceDetails;
-import org.openvpp.jvpp.dto.SwInterfaceDetailsReplyDump;
-import org.openvpp.jvpp.dto.SwInterfaceDump;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.SwInterfaceDetails;
+import org.openvpp.jvpp.core.dto.SwInterfaceDetailsReplyDump;
+import org.openvpp.jvpp.core.dto.SwInterfaceDump;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private final NamingContext interfaceContext;
- public InterfaceCustomizer(@Nonnull final FutureJVpp jvpp, final NamingContext interfaceContext) {
+ public InterfaceCustomizer(@Nonnull final FutureJVppCore jvpp, final NamingContext interfaceContext) {
super(jvpp);
this.interfaceContext = interfaceContext;
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.GreTunnel;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.SwInterfaceDetails;
-import org.openvpp.jvpp.dto.SwInterfaceDetailsReplyDump;
-import org.openvpp.jvpp.dto.SwInterfaceDump;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.SwInterfaceDetails;
+import org.openvpp.jvpp.core.dto.SwInterfaceDetailsReplyDump;
+import org.openvpp.jvpp.core.dto.SwInterfaceDump;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Queries VPP for interface description given interface key.
*
- * @param futureJvpp VPP Java Future API
+ * @param futureJVppCore VPP Java Future API
* @param id InstanceIdentifier, which is passed in ReadFailedException
* @param name interface name
* @param index VPP index of the interface
* @throws ReadFailedException If read operation had failed
*/
@Nonnull
- public static SwInterfaceDetails getVppInterfaceDetails(@Nonnull final FutureJVpp futureJvpp,
+ public static SwInterfaceDetails getVppInterfaceDetails(@Nonnull final FutureJVppCore futureJVppCore,
@Nonnull final InstanceIdentifier<?> id,
@Nonnull final String name, final int index,
@Nonnull final ModificationCache ctx)
throws ReadFailedException {
- requireNonNull(futureJvpp, "futureJvpp should not be null");
+ requireNonNull(futureJVppCore, "futureJVppCore should not be null");
requireNonNull(name, "name should not be null");
requireNonNull(ctx, "ctx should not be null");
SwInterfaceDetailsReplyDump ifaces;
try {
- CompletionStage<SwInterfaceDetailsReplyDump> requestFuture = futureJvpp.swInterfaceDump(request);
+ CompletionStage<SwInterfaceDetailsReplyDump> requestFuture = futureJVppCore.swInterfaceDump(request);
ifaces = TranslateUtils.getReplyForRead(requestFuture.toCompletableFuture(), id);
if (null == ifaces || null == ifaces.swInterfaceDetails || ifaces.swInterfaceDetails.isEmpty()) {
request.nameFilterValid = 0;
LOG.warn("Iterating through all the interfaces to find interface: {}", name);
// Or else just perform full dump and do inefficient filtering
- requestFuture = futureJvpp.swInterfaceDump(request);
+ requestFuture = futureJVppCore.swInterfaceDump(request);
ifaces = TranslateUtils.getReplyForRead(requestFuture.toCompletableFuture(), id);
// Update the cache
/**
* Check interface type. Uses interface details from VPP to determine. Uses {@link
- * #getVppInterfaceDetails(FutureJVpp, InstanceIdentifier, String, int, ModificationCache)} internally so tries to
+ * #getVppInterfaceDetails(FutureJVppCore, InstanceIdentifier, String, int, ModificationCache)} internally so tries to
* utilize cache before asking VPP.
*/
- static boolean isInterfaceOfType(@Nonnull final FutureJVpp jvpp,
+ static boolean isInterfaceOfType(@Nonnull final FutureJVppCore jvpp,
@Nonnull final ModificationCache cache,
@Nonnull final InstanceIdentifier<?> id,
final int index,
import org.opendaylight.yangtools.concepts.Builder;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(L2Customizer.class);
private final InterconnectionReadUtils icReadUtils;
- public L2Customizer(@Nonnull final FutureJVpp futureJvpp,
+ public L2Customizer(@Nonnull final FutureJVppCore futureJVppCore,
@Nonnull final NamingContext interfaceContext,
@Nonnull final NamingContext bridgeDomainContext) {
- super(futureJvpp);
- this.icReadUtils = new InterconnectionReadUtils(futureJvpp, interfaceContext, bridgeDomainContext);
+ super(futureJVppCore);
+ this.icReadUtils = new InterconnectionReadUtils(futureJVppCore, interfaceContext, bridgeDomainContext);
}
@Override
import io.fd.honeycomb.translate.spi.read.ReaderCustomizer;
import io.fd.honeycomb.translate.v3po.util.FutureJVppCustomizer;
import io.fd.honeycomb.translate.v3po.util.NamingContext;
+import javax.annotation.Nonnull;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.InterfaceKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.VppInterfaceStateAugmentationBuilder;
import org.opendaylight.yangtools.concepts.Builder;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.annotation.Nonnull;
-
public class ProxyArpCustomizer extends FutureJVppCustomizer
implements ReaderCustomizer<ProxyArp,
org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces.
private static final Logger LOG = LoggerFactory.getLogger(ProxyArpCustomizer.class);
private final NamingContext interfaceContext;
- public ProxyArpCustomizer(final FutureJVpp vppApi, final NamingContext interfaceContext) {
+ public ProxyArpCustomizer(final FutureJVppCore vppApi, final NamingContext interfaceContext) {
super(vppApi);
this.interfaceContext = interfaceContext;
}
import org.opendaylight.yangtools.concepts.Builder;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.dto.SwInterfaceDetails;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.SwInterfaceDetails;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(RewriteCustomizer.class);
private final NamingContext interfaceContext;
- public RewriteCustomizer(@Nonnull final FutureJVpp futureJvpp,
+ public RewriteCustomizer(@Nonnull final FutureJVppCore futureJVppCore,
@Nonnull final NamingContext interfaceContext) {
- super(futureJvpp);
+ super(futureJVppCore);
this.interfaceContext = Preconditions.checkNotNull(interfaceContext, "interfaceContext should not be null");
}
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.ClassifyTableByInterface;
-import org.openvpp.jvpp.dto.ClassifyTableByInterfaceReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.ClassifyTableByInterface;
+import org.openvpp.jvpp.core.dto.ClassifyTableByInterfaceReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private final NamingContext interfaceContext;
private final NamingContext classifyTableContext;
- public SubInterfaceAclCustomizer(@Nonnull final FutureJVpp jvpp, @Nonnull final NamingContext interfaceContext,
+ public SubInterfaceAclCustomizer(@Nonnull final FutureJVppCore jvpp, @Nonnull final NamingContext interfaceContext,
@Nonnull final NamingContext classifyTableContext) {
super(jvpp);
this.interfaceContext = checkNotNull(interfaceContext, "interfaceContext should not be null");
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.SwInterfaceDetails;
-import org.openvpp.jvpp.dto.SwInterfaceDetailsReplyDump;
-import org.openvpp.jvpp.dto.SwInterfaceDump;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.SwInterfaceDetails;
+import org.openvpp.jvpp.core.dto.SwInterfaceDetailsReplyDump;
+import org.openvpp.jvpp.core.dto.SwInterfaceDump;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private NamingContext interfaceContext;
private static final Dot1qTag.VlanId ANY_VLAN_ID = new Dot1qTag.VlanId(Dot1qTag.VlanId.Enumeration.Any);
- public SubInterfaceCustomizer(@Nonnull final FutureJVpp jvpp,
+ public SubInterfaceCustomizer(@Nonnull final FutureJVppCore jvpp,
@Nonnull final NamingContext interfaceContext) {
super(jvpp);
this.interfaceContext = Preconditions.checkNotNull(interfaceContext, "interfaceContext should not be null");
import org.opendaylight.yangtools.concepts.Builder;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(SubInterfaceL2Customizer.class);
private final InterconnectionReadUtils icReadUtils;
- public SubInterfaceL2Customizer(@Nonnull final FutureJVpp futureJvpp,
+ public SubInterfaceL2Customizer(@Nonnull final FutureJVppCore futureJVppCore,
@Nonnull final NamingContext interfaceContext,
@Nonnull final NamingContext bridgeDomainContext) {
- super(futureJvpp);
- this.icReadUtils = new InterconnectionReadUtils(futureJvpp, interfaceContext, bridgeDomainContext);
+ super(futureJVppCore);
+ this.icReadUtils = new InterconnectionReadUtils(futureJVppCore, interfaceContext, bridgeDomainContext);
}
@Override
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.SwInterfaceTapDetails;
-import org.openvpp.jvpp.dto.SwInterfaceTapDetailsReplyDump;
-import org.openvpp.jvpp.dto.SwInterfaceTapDump;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.SwInterfaceTapDetails;
+import org.openvpp.jvpp.core.dto.SwInterfaceTapDetailsReplyDump;
+import org.openvpp.jvpp.core.dto.SwInterfaceTapDump;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public static final String DUMPED_TAPS_CONTEXT_KEY = TapCustomizer.class.getName() + "dumpedTapsDuringGetAllIds";
private NamingContext interfaceContext;
- public TapCustomizer(@Nonnull final FutureJVpp jvpp, @Nonnull final NamingContext interfaceContext) {
+ public TapCustomizer(@Nonnull final FutureJVppCore jvpp, @Nonnull final NamingContext interfaceContext) {
super(jvpp);
this.interfaceContext = interfaceContext;
}
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.SwInterfaceVhostUserDetails;
-import org.openvpp.jvpp.dto.SwInterfaceVhostUserDetailsReplyDump;
-import org.openvpp.jvpp.dto.SwInterfaceVhostUserDump;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.SwInterfaceVhostUserDetails;
+import org.openvpp.jvpp.core.dto.SwInterfaceVhostUserDetailsReplyDump;
+import org.openvpp.jvpp.core.dto.SwInterfaceVhostUserDump;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public static final String DUMPED_VHOST_USERS_CONTEXT_KEY = VhostUserCustomizer.class.getName() + "dumpedVhostUsersDuringGetAllIds";
private NamingContext interfaceContext;
- public VhostUserCustomizer(@Nonnull final FutureJVpp jvpp, @Nonnull final NamingContext interfaceContext) {
+ public VhostUserCustomizer(@Nonnull final FutureJVppCore jvpp, @Nonnull final NamingContext interfaceContext) {
super(jvpp);
this.interfaceContext = interfaceContext;
}
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.VxlanTunnelDetails;
-import org.openvpp.jvpp.dto.VxlanTunnelDetailsReplyDump;
-import org.openvpp.jvpp.dto.VxlanTunnelDump;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.VxlanTunnelDetails;
+import org.openvpp.jvpp.core.dto.VxlanTunnelDetailsReplyDump;
+import org.openvpp.jvpp.core.dto.VxlanTunnelDump;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(VxlanCustomizer.class);
private final NamingContext interfaceContext;
- public VxlanCustomizer(@Nonnull final FutureJVpp jvpp, @Nonnull final NamingContext interfaceContext) {
+ public VxlanCustomizer(@Nonnull final FutureJVppCore jvpp, @Nonnull final NamingContext interfaceContext) {
super(jvpp);
this.interfaceContext = interfaceContext;
}
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.VxlanGpeTunnelDetails;
-import org.openvpp.jvpp.dto.VxlanGpeTunnelDetailsReplyDump;
-import org.openvpp.jvpp.dto.VxlanGpeTunnelDump;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.VxlanGpeTunnelDetails;
+import org.openvpp.jvpp.core.dto.VxlanGpeTunnelDetailsReplyDump;
+import org.openvpp.jvpp.core.dto.VxlanGpeTunnelDump;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(VxlanGpeCustomizer.class);
private NamingContext interfaceContext;
- public VxlanGpeCustomizer(@Nonnull final FutureJVpp jvpp, @Nonnull final NamingContext interfaceContext) {
+ public VxlanGpeCustomizer(@Nonnull final FutureJVppCore jvpp, @Nonnull final NamingContext interfaceContext) {
super(jvpp);
this.interfaceContext = interfaceContext;
}
import org.opendaylight.yangtools.concepts.Builder;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.dto.IpAddressDetails;
-import org.openvpp.jvpp.dto.IpAddressDetailsReplyDump;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.IpAddressDetails;
+import org.openvpp.jvpp.core.dto.IpAddressDetailsReplyDump;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private final NamingContext interfaceContext;
- public Ipv4AddressCustomizer(@Nonnull final FutureJVpp futureJvpp, @Nonnull final NamingContext interfaceContext) {
- super(futureJvpp);
+ public Ipv4AddressCustomizer(@Nonnull final FutureJVppCore futureJVppCore, @Nonnull final NamingContext interfaceContext) {
+ super(futureJVppCore);
this.interfaceContext = checkNotNull(interfaceContext, "interfaceContext should not be null");
}
import org.opendaylight.yangtools.concepts.Builder;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(Ipv4Customizer.class);
- public Ipv4Customizer(@Nonnull final FutureJVpp futureJvpp) {
- super(futureJvpp);
+ public Ipv4Customizer(@Nonnull final FutureJVppCore futureJVppCore) {
+ super(futureJVppCore);
}
@Override
import org.opendaylight.yangtools.concepts.Builder;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(Ipv4NeighbourCustomizer.class);
- public Ipv4NeighbourCustomizer(FutureJVpp futureJvpp) {
- super(futureJvpp);
+ public Ipv4NeighbourCustomizer(FutureJVppCore futureJVppCore) {
+ super(futureJVppCore);
}
@Override
import org.opendaylight.yangtools.yang.binding.Identifier;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.IpAddressDetails;
-import org.openvpp.jvpp.dto.IpAddressDetailsReplyDump;
-import org.openvpp.jvpp.dto.IpAddressDump;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.IpAddressDetails;
+import org.openvpp.jvpp.core.dto.IpAddressDetailsReplyDump;
+import org.openvpp.jvpp.core.dto.IpAddressDump;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
// Many VPP APIs do not provide get operation for single item. Dump requests for all items are used instead.
// To improve HC performance, caching dump requests is a common pattern.
// TODO: use more generic caching implementation, once provided
- static Optional<IpAddressDetailsReplyDump> dumpAddresses(@Nonnull final FutureJVpp futureJvpp,
+ static Optional<IpAddressDetailsReplyDump> dumpAddresses(@Nonnull final FutureJVppCore futureJVppCore,
@Nonnull final InstanceIdentifier<?> id,
@Nonnull final String interfaceName,
final int interfaceIndex, @Nonnull final ReadContext ctx)
Optional<IpAddressDetailsReplyDump> dumpFromOperational;
try {
- dumpFromOperational = dumpAddressFromOperationalData(futureJvpp, id, interfaceIndex);
+ dumpFromOperational = dumpAddressFromOperationalData(futureJVppCore, id, interfaceIndex);
} catch (VppBaseCallException e) {
throw new ReadFailedException(id, e);
}
}
private static Optional<IpAddressDetailsReplyDump> dumpAddressFromOperationalData(
- @Nonnull final FutureJVpp futureJvpp, @Nonnull final InstanceIdentifier<?> id, final int interfaceIndex)
+ @Nonnull final FutureJVppCore futureJVppCore, @Nonnull final InstanceIdentifier<?> id, final int interfaceIndex)
throws VppBaseCallException, ReadTimeoutException {
LOG.debug("Dumping Ipv4 addresses for interface id={}", interfaceIndex);
final IpAddressDump dumpRequest = new IpAddressDump();
dumpRequest.isIpv6 = 0;
dumpRequest.swIfIndex = interfaceIndex;
return Optional.fromNullable(
- TranslateUtils.getReplyForRead(futureJvpp.ipAddressDump(dumpRequest).toCompletableFuture(), id));
+ TranslateUtils.getReplyForRead(futureJVppCore.ipAddressDump(dumpRequest).toCompletableFuture(), id));
}
@Nonnull static <T extends Identifier> List<T> getAllIpv4AddressIds(
import org.opendaylight.yangtools.concepts.Builder;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public class Ipv6Customizer extends FutureJVppCustomizer implements ReaderCustomizer<Ipv6, Ipv6Builder> {
private final NamingContext interfaceContext;
- public Ipv6Customizer(@Nonnull final FutureJVpp futureJvpp, final NamingContext interfaceContext) {
- super(futureJvpp);
+ public Ipv6Customizer(@Nonnull final FutureJVppCore futureJVppCore, final NamingContext interfaceContext) {
+ super(futureJVppCore);
this.interfaceContext = interfaceContext;
}
import org.opendaylight.yangtools.concepts.Builder;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.dto.IpAddressDetails;
-import org.openvpp.jvpp.dto.IpAddressDetailsReplyDump;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.IpAddressDetails;
+import org.openvpp.jvpp.core.dto.IpAddressDetailsReplyDump;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private final NamingContext interfaceContext;
- public SubInterfaceIpv4AddressCustomizer(@Nonnull final FutureJVpp futureJvpp,
+ public SubInterfaceIpv4AddressCustomizer(@Nonnull final FutureJVppCore futureJVppCore,
@Nonnull final NamingContext interfaceContext) {
- super(futureJvpp);
+ super(futureJVppCore);
this.interfaceContext = checkNotNull(interfaceContext, "interfaceContext should not be null");
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.InterfaceStatus;
import org.opendaylight.yangtools.yang.binding.Notification;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.SwInterfaceSetFlagsNotification;
-import org.openvpp.jvpp.dto.WantInterfaceEvents;
-import org.openvpp.jvpp.dto.WantInterfaceEventsReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.SwInterfaceSetFlagsNotification;
+import org.openvpp.jvpp.core.dto.WantInterfaceEvents;
+import org.openvpp.jvpp.core.dto.WantInterfaceEventsReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(InterfaceChangeNotificationProducer.class);
- private final FutureJVpp jvpp;
+ private final FutureJVppCore jvpp;
private final NamingContext interfaceContext;
private final MappingContext mappingContext;
@Nullable
private AutoCloseable notificationListenerReg;
@Inject
- public InterfaceChangeNotificationProducer(@Nonnull final FutureJVpp jvpp,
+ public InterfaceChangeNotificationProducer(@Nonnull final FutureJVppCore jvpp,
@Named("interface-context") @Nonnull final NamingContext interfaceContext,
@Named("honeycomb-context") @Nonnull final MappingContext mappingContext) {
this.jvpp = jvpp;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.vpp.bridge.domains.BridgeDomain;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.BdIpMacAddDel;
-import org.openvpp.jvpp.dto.BdIpMacAddDelReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.BdIpMacAddDel;
+import org.openvpp.jvpp.core.dto.BdIpMacAddDelReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private final NamingContext bdContext;
- public ArpTerminationTableEntryCustomizer(@Nonnull final FutureJVpp futureJvpp,
+ public ArpTerminationTableEntryCustomizer(@Nonnull final FutureJVppCore futureJvpp,
@Nonnull final NamingContext bdContext) {
super(futureJvpp);
this.bdContext = Preconditions.checkNotNull(bdContext, "bdContext should not be null");
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.vpp.bridge.domains.BridgeDomainKey;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.BridgeDomainAddDel;
-import org.openvpp.jvpp.dto.BridgeDomainAddDelReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.BridgeDomainAddDel;
+import org.openvpp.jvpp.core.dto.BridgeDomainAddDelReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final byte ADD_OR_UPDATE_BD = (byte) 1;
private final NamingContext bdContext;
- public BridgeDomainCustomizer(@Nonnull final FutureJVpp futureJvpp, @Nonnull final NamingContext bdContext) {
- super(futureJvpp);
+ public BridgeDomainCustomizer(@Nonnull final FutureJVppCore futureJVppCore, @Nonnull final NamingContext bdContext) {
+ super(futureJVppCore);
this.bdContext = Preconditions.checkNotNull(bdContext, "bdContext should not be null");
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.vpp.bridge.domains.BridgeDomain;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.L2FibAddDel;
-import org.openvpp.jvpp.dto.L2FibAddDelReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.L2FibAddDel;
+import org.openvpp.jvpp.core.dto.L2FibAddDelReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private final NamingContext bdContext;
private final NamingContext interfaceContext;
- public L2FibEntryCustomizer(@Nonnull final FutureJVpp futureJvpp, @Nonnull final NamingContext bdContext,
+ public L2FibEntryCustomizer(@Nonnull final FutureJVppCore futureJVppCore, @Nonnull final NamingContext bdContext,
@Nonnull final NamingContext interfaceContext) {
- super(futureJvpp);
+ super(futureJVppCore);
this.bdContext = Preconditions.checkNotNull(bdContext, "bdContext should not be null");
this.interfaceContext = Preconditions.checkNotNull(interfaceContext, "interfaceContext should not be null");
}
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.ClassifySessionDetails;
-import org.openvpp.jvpp.dto.ClassifySessionDetailsReplyDump;
-import org.openvpp.jvpp.dto.ClassifySessionDump;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.ClassifySessionDetails;
+import org.openvpp.jvpp.core.dto.ClassifySessionDetailsReplyDump;
+import org.openvpp.jvpp.core.dto.ClassifySessionDump;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private final NamingContext classifyTableContext;
- public ClassifySessionReader(@Nonnull final FutureJVpp futureJvpp,
+ public ClassifySessionReader(@Nonnull final FutureJVppCore futureJVppCore,
@Nonnull final NamingContext classifyTableContext) {
- super(futureJvpp);
+ super(futureJVppCore);
this.classifyTableContext = checkNotNull(classifyTableContext, "classifyTableContext should not be null");
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.classifier.rev150603.vpp.classifier.ClassifyTableKey;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.ClassifyAddDelSession;
-import org.openvpp.jvpp.dto.ClassifyAddDelSessionReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.ClassifyAddDelSession;
+import org.openvpp.jvpp.core.dto.ClassifyAddDelSessionReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(ClassifySessionWriter.class);
private final NamingContext classifyTableContext;
- public ClassifySessionWriter(@Nonnull final FutureJVpp futureJvpp,
+ public ClassifySessionWriter(@Nonnull final FutureJVppCore futureJVppCore,
@Nonnull final NamingContext classifyTableContext) {
- super(futureJvpp);
+ super(futureJVppCore);
this.classifyTableContext = checkNotNull(classifyTableContext, "classifyTableContext should not be null");
}
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.ClassifyTableIds;
-import org.openvpp.jvpp.dto.ClassifyTableIdsReply;
-import org.openvpp.jvpp.dto.ClassifyTableInfo;
-import org.openvpp.jvpp.dto.ClassifyTableInfoReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.ClassifyTableIds;
+import org.openvpp.jvpp.core.dto.ClassifyTableIdsReply;
+import org.openvpp.jvpp.core.dto.ClassifyTableInfo;
+import org.openvpp.jvpp.core.dto.ClassifyTableInfoReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(ClassifyTableReader.class);
private final NamingContext classifyTableContext;
- public ClassifyTableReader(@Nonnull final FutureJVpp futureJvpp,
+ public ClassifyTableReader(@Nonnull final FutureJVppCore futureJVppCore,
@Nonnull final NamingContext classifyTableContext) {
- super(futureJvpp);
+ super(futureJVppCore);
this.classifyTableContext = checkNotNull(classifyTableContext, "classifyTableContext should not be null");
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.classifier.rev150603.vpp.classifier.ClassifyTableKey;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.ClassifyAddDelTable;
-import org.openvpp.jvpp.dto.ClassifyAddDelTableReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.ClassifyAddDelTable;
+import org.openvpp.jvpp.core.dto.ClassifyAddDelTableReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(ClassifyTableWriter.class);
private final NamingContext classifyTableContext;
- public ClassifyTableWriter(@Nonnull final FutureJVpp futureJvpp,
+ public ClassifyTableWriter(@Nonnull final FutureJVppCore futureJVppCore,
@Nonnull final NamingContext classifyTableContext) {
- super(futureJvpp);
+ super(futureJVppCore);
this.classifyTableContext = checkNotNull(classifyTableContext, "classifyTableContext should not be null");
}
import org.opendaylight.yangtools.concepts.Builder;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.dto.BridgeDomainDetails;
-import org.openvpp.jvpp.dto.BridgeDomainDetailsReplyDump;
-import org.openvpp.jvpp.dto.BridgeDomainDump;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.BridgeDomainDetails;
+import org.openvpp.jvpp.core.dto.BridgeDomainDetailsReplyDump;
+import org.openvpp.jvpp.core.dto.BridgeDomainDump;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(BridgeDomainCustomizer.class);
private final NamingContext bdContext;
- public BridgeDomainCustomizer(@Nonnull final FutureJVpp futureJVpp, @Nonnull final NamingContext bdContext) {
- super(futureJVpp);
+ public BridgeDomainCustomizer(@Nonnull final FutureJVppCore futureJVppCore, @Nonnull final NamingContext bdContext) {
+ super(futureJVppCore);
this.bdContext = Preconditions.checkNotNull(bdContext, "bdContext should not be null");
}
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.L2FibTableDump;
-import org.openvpp.jvpp.dto.L2FibTableEntry;
-import org.openvpp.jvpp.dto.L2FibTableEntryReplyDump;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.L2FibTableDump;
+import org.openvpp.jvpp.core.dto.L2FibTableEntry;
+import org.openvpp.jvpp.core.dto.L2FibTableEntryReplyDump;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private final NamingContext bdContext;
private final NamingContext interfaceContext;
- public L2FibEntryCustomizer(@Nonnull final FutureJVpp futureJVpp, @Nonnull final NamingContext bdContext,
+ public L2FibEntryCustomizer(@Nonnull final FutureJVppCore futureJVppCore, @Nonnull final NamingContext bdContext,
@Nonnull final NamingContext interfaceContext) {
- super(futureJVpp);
+ super(futureJVppCore);
this.bdContext = Preconditions.checkNotNull(bdContext, "bdContext should not be null");
this.interfaceContext = Preconditions.checkNotNull(interfaceContext, "interfaceContext should not be null");
}
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.ShowVersion;
-import org.openvpp.jvpp.dto.ShowVersionReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.ShowVersion;
+import org.openvpp.jvpp.core.dto.ShowVersionReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public final class VersionCustomizer
extends FutureJVppCustomizer
*/
private static final int DEFAULT_TIMEOUT_IN_SECONDS = 30;
- public VersionCustomizer(@Nonnull final FutureJVpp futureJVpp) {
- super(futureJVpp);
+ public VersionCustomizer(@Nonnull final FutureJVppCore futureJVppCore) {
+ super(futureJVppCore);
}
@Override
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.InputAclSetInterface;
-import org.openvpp.jvpp.dto.InputAclSetInterfaceReply;
-import org.openvpp.jvpp.dto.L2InterfaceVlanTagRewriteReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.InputAclSetInterface;
+import org.openvpp.jvpp.core.dto.InputAclSetInterfaceReply;
+import org.openvpp.jvpp.core.dto.L2InterfaceVlanTagRewriteReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public class AclCustomizerTest {
@Mock
- private FutureJVpp api;
+ private FutureJVppCore api;
@Mock
private WriteContext writeContext;
@Mock
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
import org.openvpp.jvpp.VppInvocationException;
-import org.openvpp.jvpp.dto.GreAddDelTunnel;
-import org.openvpp.jvpp.dto.GreAddDelTunnelReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
+import org.openvpp.jvpp.core.dto.GreAddDelTunnel;
+import org.openvpp.jvpp.core.dto.GreAddDelTunnelReply;
public class GreCustomizerTest {
private static final byte DEL_GRE = 0;
@Mock
- private FutureJVpp api;
+ private FutureJVppCore api;
@Mock
private WriteContext writeContext;
@Mock
package io.fd.honeycomb.translate.v3po.interfaces;
-import io.fd.honeycomb.translate.v3po.interfaces.ProxyArpCustomizer;
+import static org.mockito.Mockito.doReturn;
+
import io.fd.honeycomb.translate.MappingContext;
import io.fd.honeycomb.translate.v3po.util.NamingContext;
import io.fd.honeycomb.translate.write.WriteContext;
import org.junit.Before;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
-import org.openvpp.jvpp.future.FutureJVpp;
-
-import static org.mockito.Mockito.doReturn;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public class ProxyArpCustomizerTest {
@Mock
- private FutureJVpp vppApi;
+ private FutureJVppCore vppApi;
@Mock
private WriteContext writeContext;
@Mock
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
import org.openvpp.jvpp.VppInvocationException;
-import org.openvpp.jvpp.dto.L2InterfaceVlanTagRewrite;
-import org.openvpp.jvpp.dto.L2InterfaceVlanTagRewriteReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.L2InterfaceVlanTagRewrite;
+import org.openvpp.jvpp.core.dto.L2InterfaceVlanTagRewriteReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public class RewriteCustomizerTest {
@Mock
- private FutureJVpp api;
+ private FutureJVppCore api;
@Mock
private WriteContext writeContext;
@Mock
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.sub._interface.base.attributes.tags.TagKey;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.CreateSubif;
-import org.openvpp.jvpp.dto.CreateSubifReply;
-import org.openvpp.jvpp.dto.SwInterfaceSetFlags;
-import org.openvpp.jvpp.dto.SwInterfaceSetFlagsReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.CreateSubif;
+import org.openvpp.jvpp.core.dto.CreateSubifReply;
+import org.openvpp.jvpp.core.dto.SwInterfaceSetFlags;
+import org.openvpp.jvpp.core.dto.SwInterfaceSetFlagsReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public class SubInterfaceCustomizerTest {
@Mock
- private FutureJVpp api;
+ private FutureJVppCore api;
@Mock
private WriteContext writeContext;
@Mock
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces._interface.Tap;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces._interface.TapBuilder;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.dto.TapConnect;
-import org.openvpp.jvpp.dto.TapConnectReply;
-import org.openvpp.jvpp.dto.TapDelete;
-import org.openvpp.jvpp.dto.TapDeleteReply;
-import org.openvpp.jvpp.dto.TapModify;
-import org.openvpp.jvpp.dto.TapModifyReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.TapConnect;
+import org.openvpp.jvpp.core.dto.TapConnectReply;
+import org.openvpp.jvpp.core.dto.TapDelete;
+import org.openvpp.jvpp.core.dto.TapDeleteReply;
+import org.openvpp.jvpp.core.dto.TapModify;
+import org.openvpp.jvpp.core.dto.TapModifyReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public class TapCustomizerTest {
@Mock
- private FutureJVpp vppApi;
+ private FutureJVppCore vppApi;
@Mock
private WriteContext writeContext;
@Mock
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
import org.openvpp.jvpp.VppInvocationException;
-import org.openvpp.jvpp.dto.CreateVhostUserIf;
-import org.openvpp.jvpp.dto.CreateVhostUserIfReply;
-import org.openvpp.jvpp.dto.DeleteVhostUserIf;
-import org.openvpp.jvpp.dto.DeleteVhostUserIfReply;
-import org.openvpp.jvpp.dto.ModifyVhostUserIf;
-import org.openvpp.jvpp.dto.ModifyVhostUserIfReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.CreateVhostUserIf;
+import org.openvpp.jvpp.core.dto.CreateVhostUserIfReply;
+import org.openvpp.jvpp.core.dto.DeleteVhostUserIf;
+import org.openvpp.jvpp.core.dto.DeleteVhostUserIfReply;
+import org.openvpp.jvpp.core.dto.ModifyVhostUserIf;
+import org.openvpp.jvpp.core.dto.ModifyVhostUserIfReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public class VhostUserCustomizerTest {
@Mock
- private FutureJVpp api;
+ private FutureJVppCore api;
@Mock
private WriteContext writeContext;
@Mock
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
import org.openvpp.jvpp.VppInvocationException;
-import org.openvpp.jvpp.dto.VxlanAddDelTunnel;
-import org.openvpp.jvpp.dto.VxlanAddDelTunnelReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.VxlanAddDelTunnel;
+import org.openvpp.jvpp.core.dto.VxlanAddDelTunnelReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public class VxlanCustomizerTest {
private static final byte DEL_VXLAN = 0;
@Mock
- private FutureJVpp api;
+ private FutureJVppCore api;
@Mock
private WriteContext writeContext;
@Mock
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces._interface.VxlanGpeBuilder;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.VxlanAddDelTunnelReply;
-import org.openvpp.jvpp.dto.VxlanGpeAddDelTunnel;
-import org.openvpp.jvpp.dto.VxlanGpeAddDelTunnelReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.VxlanAddDelTunnelReply;
+import org.openvpp.jvpp.core.dto.VxlanGpeAddDelTunnel;
+import org.openvpp.jvpp.core.dto.VxlanGpeAddDelTunnelReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public class VxlanGpeCustomizerTest {
private static final byte DEL_VXLAN_GPE = 0;
@Mock
- private FutureJVpp api;
+ private FutureJVppCore api;
@Mock
private WriteContext writeContext;
@Mock
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
import org.openvpp.jvpp.VppInvocationException;
-import org.openvpp.jvpp.dto.SwInterfaceAddDelAddress;
-import org.openvpp.jvpp.dto.SwInterfaceAddDelAddressReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.SwInterfaceAddDelAddress;
+import org.openvpp.jvpp.core.dto.SwInterfaceAddDelAddressReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public class Ipv4AddressCustomizerTest {
@Mock
private MappingContext mappingContext;
@Mock
- private FutureJVpp api;
+ private FutureJVppCore api;
private NamingContext interfaceContext;
private Ipv4AddressCustomizer customizer;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ip.rev140616.interfaces._interface.ipv4.NeighborBuilder;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.PhysAddress;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.dto.IpNeighborAddDel;
-import org.openvpp.jvpp.dto.IpNeighborAddDelReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.IpNeighborAddDel;
+import org.openvpp.jvpp.core.dto.IpNeighborAddDelReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public class Ipv4NeighbourCustomizerTest {
@Mock
- private FutureJVpp jvpp;
+ private FutureJVppCore jvpp;
@Mock
private WriteContext context;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces.state._interface.AclBuilder;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
-import org.openvpp.jvpp.dto.ClassifyTableByInterface;
-import org.openvpp.jvpp.dto.ClassifyTableByInterfaceReply;
+import org.openvpp.jvpp.core.dto.ClassifyTableByInterface;
+import org.openvpp.jvpp.core.dto.ClassifyTableByInterfaceReply;
public class AclCustomizerTest extends ReaderCustomizerTest<Acl, AclBuilder> {
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces.state._interface.GreBuilder;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppInvocationException;
-import org.openvpp.jvpp.dto.SwInterfaceDetails;
-import org.openvpp.jvpp.dto.GreTunnelDetails;
-import org.openvpp.jvpp.dto.GreTunnelDetailsReplyDump;
-import org.openvpp.jvpp.dto.GreTunnelDump;
+import org.openvpp.jvpp.core.dto.SwInterfaceDetails;
+import org.openvpp.jvpp.core.dto.GreTunnelDetails;
+import org.openvpp.jvpp.core.dto.GreTunnelDetailsReplyDump;
+import org.openvpp.jvpp.core.dto.GreTunnelDump;
public class GreCustomizerTest extends ReaderCustomizerTest<Gre, GreBuilder> {
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
import org.openvpp.jvpp.VppInvocationException;
-import org.openvpp.jvpp.dto.SwInterfaceDetails;
-import org.openvpp.jvpp.dto.SwInterfaceDump;
+import org.openvpp.jvpp.core.dto.SwInterfaceDetails;
+import org.openvpp.jvpp.core.dto.SwInterfaceDump;
public class InterfaceCustomizerTest extends
ListReaderCustomizerTest<Interface, InterfaceKey, InterfaceBuilder> {
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
import org.openvpp.jvpp.VppInvocationException;
-import org.openvpp.jvpp.dto.BridgeDomainDetails;
-import org.openvpp.jvpp.dto.BridgeDomainDetailsReplyDump;
-import org.openvpp.jvpp.dto.BridgeDomainDump;
-import org.openvpp.jvpp.dto.BridgeDomainSwIfDetails;
-import org.openvpp.jvpp.dto.SwInterfaceDetails;
+import org.openvpp.jvpp.core.dto.BridgeDomainDetails;
+import org.openvpp.jvpp.core.dto.BridgeDomainDetailsReplyDump;
+import org.openvpp.jvpp.core.dto.BridgeDomainDump;
+import org.openvpp.jvpp.core.dto.BridgeDomainSwIfDetails;
+import org.openvpp.jvpp.core.dto.SwInterfaceDetails;
public class L2CustomizerTest extends ReaderCustomizerTest<L2, L2Builder> {
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.tag.rewrite.PushTags;
import org.opendaylight.yangtools.yang.binding.ChildOf;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.dto.SwInterfaceDetails;
+import org.openvpp.jvpp.core.dto.SwInterfaceDetails;
public class RewriteCustomizerTest extends ReaderCustomizerTest<Rewrite, RewriteBuilder> {
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.sub._interface.base.attributes.Match;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.sub._interface.base.attributes.Tags;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.dto.SwInterfaceDetails;
+import org.openvpp.jvpp.core.dto.SwInterfaceDetails;
public class SubInterfaceCustomizerTest extends
ListReaderCustomizerTest<SubInterface, SubInterfaceKey, SubInterfaceBuilder> {
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces.state._interface.VxlanBuilder;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppInvocationException;
-import org.openvpp.jvpp.dto.SwInterfaceDetails;
-import org.openvpp.jvpp.dto.VxlanTunnelDetails;
-import org.openvpp.jvpp.dto.VxlanTunnelDetailsReplyDump;
-import org.openvpp.jvpp.dto.VxlanTunnelDump;
+import org.openvpp.jvpp.core.dto.SwInterfaceDetails;
+import org.openvpp.jvpp.core.dto.VxlanTunnelDetails;
+import org.openvpp.jvpp.core.dto.VxlanTunnelDetailsReplyDump;
+import org.openvpp.jvpp.core.dto.VxlanTunnelDump;
public class VxlanCustomizerTest extends ReaderCustomizerTest<Vxlan, VxlanBuilder> {
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces.state._interface.VxlanGpeBuilder;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.SwInterfaceDetails;
-import org.openvpp.jvpp.dto.VxlanGpeTunnelDetails;
-import org.openvpp.jvpp.dto.VxlanGpeTunnelDetailsReplyDump;
-import org.openvpp.jvpp.dto.VxlanGpeTunnelDump;
+import org.openvpp.jvpp.core.dto.SwInterfaceDetails;
+import org.openvpp.jvpp.core.dto.VxlanGpeTunnelDetails;
+import org.openvpp.jvpp.core.dto.VxlanGpeTunnelDetailsReplyDump;
+import org.openvpp.jvpp.core.dto.VxlanGpeTunnelDump;
public class VxlanGpeCustomizerTest extends ReaderCustomizerTest<VxlanGpe, VxlanGpeBuilder> {
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ip.rev140616.interfaces.state._interface.ipv4.AddressKey;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
-import org.openvpp.jvpp.dto.IpAddressDetails;
-import org.openvpp.jvpp.dto.IpAddressDetailsReplyDump;
-import org.openvpp.jvpp.dto.IpAddressDump;
+import org.openvpp.jvpp.core.dto.IpAddressDetails;
+import org.openvpp.jvpp.core.dto.IpAddressDetailsReplyDump;
+import org.openvpp.jvpp.core.dto.IpAddressDump;
public class Ipv4AddressCustomizerTest extends ListReaderCustomizerTest<Address, AddressKey, AddressBuilder> {
import com.google.common.base.Optional;
import com.google.common.collect.Lists;
import io.fd.honeycomb.notification.NotificationCollector;
+import io.fd.honeycomb.translate.MappingContext;
import io.fd.honeycomb.translate.v3po.test.ContextTestUtils;
import io.fd.honeycomb.translate.v3po.util.NamingContext;
-import io.fd.honeycomb.translate.MappingContext;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import org.junit.Before;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.InterfaceStateChange;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.InterfaceStatus;
import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
-import org.openvpp.jvpp.callback.SwInterfaceSetFlagsNotificationCallback;
-import org.openvpp.jvpp.dto.SwInterfaceSetFlagsNotification;
-import org.openvpp.jvpp.dto.WantInterfaceEvents;
-import org.openvpp.jvpp.dto.WantInterfaceEventsReply;
-import org.openvpp.jvpp.future.FutureJVpp;
-import org.openvpp.jvpp.notification.NotificationRegistry;
+import org.openvpp.jvpp.core.callback.SwInterfaceSetFlagsNotificationCallback;
+import org.openvpp.jvpp.core.dto.SwInterfaceSetFlagsNotification;
+import org.openvpp.jvpp.core.dto.WantInterfaceEvents;
+import org.openvpp.jvpp.core.dto.WantInterfaceEventsReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
+import org.openvpp.jvpp.core.notification.CoreNotificationRegistry;
public class InterfaceChangeNotificationProducerTest {
@Mock
- private FutureJVpp jVpp;
+ private FutureJVppCore jVpp;
private NamingContext namingContext = new NamingContext("test", "test-instance");
@Mock
private MappingContext mappingContext;
@Mock
private NotificationCollector collector;
@Mock
- private NotificationRegistry notificationRegistry;
+ private CoreNotificationRegistry notificationRegistry;
@Mock
private AutoCloseable notificationListenerReg;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.SwInterfaceDetails;
-import org.openvpp.jvpp.dto.SwInterfaceDetailsReplyDump;
-import org.openvpp.jvpp.dto.SwInterfaceDump;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.SwInterfaceDetails;
+import org.openvpp.jvpp.core.dto.SwInterfaceDetailsReplyDump;
+import org.openvpp.jvpp.core.dto.SwInterfaceDump;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public final class InterfaceTestUtils {
private InterfaceTestUtils() {
throw new UnsupportedOperationException("Utility class cannot be instantiated");
}
- public static void whenSwInterfaceDumpThenReturn(final FutureJVpp api, final List<SwInterfaceDetails> interfaceList)
+ public static void whenSwInterfaceDumpThenReturn(final FutureJVppCore api, final List<SwInterfaceDetails> interfaceList)
throws ExecutionException, InterruptedException, VppBaseCallException, TimeoutException {
final CompletionStage<SwInterfaceDetailsReplyDump> replyCS = mock(CompletionStage.class);
final CompletableFuture<SwInterfaceDetailsReplyDump> replyFuture = mock(CompletableFuture.class);
import org.opendaylight.yangtools.concepts.Builder;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
/**
* Generic test for classes implementing {@link ReaderCustomizer} interface.
public abstract class ReaderCustomizerTest<D extends DataObject, B extends Builder<D>> {
@Mock
- protected FutureJVpp api;
+ protected FutureJVppCore api;
protected ModificationCache cache;
@Mock
protected ReadContext ctx;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
import org.openvpp.jvpp.VppInvocationException;
-import org.openvpp.jvpp.dto.BdIpMacAddDel;
-import org.openvpp.jvpp.dto.BdIpMacAddDelReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.BdIpMacAddDel;
+import org.openvpp.jvpp.core.dto.BdIpMacAddDelReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public class ArpTerminationTableEntryCustomizerTest {
private static final String BD_CTX_NAME = "bd-test-instance";
private static final int IFACE_ID = 123;
@Mock
- private FutureJVpp api;
+ private FutureJVppCore api;
@Mock
private WriteContext writeContext;
@Mock
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.vpp.bridge.domains.BridgeDomain;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.vpp.bridge.domains.BridgeDomainBuilder;
import org.openvpp.jvpp.VppInvocationException;
-import org.openvpp.jvpp.dto.BridgeDomainAddDel;
-import org.openvpp.jvpp.dto.BridgeDomainAddDelReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.BridgeDomainAddDel;
+import org.openvpp.jvpp.core.dto.BridgeDomainAddDelReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public class BridgeDomainCustomizerTest {
private static final byte ZERO = 0;
@Mock
- private FutureJVpp api;
+ private FutureJVppCore api;
@Mock
private WriteContext ctx;
@Mock
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
import org.openvpp.jvpp.VppInvocationException;
-import org.openvpp.jvpp.dto.L2FibAddDel;
-import org.openvpp.jvpp.dto.L2FibAddDelReply;
-import org.openvpp.jvpp.dto.L2InterfaceVlanTagRewriteReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.L2FibAddDel;
+import org.openvpp.jvpp.core.dto.L2FibAddDelReply;
+import org.openvpp.jvpp.core.dto.L2InterfaceVlanTagRewriteReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public class L2FibEntryCustomizerTest {
private static final String BD_CTX_NAME = "bd-test-instance";
private static final int IFACE_ID = 123;
@Mock
- private FutureJVpp api;
+ private FutureJVppCore api;
@Mock
private WriteContext writeContext;
@Mock
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.classifier.rev150603.vpp.classifier.state.ClassifyTableBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.classifier.rev150603.vpp.classifier.state.ClassifyTableKey;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.dto.ClassifySessionDetails;
-import org.openvpp.jvpp.dto.ClassifySessionDetailsReplyDump;
-import org.openvpp.jvpp.dto.ClassifySessionDump;
+import org.openvpp.jvpp.core.dto.ClassifySessionDetails;
+import org.openvpp.jvpp.core.dto.ClassifySessionDetailsReplyDump;
+import org.openvpp.jvpp.core.dto.ClassifySessionDump;
public class ClassifySessionReaderTest extends
ListReaderCustomizerTest<ClassifySession, ClassifySessionKey, ClassifySessionBuilder> {
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.classifier.rev150603.vpp.classifier.ClassifyTableKey;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.ClassifyAddDelSession;
-import org.openvpp.jvpp.dto.ClassifyAddDelSessionReply;
-import org.openvpp.jvpp.dto.L2InterfaceVlanTagRewriteReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.ClassifyAddDelSession;
+import org.openvpp.jvpp.core.dto.ClassifyAddDelSessionReply;
+import org.openvpp.jvpp.core.dto.L2InterfaceVlanTagRewriteReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public class ClassifySessionWriterTest {
private static final String TABLE_NAME = "table123";
@Mock
- private FutureJVpp api;
+ private FutureJVppCore api;
@Mock
private WriteContext writeContext;
@Mock
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.classifier.rev150603.vpp.classifier.state.ClassifyTableKey;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
-import org.openvpp.jvpp.dto.ClassifyTableIds;
-import org.openvpp.jvpp.dto.ClassifyTableIdsReply;
-import org.openvpp.jvpp.dto.ClassifyTableInfo;
-import org.openvpp.jvpp.dto.ClassifyTableInfoReply;
+import org.openvpp.jvpp.core.dto.ClassifyTableIds;
+import org.openvpp.jvpp.core.dto.ClassifyTableIdsReply;
+import org.openvpp.jvpp.core.dto.ClassifyTableInfo;
+import org.openvpp.jvpp.core.dto.ClassifyTableInfoReply;
public class ClassifyTableReaderTest extends
ListReaderCustomizerTest<ClassifyTable, ClassifyTableKey, ClassifyTableBuilder> {
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.classifier.rev150603.vpp.classifier.ClassifyTableKey;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppBaseCallException;
-import org.openvpp.jvpp.dto.ClassifyAddDelTable;
-import org.openvpp.jvpp.dto.ClassifyAddDelTableReply;
-import org.openvpp.jvpp.dto.L2InterfaceVlanTagRewriteReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.ClassifyAddDelTable;
+import org.openvpp.jvpp.core.dto.ClassifyAddDelTableReply;
+import org.openvpp.jvpp.core.dto.L2InterfaceVlanTagRewriteReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public class ClassifyTableWriterTest {
private static final String TABLE_NAME = "table123";
@Mock
- private FutureJVpp api;
+ private FutureJVppCore api;
@Mock
private WriteContext writeContext;
@Mock
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.vpp.state.bridge.domains.BridgeDomainKey;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppInvocationException;
-import org.openvpp.jvpp.dto.L2FibTableDump;
-import org.openvpp.jvpp.dto.L2FibTableEntry;
-import org.openvpp.jvpp.dto.L2FibTableEntryReplyDump;
+import org.openvpp.jvpp.core.dto.L2FibTableDump;
+import org.openvpp.jvpp.core.dto.L2FibTableEntry;
+import org.openvpp.jvpp.core.dto.L2FibTableEntryReplyDump;
public class L2FibEntryCustomizerTest extends ListReaderCustomizerTest<L2FibEntry, L2FibEntryKey, L2FibEntryBuilder> {
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.vpp.state.Version;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.vpp.state.VersionBuilder;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.dto.ShowVersion;
-import org.openvpp.jvpp.dto.ShowVersionReply;
+import org.openvpp.jvpp.core.dto.ShowVersion;
+import org.openvpp.jvpp.core.dto.ShowVersionReply;
public class VersionCustomizerTest extends ReaderCustomizerTest<Version, VersionBuilder> {
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.openvpp.jvpp.VppInvocationException;
-import org.openvpp.jvpp.dto.BridgeDomainDetails;
-import org.openvpp.jvpp.dto.BridgeDomainDetailsReplyDump;
-import org.openvpp.jvpp.dto.BridgeDomainDump;
-import org.openvpp.jvpp.dto.L2FibTableDump;
-import org.openvpp.jvpp.dto.L2FibTableEntry;
-import org.openvpp.jvpp.dto.L2FibTableEntryReplyDump;
-import org.openvpp.jvpp.dto.ShowVersion;
-import org.openvpp.jvpp.dto.ShowVersionReply;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.dto.BridgeDomainDetails;
+import org.openvpp.jvpp.core.dto.BridgeDomainDetailsReplyDump;
+import org.openvpp.jvpp.core.dto.BridgeDomainDump;
+import org.openvpp.jvpp.core.dto.L2FibTableDump;
+import org.openvpp.jvpp.core.dto.L2FibTableEntry;
+import org.openvpp.jvpp.core.dto.L2FibTableEntryReplyDump;
+import org.openvpp.jvpp.core.dto.ShowVersion;
+import org.openvpp.jvpp.core.dto.ShowVersionReply;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
public class VppStateTest {
@Mock
- private FutureJVpp api;
+ private FutureJVppCore api;
@Mock
private ReadContext ctx;
@Mock
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.vpp.state.bridge.domains.BridgeDomainBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.vpp.state.bridge.domains.BridgeDomainKey;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
final class VppStateTestUtils {
/**
* Create root VppState reader with all its children wired.
*/
- static ReaderRegistry getVppStateReader(@Nonnull final FutureJVpp jVpp,
+ static ReaderRegistry getVppStateReader(@Nonnull final FutureJVppCore jVpp,
@Nonnull final NamingContext bdContext) {
final CompositeReaderRegistryBuilder registry = new CompositeReaderRegistryBuilder();
}
static GenericListReader<BridgeDomain, BridgeDomainKey, BridgeDomainBuilder> getBridgeDomainReader(
- final @Nonnull FutureJVpp jVpp, final @Nonnull NamingContext bdContext) {
+ final @Nonnull FutureJVppCore jVpp, final @Nonnull NamingContext bdContext) {
final InstanceIdentifier<BridgeDomain> bridgeDomainId = bridgeDomainsId.child(BridgeDomain.class);
return new GenericListReader<>(bridgeDomainId, new BridgeDomainCustomizer(jVpp, bdContext));
}
</dependency>
<dependency>
<groupId>io.fd.vpp</groupId>
- <artifactId>jvpp</artifactId>
+ <artifactId>jvpp-registry</artifactId>
+ <version>16.09-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>io.fd.vpp</groupId>
+ <artifactId>jvpp-core</artifactId>
<version>16.09-SNAPSHOT</version>
</dependency>
<dependency>
--- /dev/null
+/*
+ * Copyright (c) 2016 Cisco and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.fd.honeycomb.vpp.distro
+
+import com.google.inject.Inject
+import groovy.transform.ToString
+import groovy.util.logging.Slf4j
+import io.fd.honeycomb.infra.distro.ProviderTrait
+import org.openvpp.jvpp.JVppRegistry
+import org.openvpp.jvpp.core.JVppCoreImpl
+import org.openvpp.jvpp.core.future.FutureJVppCore
+import org.openvpp.jvpp.core.future.FutureJVppCoreFacade
+
+/**
+ * Provides future API for jvpp-core plugin. Must be a singleton due to shutdown hook usage.
+ * Registers shutdown hook to free plugin's resources on shutdown.
+ */
+@Slf4j
+@ToString
+class JVppCoreProvider extends ProviderTrait<FutureJVppCore> {
+
+ @Inject
+ JVppRegistry registry
+
+ def create() {
+ try {
+ def jVpp = new JVppCoreImpl()
+ // Free jvpp-core plugin's resources on shutdown
+ Runtime.addShutdownHook {
+ log.info("Unloading jvpp-core plugin")
+ jVpp.close()
+ log.info("Successfully unloaded jvpp-core plugin")
+ }
+ log.info("Successfully loaded jvpp-core plugin")
+ new FutureJVppCoreFacade(registry, jVpp)
+ } catch (IOException e) {
+ throw new IllegalStateException("Unable to open VPP management connection", e)
+ }
+ }
+}
import groovy.transform.ToString
import groovy.util.logging.Slf4j
import io.fd.honeycomb.infra.distro.ProviderTrait
-import org.openvpp.jvpp.JVppImpl
-import org.openvpp.jvpp.VppJNIConnection
-import org.openvpp.jvpp.future.FutureJVpp
-import org.openvpp.jvpp.future.FutureJVppFacade
+import org.openvpp.jvpp.JVppRegistry
+import org.openvpp.jvpp.JVppRegistryImpl
/**
- * This must be a singleton due to shutdown hook usage.
+ * Provides JVppRegistry. Must be a singleton due to shutdown hook usage.
+ * Registers shutdown hook to disconnect from VPP.
*/
@Slf4j
@ToString
-class JVppProvider extends ProviderTrait<FutureJVpp> {
+class JVppRegistryProvider extends ProviderTrait<JVppRegistry> {
@Inject
VppConfigAttributes config
def create() {
try {
- def connection = new VppJNIConnection(config.jvppConnectionName)
- def jVpp = new JVppImpl(connection)
+ def registry = new JVppRegistryImpl(config.jvppConnectionName);
// Closing JVpp connection with shutdown hook to erase the connection from VPP so HC will be able
// to connect next time. If JVM is force closed, this will not be executed and VPP connection
// with name from config will stay open and prevent next startup of HC to success
Runtime.addShutdownHook {
log.info("Disconnecting from VPP")
- jVpp.close()
- connection.close()
+ registry.close()
log.info("Successfully disconnected from VPP as {}", config.jvppConnectionName)
}
log.info("JVpp connection opened successfully as: {}", config.jvppConnectionName)
- new FutureJVppFacade(jVpp)
+ registry
} catch (IOException e) {
throw new IllegalStateException("Unable to open VPP management connection", e)
}
import groovy.util.logging.Slf4j
import io.fd.honeycomb.translate.read.ReaderFactory
import net.jmob.guice.conf.core.ConfigurationModule
-import org.openvpp.jvpp.future.FutureJVpp
+import org.openvpp.jvpp.JVppRegistry
+import org.openvpp.jvpp.core.future.FutureJVppCore
@Slf4j
public final class VppCommonModule extends AbstractModule {
// Inject non-dependency configuration
requestInjection(VppConfigAttributes)
- bind(FutureJVpp).toProvider(JVppProvider).in(Singleton)
+ bind(JVppRegistry).toProvider(JVppRegistryProvider).in(Singleton)
+ bind(FutureJVppCore).toProvider(JVppCoreProvider).in(Singleton)
// Naming contexts reader exposing context storage over REST/HONEYCOMB_NETCONF
Multibinder.newSetBinder(binder(), ReaderFactory.class).with {
</dependency>
<dependency>
<groupId>io.fd.vpp</groupId>
- <artifactId>jvpp</artifactId>
+ <artifactId>jvpp-registry</artifactId>
+ <version>16.09-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>io.fd.vpp</groupId>
+ <artifactId>jvpp-core</artifactId>
<version>16.09-SNAPSHOT</version>
</dependency>
<dependency>
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
/**
* Validation WriteCustomizers for Interface subnodes.
public abstract class AbstractInterfaceTypeCustomizer<D extends DataObject>
extends FutureJVppCustomizer implements WriterCustomizer<D> {
- protected AbstractInterfaceTypeCustomizer(final FutureJVpp futureJvpp) {
- super(futureJvpp);
+ protected AbstractInterfaceTypeCustomizer(final FutureJVppCore futureJVppCore) {
+ super(futureJVppCore);
}
private void checkProperInterfaceType(@Nonnull final WriteContext writeContext,
import com.google.common.annotations.Beta;
import com.google.common.base.Preconditions;
-import org.openvpp.jvpp.future.FutureJVpp;
+import org.openvpp.jvpp.core.future.FutureJVppCore;
import javax.annotation.Nonnull;
@Beta
public abstract class FutureJVppCustomizer {
- private final FutureJVpp futureJvpp;
+ private final FutureJVppCore futureJVppCore;
- public FutureJVppCustomizer(@Nonnull final FutureJVpp futureJvpp) {
- this.futureJvpp = Preconditions.checkNotNull(futureJvpp, "futureJvpp should not be null");
+ public FutureJVppCustomizer(@Nonnull final FutureJVppCore futureJVppCore) {
+ this.futureJVppCore = Preconditions.checkNotNull(futureJVppCore, "futureJVppCore should not be null");
}
/**
*
* @return vppApi reference
*/
- public FutureJVpp getFutureJVpp() {
- return futureJvpp;
+ public FutureJVppCore getFutureJVpp() {
+ return futureJVppCore;
}
}
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
-import org.openvpp.jvpp.dto.IpDetails;
-import org.openvpp.jvpp.dto.IpDetailsReplyDump;
+import org.openvpp.jvpp.core.dto.IpDetails;
+import org.openvpp.jvpp.core.dto.IpDetailsReplyDump;
public class DumpCacheManagerTest {