import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.gpe.rev170801._native.forward.paths.tables.NativeForwardPathsTable;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.gpe.rev170801._native.forward.paths.tables.NativeForwardPathsTableKey;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* Uses api to create gpe interfaces, which creates fib table as by-product.
implements ListWriterCustomizer<NativeForwardPathsTable, NativeForwardPathsTableKey>, ByteDataTranslator,
JvppReplyConsumer {
- private static final Logger LOG = LoggerFactory.getLogger(NativeForwardPathsTableCustomizer.class);
-
public NativeForwardPathsTableCustomizer(@Nonnull final FutureJVppCore futureJVppCore) {
super(futureJVppCore);
}
NAT_CFG_ID.child(NatInstances.class).child(NatInstance.class);
private static final InstanceIdentifier<MappingEntry> MAP_ENTRY_ID =
NAT_INSTANCE_ID.child(MappingTable.class).child(MappingEntry.class);
- private static final InstanceIdentifier<Nat64Prefixes> NAT64_PREFIXES =
- NAT_INSTANCE_ID.child(Nat64Prefixes.class);
private final FutureJVppNatFacade jvppNat;
private final MappingEntryContext mappingEntryContext;
final List<Md2Data> md2Datas = entry.getAugmentation(NshMdType2Augment.class).getMd2Data();
final byte md2_len = (byte) (entry.getLength() * 4 - 8);
byte cur_len = 0;
- byte option_len = 0;
+ byte option_len;
LOG.debug("wr: md2_len={}", md2_len);
request.tlv = new byte[md2_len];
final NshMdType2StateAugmentBuilder augmentBuilder = new NshMdType2StateAugmentBuilder();
final byte md2_len = (nshEntryDetails.tlvLength);
byte cur_len = 0;
- byte option_len = 0;
+ byte option_len;
LOG.debug("rd: md2_len={}", md2_len);
List<Md2Data> md2Datas = new ArrayList<>();
// provides utility methods to consume results of jvpp api calls
JvppReplyConsumer {
- // JVpp core. This is the Java API for VPP's core API.
- private final FutureJVppCore jVppCore;
// Naming context for interfaces
// Honeycomb provides a "context" storage for plugins. This storage is used for storing metadata required during
// data translation (just like in this plugin). An example of such metadata would be interface identifier. In Honeycomb
private DumpCacheManager<VxlanTunnelDetailsReplyDump, Integer> dumpManager;
public VxlanReadCustomizer(final FutureJVppCore jVppCore, final NamingContext vxlanNamingContext) {
- this.jVppCore = jVppCore;
this.vxlanNamingContext = vxlanNamingContext;
this.dumpManager = new DumpCacheManager.DumpCacheManagerBuilder<VxlanTunnelDetailsReplyDump, Integer>()
vxlanAddDelTunnel.dstAddress = ipAddressToArray(isIpv6, dataBefore.getDst());
// There are other input parameters that are not exposed by our YANG model, default values will be used
- final VxlanAddDelTunnelReply replyForWrite = getReplyForWrite(jvppCore.vxlanAddDelTunnel(vxlanAddDelTunnel).toCompletableFuture(), id);
+ getReplyForWrite(jvppCore.vxlanAddDelTunnel(vxlanAddDelTunnel).toCompletableFuture(), id);
// It's important to remove the mapping from context
vxlanTunnelNamingContext.removeName(dataBefore.getId(), writeContext.getMappingContext());
}
@Override
public void init(@Nonnull final ModifiableReaderRegistryBuilder registry) {
- InstanceIdentifier<Policer> IID = InstanceIdentifier.create(Policer.class);
registry.addStructuralReader(POLICER_IFC_ID, PolicerInterfaceStateAugmentationBuilder.class);
registry.add(
new GenericReader<>(POLICER_IID, new InterfacePolicerCustomizer(vppApi, ifcContext, classifyTableContext)));