summaryrefslogtreecommitdiffstats
path: root/ioam/impl/src/main/java/io/fd/hc2vpp/vppioam/impl/config/IoamPotWriterCustomizer.java
diff options
context:
space:
mode:
Diffstat (limited to 'ioam/impl/src/main/java/io/fd/hc2vpp/vppioam/impl/config/IoamPotWriterCustomizer.java')
-rw-r--r--ioam/impl/src/main/java/io/fd/hc2vpp/vppioam/impl/config/IoamPotWriterCustomizer.java13
1 files changed, 11 insertions, 2 deletions
diff --git a/ioam/impl/src/main/java/io/fd/hc2vpp/vppioam/impl/config/IoamPotWriterCustomizer.java b/ioam/impl/src/main/java/io/fd/hc2vpp/vppioam/impl/config/IoamPotWriterCustomizer.java
index 6d80493a3..c5868decf 100644
--- a/ioam/impl/src/main/java/io/fd/hc2vpp/vppioam/impl/config/IoamPotWriterCustomizer.java
+++ b/ioam/impl/src/main/java/io/fd/hc2vpp/vppioam/impl/config/IoamPotWriterCustomizer.java
@@ -26,6 +26,7 @@ import io.fd.vpp.jvpp.ioampot.dto.PotProfileAddReply;
import io.fd.vpp.jvpp.ioampot.dto.PotProfileDel;
import io.fd.vpp.jvpp.ioampot.dto.PotProfileDelReply;
import io.fd.vpp.jvpp.ioampot.future.FutureJVppIoampot;
+import java.math.BigInteger;
import java.nio.charset.StandardCharsets;
import javax.annotation.Nonnull;
import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.ioam.sb.pot.rev160615.pot.profile.PotProfileList;
@@ -125,11 +126,10 @@ public class IoamPotWriterCustomizer extends FutureJVppIoampotCustomizer impleme
PotProfileAdd request = new PotProfileAdd();
request.id = potProfileList.getIndex().getValue().byteValue();
request.validator = (byte) (potProfileList.isValidator() ? 1 : 0);
- request.secretKey = 1;
request.secretShare = potProfileList.getSecretShare().longValue();
request.prime = potProfileList.getPrimeNumber().longValue();
request.secretKey = potProfileList.getValidatorKey().longValue();
- request.maxBits = 64;
+ request.maxBits = getMaxBitsfromBitmask(potProfileList.getBitmask());
request.lpc = potProfileList.getLpc().longValue();
request.polynomialPublic = potProfileList.getPublicPolynomial().longValue();
request.listNameLen = (byte) name.getBytes(StandardCharsets.UTF_8).length;
@@ -146,4 +146,13 @@ public class IoamPotWriterCustomizer extends FutureJVppIoampotCustomizer impleme
return getReplyForWrite(getFutureJVppIoampot().potProfileDel(request).toCompletableFuture(),id);
}
+
+ static byte getMaxBitsfromBitmask(BigInteger bitmask){
+ byte numOfBits = 0;
+ while ((bitmask.and(BigInteger.ONE)).equals(BigInteger.ONE)){
+ bitmask=bitmask.shiftRight(1);
+ numOfBits++;
+ }
+ return numOfBits;
+ }
}