summaryrefslogtreecommitdiffstats
path: root/extras/japi/java/jvpp-acl
diff options
context:
space:
mode:
Diffstat (limited to 'extras/japi/java/jvpp-acl')
-rw-r--r--extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/AclExpectedDumpData.java135
-rw-r--r--extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/AclTestData.java101
-rw-r--r--extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/AclTestRequests.java159
-rw-r--r--extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/FutureApiExample.java68
-rw-r--r--extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/Readme.txt4
-rw-r--r--extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/test/CallbackApiTest.java33
-rw-r--r--extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/test/FutureApiTest.java62
-rw-r--r--extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/test/Readme.txt4
-rw-r--r--extras/japi/java/jvpp-acl/jvpp_acl.c107
-rw-r--r--extras/japi/java/jvpp-acl/jvpp_acl.h42
10 files changed, 0 insertions, 715 deletions
diff --git a/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/AclExpectedDumpData.java b/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/AclExpectedDumpData.java
deleted file mode 100644
index 4806052f5b7..00000000000
--- a/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/AclExpectedDumpData.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * 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.vpp.jvpp.acl.examples;
-
-
-import static io.fd.vpp.jvpp.acl.examples.AclTestData.FIRST_RULE_ADDRESS_2_AS_ARRAY;
-import static io.fd.vpp.jvpp.acl.examples.AclTestData.FIRST_RULE_ADDRESS_AS_ARRAY;
-import static io.fd.vpp.jvpp.acl.examples.AclTestData.FIRST_RULE_DST_ICMP_TYPE_END;
-import static io.fd.vpp.jvpp.acl.examples.AclTestData.FIRST_RULE_DST_ICMP_TYPE_START;
-import static io.fd.vpp.jvpp.acl.examples.AclTestData.FIRST_RULE_MAC;
-import static io.fd.vpp.jvpp.acl.examples.AclTestData.FIRST_RULE_MAC_MASK;
-import static io.fd.vpp.jvpp.acl.examples.AclTestData.FIRST_RULE_PREFIX;
-import static io.fd.vpp.jvpp.acl.examples.AclTestData.FIRST_RULE_PREFIX_2;
-import static io.fd.vpp.jvpp.acl.examples.AclTestData.FIRST_RULE_SRC_ICMP_TYPE_END;
-import static io.fd.vpp.jvpp.acl.examples.AclTestData.FIRST_RULE_SRC_ICMP_TYPE_START;
-import static io.fd.vpp.jvpp.acl.examples.AclTestData.ICMP_PROTOCOL;
-import static io.fd.vpp.jvpp.acl.examples.AclTestData.SECOND_RULE_ADDRESS_2_AS_ARRAY;
-import static io.fd.vpp.jvpp.acl.examples.AclTestData.SECOND_RULE_ADDRESS_AS_ARRAY;
-import static io.fd.vpp.jvpp.acl.examples.AclTestData.SECOND_RULE_DST_PORT_RANGE_END;
-import static io.fd.vpp.jvpp.acl.examples.AclTestData.SECOND_RULE_DST_PORT_RANGE_START;
-import static io.fd.vpp.jvpp.acl.examples.AclTestData.SECOND_RULE_MAC;
-import static io.fd.vpp.jvpp.acl.examples.AclTestData.SECOND_RULE_MAC_MASK;
-import static io.fd.vpp.jvpp.acl.examples.AclTestData.SECOND_RULE_PREFIX;
-import static io.fd.vpp.jvpp.acl.examples.AclTestData.SECOND_RULE_PREFIX_2;
-import static io.fd.vpp.jvpp.acl.examples.AclTestData.SECOND_RULE_SRC_PORT_RANGE_END;
-import static io.fd.vpp.jvpp.acl.examples.AclTestData.SECOND_RULE_SRC_PORT_RANGE_START;
-import static io.fd.vpp.jvpp.acl.examples.AclTestData.UDP_PROTOCOL;
-
-import io.fd.vpp.jvpp.acl.dto.AclDetails;
-import io.fd.vpp.jvpp.acl.dto.AclInterfaceListDetails;
-import io.fd.vpp.jvpp.acl.dto.MacipAclDetails;
-import io.fd.vpp.jvpp.acl.types.AclRule;
-import io.fd.vpp.jvpp.acl.types.MacipAclRule;
-import java.util.Arrays;
-
-class AclExpectedDumpData {
-
- static void verifyMacIpDump(final MacipAclDetails macipAclDetails) {
- // asserting data create by previous call
- assertEquals(0, macipAclDetails.aclIndex);
- assertEquals(2, macipAclDetails.count);
-
- final MacipAclRule currentIpv4Rule = macipAclDetails.r[0];
- final MacipAclRule currentIpv6Rule = macipAclDetails.r[1];
-
- // Comparing one property at the time to better pointer if something is wrong
- //Ipv4 rule
- assertEquals(0, currentIpv4Rule.isIpv6);
- assertEquals(1, currentIpv4Rule.isPermit);
-
- // cutting expected ipv4 to 4 bytes,vpp sends it as 16 always
- assertArrays(FIRST_RULE_ADDRESS_AS_ARRAY, Arrays.copyOfRange(currentIpv4Rule.srcIpAddr, 0, 4));
- assertEquals(FIRST_RULE_PREFIX, currentIpv4Rule.srcIpPrefixLen);
- assertArrays(FIRST_RULE_MAC, currentIpv4Rule.srcMac);
- assertArrays(FIRST_RULE_MAC_MASK, currentIpv4Rule.srcMacMask);
-
- //Ipv6 rule
- assertEquals(1, currentIpv6Rule.isIpv6);
- assertEquals(0, currentIpv6Rule.isPermit);
- assertArrays(SECOND_RULE_ADDRESS_AS_ARRAY, currentIpv6Rule.srcIpAddr);
- assertEquals(SECOND_RULE_PREFIX, currentIpv6Rule.srcIpPrefixLen);
- assertArrays(SECOND_RULE_MAC, currentIpv6Rule.srcMac);
- assertArrays(SECOND_RULE_MAC_MASK, currentIpv6Rule.srcMacMask);
- }
-
- static void verifyAclDump(final AclDetails aclDetails) {
- assertEquals(0, aclDetails.aclIndex);
- assertEquals(2, aclDetails.count);
-
- final AclRule currentIpv4Rule = aclDetails.r[0];
- final AclRule currentIpv6Rule = aclDetails.r[1];
-
- // Comparing one property at the time to better pointer if something is wrong
- //Ipv4 rule
- assertEquals(0, currentIpv4Rule.isIpv6);
- assertEquals(1, currentIpv4Rule.isPermit);
-
- // cutting expected ipv4 to 4 bytes,vpp sends it as 16 always
- assertArrays(FIRST_RULE_ADDRESS_AS_ARRAY, Arrays.copyOfRange(currentIpv4Rule.srcIpAddr, 0, 4));
- assertEquals(FIRST_RULE_PREFIX, currentIpv4Rule.srcIpPrefixLen);
- assertArrays(FIRST_RULE_ADDRESS_2_AS_ARRAY, Arrays.copyOfRange(currentIpv4Rule.dstIpAddr, 0, 4));
- assertEquals(FIRST_RULE_PREFIX_2, currentIpv4Rule.dstIpPrefixLen);
-
- assertEquals(ICMP_PROTOCOL, currentIpv4Rule.proto);
- assertEquals(FIRST_RULE_SRC_ICMP_TYPE_START, currentIpv4Rule.srcportOrIcmptypeFirst);
- assertEquals(FIRST_RULE_SRC_ICMP_TYPE_END, currentIpv4Rule.srcportOrIcmptypeLast);
- assertEquals(FIRST_RULE_DST_ICMP_TYPE_START, currentIpv4Rule.dstportOrIcmpcodeFirst);
- assertEquals(FIRST_RULE_DST_ICMP_TYPE_END, currentIpv4Rule.dstportOrIcmpcodeLast);
-
- assertArrays(SECOND_RULE_ADDRESS_AS_ARRAY, currentIpv6Rule.srcIpAddr);
- assertEquals(SECOND_RULE_PREFIX, currentIpv6Rule.srcIpPrefixLen);
- assertArrays(SECOND_RULE_ADDRESS_2_AS_ARRAY, currentIpv6Rule.dstIpAddr);
- assertEquals(SECOND_RULE_PREFIX_2, currentIpv6Rule.dstIpPrefixLen);
-
- assertEquals(UDP_PROTOCOL, currentIpv6Rule.proto);
- assertEquals(SECOND_RULE_SRC_PORT_RANGE_START, currentIpv6Rule.srcportOrIcmptypeFirst);
- assertEquals(SECOND_RULE_SRC_PORT_RANGE_END, currentIpv6Rule.srcportOrIcmptypeLast);
- assertEquals(SECOND_RULE_DST_PORT_RANGE_START, currentIpv6Rule.dstportOrIcmpcodeFirst);
- assertEquals(SECOND_RULE_DST_PORT_RANGE_END, currentIpv6Rule.dstportOrIcmpcodeLast);
- }
-
- static void verifyAclInterfaceList(final AclInterfaceListDetails aclInterfaceListDetails) {
- assertEquals(1, aclInterfaceListDetails.count);
- assertEquals(1, aclInterfaceListDetails.acls[0]);
- assertEquals(0, aclInterfaceListDetails.nInput);
- assertEquals(0, aclInterfaceListDetails.swIfIndex);
- }
-
- private static void assertArrays(final byte[] expected, final byte[] actual) {
- if (!Arrays.equals(expected, actual)) {
- throw new IllegalArgumentException(
- String.format("Expected[%s]/Actual[%s]", Arrays.toString(expected), Arrays.toString(actual)));
- }
- }
-
- private static void assertEquals(final int expected, final int actual) {
- if (expected != actual) {
- throw new IllegalArgumentException(String.format("Expected[%s]/Actual[%s]", expected, actual));
- }
- }
-}
diff --git a/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/AclTestData.java b/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/AclTestData.java
deleted file mode 100644
index 199b1b6bf2c..00000000000
--- a/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/AclTestData.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * 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.vpp.jvpp.acl.examples;
-
-
-import io.fd.vpp.jvpp.acl.types.AclRule;
-import io.fd.vpp.jvpp.acl.types.MacipAclRule;
-
-class AclTestData {
-
- static final byte[] FIRST_RULE_ADDRESS_AS_ARRAY = {-64, -88, 2, 1};
- static final byte[] FIRST_RULE_ADDRESS_2_AS_ARRAY = {-64, -88, 2, 3};
- static final byte[] SECOND_RULE_ADDRESS_AS_ARRAY =
- {32, 1, 13, -72, 10, 11, 18, -16, 0, 0, 0, 0, 0, 0, 0, 1};
- static final byte[] SECOND_RULE_ADDRESS_2_AS_ARRAY =
- {32, 1, 13, -72, 10, 11, 18, -16, 0, 0, 0, 0, 0, 0, 0, 1};
- static final byte[] FIRST_RULE_MAC = {11, 11, 11, 11, 11, 11};
- static final byte[] FIRST_RULE_MAC_MASK = {0, 0, 0, 0, 0, 0};
- static final byte[] SECOND_RULE_MAC = {11, 12, 11, 11, 12, 11};
- static final byte[] SECOND_RULE_MAC_MASK = {(byte) 170, 0, 0, 0, 0, 0};
- static final int FIRST_RULE_PREFIX = 32;
- static final int FIRST_RULE_PREFIX_2 = 24;
- static final int SECOND_RULE_PREFIX = 64;
- static final int SECOND_RULE_PREFIX_2 = 62;
- static final int FIRST_RULE_DST_ICMP_TYPE_START = 0;
- static final int FIRST_RULE_DST_ICMP_TYPE_END = 8;
- static final int FIRST_RULE_SRC_ICMP_TYPE_START = 1;
- static final int FIRST_RULE_SRC_ICMP_TYPE_END = 7;
- static final int ICMP_PROTOCOL = 1;
- static final int SECOND_RULE_DST_PORT_RANGE_START = 2000;
- static final int SECOND_RULE_DST_PORT_RANGE_END = 6000;
- static final int SECOND_RULE_SRC_PORT_RANGE_START = 400;
- static final int SECOND_RULE_SRC_PORT_RANGE_END = 2047;
- static final int UDP_PROTOCOL = 17;
-
-
- static MacipAclRule[] createMacipRules() {
- MacipAclRule ruleOne = new MacipAclRule();
- ruleOne.isIpv6 = 0;
- ruleOne.isPermit = 1;
- ruleOne.srcIpAddr = FIRST_RULE_ADDRESS_AS_ARRAY;
- ruleOne.srcIpPrefixLen = FIRST_RULE_PREFIX;
- ruleOne.srcMac = FIRST_RULE_MAC;
- ruleOne.srcMacMask = FIRST_RULE_MAC_MASK;// no mask
-
- MacipAclRule ruleTwo = new MacipAclRule();
- ruleTwo.isIpv6 = 1;
- ruleTwo.isPermit = 0;
- ruleTwo.srcIpAddr = SECOND_RULE_ADDRESS_AS_ARRAY;
- ruleTwo.srcIpPrefixLen = SECOND_RULE_PREFIX;
- ruleTwo.srcMac = SECOND_RULE_MAC;
- ruleTwo.srcMacMask = SECOND_RULE_MAC_MASK;
-
- return new MacipAclRule[]{ruleOne, ruleTwo};
- }
-
- static AclRule[] createAclRules() {
- AclRule ruleOne = new AclRule();
-
- ruleOne.isIpv6 = 0;
- ruleOne.isPermit = 1;
- ruleOne.srcIpAddr = FIRST_RULE_ADDRESS_AS_ARRAY;
- ruleOne.srcIpPrefixLen = FIRST_RULE_PREFIX;
- ruleOne.dstIpAddr = FIRST_RULE_ADDRESS_2_AS_ARRAY;
- ruleOne.dstIpPrefixLen = FIRST_RULE_PREFIX_2;
- ruleOne.dstportOrIcmpcodeFirst = FIRST_RULE_DST_ICMP_TYPE_START;
- ruleOne.dstportOrIcmpcodeLast = FIRST_RULE_DST_ICMP_TYPE_END;
- ruleOne.srcportOrIcmptypeFirst = FIRST_RULE_SRC_ICMP_TYPE_START;
- ruleOne.srcportOrIcmptypeLast = FIRST_RULE_SRC_ICMP_TYPE_END;
- ruleOne.proto = ICMP_PROTOCOL; //ICMP
-
- AclRule ruleTwo = new AclRule();
- ruleTwo.isIpv6 = 1;
- ruleTwo.isPermit = 0;
- ruleTwo.srcIpAddr = SECOND_RULE_ADDRESS_AS_ARRAY;
- ruleTwo.srcIpPrefixLen = SECOND_RULE_PREFIX;
- ruleTwo.dstIpAddr = SECOND_RULE_ADDRESS_2_AS_ARRAY;
- ruleTwo.dstIpPrefixLen = SECOND_RULE_PREFIX_2;
- ruleTwo.dstportOrIcmpcodeFirst = SECOND_RULE_DST_PORT_RANGE_START;
- ruleTwo.dstportOrIcmpcodeLast = SECOND_RULE_DST_PORT_RANGE_END;
- ruleTwo.srcportOrIcmptypeFirst = SECOND_RULE_SRC_PORT_RANGE_START;
- ruleTwo.srcportOrIcmptypeLast = SECOND_RULE_SRC_PORT_RANGE_END;
- ruleTwo.proto = UDP_PROTOCOL; //UDP
-
- return new AclRule[]{ruleOne, ruleTwo};
- }
-}
diff --git a/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/AclTestRequests.java b/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/AclTestRequests.java
deleted file mode 100644
index 149ea46ea0a..00000000000
--- a/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/AclTestRequests.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * 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.vpp.jvpp.acl.examples;
-
-import static io.fd.vpp.jvpp.acl.examples.AclTestData.createAclRules;
-import static io.fd.vpp.jvpp.acl.examples.AclTestData.createMacipRules;
-
-import io.fd.vpp.jvpp.VppInvocationException;
-import io.fd.vpp.jvpp.acl.dto.AclAddReplace;
-import io.fd.vpp.jvpp.acl.dto.AclAddReplaceReply;
-import io.fd.vpp.jvpp.acl.dto.AclDel;
-import io.fd.vpp.jvpp.acl.dto.AclDelReply;
-import io.fd.vpp.jvpp.acl.dto.AclDetailsReplyDump;
-import io.fd.vpp.jvpp.acl.dto.AclDump;
-import io.fd.vpp.jvpp.acl.dto.AclInterfaceListDetailsReplyDump;
-import io.fd.vpp.jvpp.acl.dto.AclInterfaceListDump;
-import io.fd.vpp.jvpp.acl.dto.AclInterfaceSetAclList;
-import io.fd.vpp.jvpp.acl.dto.AclInterfaceSetAclListReply;
-import io.fd.vpp.jvpp.acl.dto.MacipAclAdd;
-import io.fd.vpp.jvpp.acl.dto.MacipAclAddReply;
-import io.fd.vpp.jvpp.acl.dto.MacipAclAddReplace;
-import io.fd.vpp.jvpp.acl.dto.MacipAclAddReplaceReply;
-import io.fd.vpp.jvpp.acl.dto.MacipAclDel;
-import io.fd.vpp.jvpp.acl.dto.MacipAclDelReply;
-import io.fd.vpp.jvpp.acl.dto.MacipAclDetailsReplyDump;
-import io.fd.vpp.jvpp.acl.dto.MacipAclDump;
-import io.fd.vpp.jvpp.acl.future.FutureJVppAclFacade;
-import java.util.concurrent.ExecutionException;
-
-class AclTestRequests {
-
- static MacipAclDetailsReplyDump sendMacIpDumpRequest(final FutureJVppAclFacade jvpp)
- throws ExecutionException, InterruptedException {
- System.out.println("Sending MacipAclDump request...");
- MacipAclDetailsReplyDump dump = jvpp.macipAclDump(new MacipAclDump()).toCompletableFuture().get();
- System.out.println("MacipAclDump returned");
- return dump;
- }
-
- static void sendMacIpAddRequest(final FutureJVppAclFacade jvpp) throws InterruptedException, ExecutionException {
- final MacipAclAdd request = createMacIpAddRequest();
- System.out.printf("Sending MacipAclAdd request %s%n", request.toString());
- final MacipAclAddReply reply = jvpp.macipAclAdd(createMacIpAddRequest()).toCompletableFuture().get();
- System.out.printf("MacipAclAdd send result = %s%n", reply);
- }
-
- static void sendMacIpAddReplaceRequest(final FutureJVppAclFacade jvpp) throws InterruptedException, ExecutionException {
- final MacipAclAddReplace request = createMacIpAddReplaceRequest();
- System.out.printf("Sending MacipAclAddReplace request %s%n", request.toString());
- final MacipAclAddReplaceReply reply = jvpp.macipAclAddReplace(createMacIpAddReplaceRequest()).toCompletableFuture().get();
- System.out.printf("MacipAclAddReplace send result = %s%n", reply);
- }
-
- static void sendMacIpDelRequest(final FutureJVppAclFacade jvpp) throws InterruptedException, ExecutionException {
- final MacipAclDel request = new MacipAclDel();
- request.aclIndex = 0;
- System.out.printf("Sending MacipAclDel request %s%n", request.toString());
- final MacipAclDelReply reply = jvpp.macipAclDel(request).toCompletableFuture().get();
- System.out.printf("MacipAclDel send result = %s%n", reply);
- }
-
- static void sendAclAddRequest(final FutureJVppAclFacade jvpp) throws InterruptedException, ExecutionException {
- final AclAddReplace request = createAclAddRequest();
- System.out.printf("Sending AclAddReplace request %s%n", request.toString());
- final AclAddReplaceReply reply = jvpp.aclAddReplace(request).toCompletableFuture().get();
- System.out.printf("AclAddReplace send result = %s%n", reply);
- }
-
- static AclDetailsReplyDump sendAclDumpRequest(final FutureJVppAclFacade jvpp)
- throws InterruptedException, VppInvocationException, ExecutionException {
- System.out.println("Sending AclDump request...");
- final AclDetailsReplyDump dump = jvpp.aclDump(new AclDump()).toCompletableFuture().get();
- System.out.printf("AclDump send result = %s%n", dump);
- return dump;
- }
-
- static void sendAclDelRequest(final FutureJVppAclFacade jvpp) throws InterruptedException, ExecutionException {
- final AclDel request = new AclDel();
- request.aclIndex = 0;
- System.out.printf("Sending AclDel request %s%n", request.toString());
- final AclDelReply reply = jvpp.aclDel(request).toCompletableFuture().get();
- System.out.printf("AclDel send result = %s%n", reply);
- }
-
- static AclInterfaceListDetailsReplyDump sendAclInterfaceListDumpRequest(final FutureJVppAclFacade jvpp)
- throws InterruptedException, ExecutionException {
- final AclInterfaceListDump request = new AclInterfaceListDump();
- request.swIfIndex = 0;
- System.out.printf("Sending AclInterfaceListDump request %s%n", request.toString());
- final AclInterfaceListDetailsReplyDump dump = jvpp.aclInterfaceListDump(request).toCompletableFuture().get();
- System.out.printf("AclInterfaceListDump send result = %s%n", dump);
- return dump;
- }
-
- static void sendAclInterfaceSetAclList(final FutureJVppAclFacade jvpp)
- throws InterruptedException, ExecutionException {
- final AclInterfaceSetAclList request = new AclInterfaceSetAclList();
- request.count = 1;
- request.acls = new int[]{1};
- request.swIfIndex = 0;
- request.nInput = 0;
- System.out.printf("Sending AclInterfaceSetAclList request %s%n", request.toString());
- final AclInterfaceSetAclListReply reply = jvpp.aclInterfaceSetAclList(request).toCompletableFuture().get();
- System.out.printf("AclInterfaceSetAclList send result = %s%n", reply);
- }
-
- static void sendAclInterfaceDeleteList(final FutureJVppAclFacade jvpp)
- throws InterruptedException, ExecutionException {
- // uses same api but sets list to empty
- final AclInterfaceSetAclList request = new AclInterfaceSetAclList();
- request.count = 0;
- request.acls = new int[]{};
- request.swIfIndex = 0;
- request.nInput = 0;
- System.out.printf("Sending AclInterfaceSetAclList(Delete) request %s%n", request.toString());
- final AclInterfaceSetAclListReply reply = jvpp.aclInterfaceSetAclList(request).toCompletableFuture().get();
- System.out.printf("AclInterfaceSetAclList(Delete) send result = %s%n", reply);
- }
-
- private static MacipAclAdd createMacIpAddRequest() {
- MacipAclAdd request = new MacipAclAdd();
-
- request.count = 2;
- request.r = createMacipRules();
- return request;
- }
-
- private static MacipAclAddReplace createMacIpAddReplaceRequest() {
- MacipAclAddReplace request = new MacipAclAddReplace();
-
- request.count = 2;
- request.aclIndex = 0;
- request.r = createMacipRules();
- return request;
- }
-
- private static AclAddReplace createAclAddRequest() {
- AclAddReplace request = new AclAddReplace();
-
- request.aclIndex = -1;// to define new one
- request.count = 2;
- request.r = createAclRules();
- return request;
- }
-}
diff --git a/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/FutureApiExample.java b/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/FutureApiExample.java
deleted file mode 100644
index 862df8df4b9..00000000000
--- a/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/FutureApiExample.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * 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.vpp.jvpp.acl.examples;
-
-import static io.fd.vpp.jvpp.acl.examples.AclExpectedDumpData.verifyAclDump;
-import static io.fd.vpp.jvpp.acl.examples.AclExpectedDumpData.verifyAclInterfaceList;
-import static io.fd.vpp.jvpp.acl.examples.AclExpectedDumpData.verifyMacIpDump;
-import static io.fd.vpp.jvpp.acl.examples.AclTestRequests.sendAclAddRequest;
-import static io.fd.vpp.jvpp.acl.examples.AclTestRequests.sendAclDelRequest;
-import static io.fd.vpp.jvpp.acl.examples.AclTestRequests.sendAclDumpRequest;
-import static io.fd.vpp.jvpp.acl.examples.AclTestRequests.sendAclInterfaceDeleteList;
-import static io.fd.vpp.jvpp.acl.examples.AclTestRequests.sendAclInterfaceListDumpRequest;
-import static io.fd.vpp.jvpp.acl.examples.AclTestRequests.sendAclInterfaceSetAclList;
-import static io.fd.vpp.jvpp.acl.examples.AclTestRequests.sendMacIpAddRequest;
-import static io.fd.vpp.jvpp.acl.examples.AclTestRequests.sendMacIpDelRequest;
-import static io.fd.vpp.jvpp.acl.examples.AclTestRequests.sendMacIpDumpRequest;
-
-import io.fd.vpp.jvpp.JVppRegistry;
-import io.fd.vpp.jvpp.JVppRegistryImpl;
-import io.fd.vpp.jvpp.acl.JVppAclImpl;
-import io.fd.vpp.jvpp.acl.future.FutureJVppAclFacade;
-
-public class FutureApiExample {
-
- public static void main(String[] args) throws Exception {
- testCallbackApi();
- }
-
- private static void testCallbackApi() throws Exception {
- System.out.println("Testing Java callback API for acl plugin");
- try (final JVppRegistry registry = new JVppRegistryImpl("macipAclAddTest");
- final FutureJVppAclFacade jvpp = new FutureJVppAclFacade(registry, new JVppAclImpl())) {
-
- // adds,dump and verifies Mac-Ip acl
- sendMacIpAddRequest(jvpp);
- verifyMacIpDump(sendMacIpDumpRequest(jvpp).macipAclDetails.get(0));
-
- // adds,dumps and verifies Acl acl
- sendAclAddRequest(jvpp);
- verifyAclDump(sendAclDumpRequest(jvpp).aclDetails.get(0));
-
- // adds,dumps and verifies Interface for acl
- sendAclInterfaceSetAclList(jvpp);
- verifyAclInterfaceList(sendAclInterfaceListDumpRequest(jvpp).aclInterfaceListDetails.get(0));
-
- // deletes all created data
- sendAclInterfaceDeleteList(jvpp);
- sendAclDelRequest(jvpp);
- sendMacIpDelRequest(jvpp);
-
- System.out.println("Disconnecting...");
- }
- }
-}
diff --git a/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/Readme.txt b/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/Readme.txt
deleted file mode 100644
index d17fbfc2cd2..00000000000
--- a/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/Readme.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-release version:
-sudo java -cp build-vpp-native/vpp/vpp-api/java/jvpp-registry-17.10.jar:build-vpp-native/vpp/vpp-api/java/jvpp-acl-17.10.jar io.fd.vpp.jvpp.acl.examples.FutureApiExample
-debug version:
-sudo java -cp build-vpp_debug-native/vpp/vpp-api/java/jvpp-registry-17.10.jar:build-vpp-debug-native/vpp/vpp-api/java/jvpp-acl-17.10.jar io.fd.vpp.jvpp.acl.examples.FutureApiExample
diff --git a/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/test/CallbackApiTest.java b/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/test/CallbackApiTest.java
deleted file mode 100644
index a7bbb7f4181..00000000000
--- a/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/test/CallbackApiTest.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * 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.vpp.jvpp.acl.test;
-
-import io.fd.vpp.jvpp.AbstractCallbackApiTest;
-import io.fd.vpp.jvpp.acl.JVppAclImpl;
-
-import java.util.logging.Logger;
-
-public class CallbackApiTest extends AbstractCallbackApiTest {
-
- private static Logger LOG = Logger.getLogger(CallbackApiTest.class.getName());
-
-
- public static void main(String[] args) throws Exception {
- LOG.info("Testing ControlPing using Java callback API for core plugin");
- testControlPing(args[0], new JVppAclImpl());
- }
-}
diff --git a/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/test/FutureApiTest.java b/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/test/FutureApiTest.java
deleted file mode 100644
index ff1c73c441b..00000000000
--- a/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/test/FutureApiTest.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * 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.vpp.jvpp.acl.test;
-
-import io.fd.vpp.jvpp.Assertions;
-import io.fd.vpp.jvpp.JVppRegistry;
-import io.fd.vpp.jvpp.JVppRegistryImpl;
-import io.fd.vpp.jvpp.acl.JVppAclImpl;
-import io.fd.vpp.jvpp.acl.dto.AclDetailsReplyDump;
-import io.fd.vpp.jvpp.acl.dto.AclDump;
-import io.fd.vpp.jvpp.acl.future.FutureJVppAclFacade;
-
-import java.util.concurrent.CompletableFuture;
-import java.util.logging.Logger;
-
-public class FutureApiTest {
-
- private static final Logger LOG = Logger.getLogger(FutureApiTest.class.getName());
-
- public static void main(String[] args) throws Exception {
- testFutureApi(args);
- }
-
- private static void testFutureApi(String[] args) throws Exception {
- LOG.info("Testing Java future API for core plugin");
- try (final JVppRegistry registry = new JVppRegistryImpl("FutureApiTest", args[0]);
- final FutureJVppAclFacade jvppFacade = new FutureJVppAclFacade(registry, new JVppAclImpl())) {
- LOG.info("Successfully connected to VPP");
-
- testAclDump(jvppFacade);
-
- LOG.info("Disconnecting...");
- }
- }
-
- private static void testAclDump(final FutureJVppAclFacade jvpp) throws Exception {
- LOG.info("Sending AclDump request...");
- final AclDump request = new AclDump();
-
- final CompletableFuture<AclDetailsReplyDump>
- replyFuture = jvpp.aclDump(request).toCompletableFuture();
- final AclDetailsReplyDump reply = replyFuture.get();
-
- Assertions.assertNotNull(reply);
- }
-
-
-}
diff --git a/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/test/Readme.txt b/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/test/Readme.txt
deleted file mode 100644
index 1b46585185c..00000000000
--- a/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/test/Readme.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-release version:
-sudo java -cp build-vpp-native/vpp/vpp-api/java/jvpp-registry-17.10.jar:build-vpp-native/vpp/vpp-api/java/jvpp-acl-17.10.jar io.fd.vpp.jvpp.acl.test.[test-name]
-debug version:
-sudo java -cp build-vpp_debug-native/vpp/vpp-api/java/jvpp-registry-17.10.jar:build-vpp_debug-native/vpp/vpp-api/java/jvpp-acl-17.10.jar io.fd.vpp.jvpp.acl.test.[test-name]
diff --git a/extras/japi/java/jvpp-acl/jvpp_acl.c b/extras/japi/java/jvpp-acl/jvpp_acl.c
deleted file mode 100644
index 22e44f1db5a..00000000000
--- a/extras/japi/java/jvpp-acl/jvpp_acl.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * 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.
- */
-
-#include <vnet/vnet.h>
-
-#include <acl/acl_msg_enum.h>
-#define vl_typedefs /* define message structures */
-#include <acl/acl_all_api_h.h>
-#undef vl_typedefs
-
-#include <vnet/api_errno.h>
-#include <vlibapi/api.h>
-#include <vlibmemory/api.h>
-
-#if VPPJNI_DEBUG == 1
- #define DEBUG_LOG(...) clib_warning(__VA_ARGS__)
-#else
- #define DEBUG_LOG(...)
-#endif
-
-#include <jvpp-common/jvpp_common.h>
-
-#include "jvpp-acl/io_fd_vpp_jvpp_acl_JVppAclImpl.h"
-#include "jvpp_acl.h"
-#include "jvpp-acl/jvpp_acl_gen.h"
-
-/*
- * Class: io_fd_vpp_jvpp_acl_JVppaclImpl
- * Method: init0
- * Signature: (JI)V
- */
-JNIEXPORT void JNICALL Java_io_fd_vpp_jvpp_acl_JVppAclImpl_init0
- (JNIEnv *env, jclass clazz, jobject callback, jlong queue_address, jint my_client_index) {
- acl_main_t * plugin_main = &acl_main;
- clib_warning ("Java_io_fd_vpp_jvpp_acl_JVppAclImpl_init0");
-
- plugin_main->my_client_index = my_client_index;
- plugin_main->vl_input_queue = uword_to_pointer (queue_address, svm_queue_t *);
-
- plugin_main->callbackObject = (*env)->NewGlobalRef(env, callback);
- plugin_main->callbackClass = (jclass)(*env)->NewGlobalRef(env, (*env)->GetObjectClass(env, callback));
-
- // verify API has not changed since jar generation
- #define _(N) \
- if (get_message_id(env, #N) == 0) return;
- foreach_supported_api_message;
- #undef _
-
- #define _(N,n) \
- vl_msg_api_set_handlers(get_message_id(env, #N), #n, \
- vl_api_##n##_t_handler, \
- vl_noop_handler, \
- vl_noop_handler, \
- vl_noop_handler, \
- sizeof(vl_api_##n##_t), 1);
- foreach_api_reply_handler;
- #undef _
-}
-
-JNIEXPORT void JNICALL Java_io_fd_vpp_jvpp_acl_JVppAclImpl_close0
-(JNIEnv *env, jclass clazz) {
- acl_main_t * plugin_main = &acl_main;
-
- // cleanup:
- (*env)->DeleteGlobalRef(env, plugin_main->callbackClass);
- (*env)->DeleteGlobalRef(env, plugin_main->callbackObject);
-
- plugin_main->callbackClass = NULL;
- plugin_main->callbackObject = NULL;
-}
-
-/* Attach thread to JVM and cache class references when initiating JVPP ACL */
-jint JNI_OnLoad(JavaVM *vm, void *reserved) {
- JNIEnv* env;
-
- if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_8) != JNI_OK) {
- return JNI_EVERSION;
- }
-
- if (cache_class_references(env) != 0) {
- clib_warning ("Failed to cache class references\n");
- return JNI_ERR;
- }
-
- return JNI_VERSION_1_8;
-}
-
-/* Clean up cached references when disposing JVPP ACL */
-void JNI_OnUnload(JavaVM *vm, void *reserved) {
- JNIEnv* env;
- if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_8) != JNI_OK) {
- return;
- }
- delete_class_references(env);
-}
diff --git a/extras/japi/java/jvpp-acl/jvpp_acl.h b/extras/japi/java/jvpp-acl/jvpp_acl.h
deleted file mode 100644
index d1ec78feb19..00000000000
--- a/extras/japi/java/jvpp-acl/jvpp_acl.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * 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.
- */
-#ifndef __included_jvpp_acl_h__
-#define __included_jvpp_acl_h__
-
-#include <vnet/vnet.h>
-#include <vnet/ip/ip.h>
-#include <vnet/api_errno.h>
-#include <vlibapi/api.h>
-#include <vlibmemory/api.h>
-#include <jni.h>
-
-/* Global state for JVPP-acl */
-typedef struct {
- /* Pointer to shared memory queue */
- svm_queue_t * vl_input_queue;
-
- /* VPP api client index */
- u32 my_client_index;
-
- /* Callback object and class references enabling asynchronous Java calls */
- jobject callbackObject;
- jclass callbackClass;
-
-} acl_main_t;
-
-acl_main_t acl_main __attribute__((aligned (64)));
-
-
-#endif /* __included_jvpp_acl_h__ */