From ee5597ccd4091fee6a1586849d61eb657a99225d Mon Sep 17 00:00:00 2001 From: Michal Cmarada Date: Mon, 11 Feb 2019 09:35:12 +0100 Subject: add support for Enumsets VPP API introduced flags which are by JVPP translated to EnumSets. This fixes several cases where flags are used. Change-Id: Ie52cba0c3a36fa6de2bda91c4688277471a67243 Signed-off-by: Michal Cmarada --- .../ipsec/write/IpsecSadEntryCustomizer.java | 12 +++------ .../ipsec/read/IpsecStateCustomizerTest.java | 5 ++-- .../ipsec/write/IpsecSadEntryCustomizerTest.java | 31 ++++++++++++++++++---- 3 files changed, 33 insertions(+), 15 deletions(-) (limited to 'ipsec/ipsec-impl') diff --git a/ipsec/ipsec-impl/src/main/java/io/fd/hc2vpp/ipsec/write/IpsecSadEntryCustomizer.java b/ipsec/ipsec-impl/src/main/java/io/fd/hc2vpp/ipsec/write/IpsecSadEntryCustomizer.java index 1822b024f..d5b41cbe1 100644 --- a/ipsec/ipsec-impl/src/main/java/io/fd/hc2vpp/ipsec/write/IpsecSadEntryCustomizer.java +++ b/ipsec/ipsec-impl/src/main/java/io/fd/hc2vpp/ipsec/write/IpsecSadEntryCustomizer.java @@ -103,21 +103,17 @@ public class IpsecSadEntryCustomizer extends FutureJVppCustomizer if (dataAfter.getSpi() != null) { request.entry.spi = dataAfter.getSpi().intValue(); } - request.entry.flags = IpsecSadFlags.IPSEC_API_SAD_FLAG_NONE; + request.entry.flags = new IpsecSadFlags(); if (dataAfter.getAntiReplayWindow() != null && dataAfter.getAntiReplayWindow() > 0) { - request.entry.flags = IpsecSadFlags.IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY; + request.entry.flags.add(IpsecSadFlags.IpsecSadFlagsOptions.IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY); } - if (dataAfter.getSaMode() != null && dataAfter.getSaMode().equals(IpsecMode.Tunnel)) { - //TODO check if flags can be set at once if (dataAfter.getSourceAddress() != null && dataAfter.getSourceAddress().getIpAddress() instanceof Ipv4Address) { - request.entry.flags = IpsecSadFlags - .forValue((request.entry.flags.value + IpsecSadFlags.IPSEC_API_SAD_FLAG_IS_TUNNEL.value)); + request.entry.flags.add(IpsecSadFlags.IpsecSadFlagsOptions.IPSEC_API_SAD_FLAG_IS_TUNNEL); } else if (dataAfter.getSourceAddress() != null && dataAfter.getSourceAddress().getIpAddress() instanceof Ipv6Address) { - request.entry.flags = IpsecSadFlags - .forValue((request.entry.flags.value + IpsecSadFlags.IPSEC_API_SAD_FLAG_IS_TUNNEL_V6.value)); + request.entry.flags.add(IpsecSadFlags.IpsecSadFlagsOptions.IPSEC_API_SAD_FLAG_IS_TUNNEL_V6); } } request.isAdd = adding diff --git a/ipsec/ipsec-impl/src/test/java/io/fd/hc2vpp/ipsec/read/IpsecStateCustomizerTest.java b/ipsec/ipsec-impl/src/test/java/io/fd/hc2vpp/ipsec/read/IpsecStateCustomizerTest.java index 46ebd89d8..53cbb4b3e 100644 --- a/ipsec/ipsec-impl/src/test/java/io/fd/hc2vpp/ipsec/read/IpsecStateCustomizerTest.java +++ b/ipsec/ipsec-impl/src/test/java/io/fd/hc2vpp/ipsec/read/IpsecStateCustomizerTest.java @@ -87,8 +87,9 @@ public class IpsecStateCustomizerTest extends ReaderCustomizerTest