2 * Copyright (c) 2016 Cisco and/or its affiliates.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at:
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package io.fd.vpp.jvpp.acl.test;
19 import static io.fd.vpp.jvpp.acl.test.AclTestData.createAclRules;
20 import static io.fd.vpp.jvpp.acl.test.AclTestData.createMacipRules;
22 import io.fd.vpp.jvpp.VppInvocationException;
23 import io.fd.vpp.jvpp.acl.dto.AclAddReplace;
24 import io.fd.vpp.jvpp.acl.dto.AclAddReplaceReply;
25 import io.fd.vpp.jvpp.acl.dto.AclDel;
26 import io.fd.vpp.jvpp.acl.dto.AclDelReply;
27 import io.fd.vpp.jvpp.acl.dto.AclDetailsReplyDump;
28 import io.fd.vpp.jvpp.acl.dto.AclDump;
29 import io.fd.vpp.jvpp.acl.dto.AclInterfaceListDetailsReplyDump;
30 import io.fd.vpp.jvpp.acl.dto.AclInterfaceListDump;
31 import io.fd.vpp.jvpp.acl.dto.AclInterfaceSetAclList;
32 import io.fd.vpp.jvpp.acl.dto.AclInterfaceSetAclListReply;
33 import io.fd.vpp.jvpp.acl.dto.MacipAclAdd;
34 import io.fd.vpp.jvpp.acl.dto.MacipAclAddReply;
35 import io.fd.vpp.jvpp.acl.dto.MacipAclDel;
36 import io.fd.vpp.jvpp.acl.dto.MacipAclDelReply;
37 import io.fd.vpp.jvpp.acl.dto.MacipAclDetailsReplyDump;
38 import io.fd.vpp.jvpp.acl.dto.MacipAclDump;
39 import io.fd.vpp.jvpp.acl.future.FutureJVppAclFacade;
40 import java.util.concurrent.ExecutionException;
42 class AclTestRequests {
44 static MacipAclDetailsReplyDump sendMacIpDumpRequest(final FutureJVppAclFacade jvpp)
45 throws ExecutionException, InterruptedException {
46 System.out.println("Sending MacipAclDump request...");
47 MacipAclDetailsReplyDump dump = jvpp.macipAclDump(new MacipAclDump()).toCompletableFuture().get();
48 System.out.println("MacipAclDump returned");
52 static void sendMacIpAddRequest(final FutureJVppAclFacade jvpp) throws InterruptedException, ExecutionException {
53 final MacipAclAdd request = createMacIpAddRequest();
54 System.out.printf("Sending MacipAclAdd request %s%n", request.toString());
55 final MacipAclAddReply reply = jvpp.macipAclAdd(createMacIpAddRequest()).toCompletableFuture().get();
56 System.out.printf("MacipAclAdd send result = %s%n", reply);
59 static void sendMacIpDelRequest(final FutureJVppAclFacade jvpp) throws InterruptedException, ExecutionException {
60 final MacipAclDel request = new MacipAclDel();
62 System.out.printf("Sending MacipAclDel request %s%n", request.toString());
63 final MacipAclDelReply reply = jvpp.macipAclDel(request).toCompletableFuture().get();
64 System.out.printf("MacipAclDel send result = %s%n", reply);
67 static void sendAclAddRequest(final FutureJVppAclFacade jvpp) throws InterruptedException, ExecutionException {
68 final AclAddReplace request = createAclAddRequest();
69 System.out.printf("Sending AclAddReplace request %s%n", request.toString());
70 final AclAddReplaceReply reply = jvpp.aclAddReplace(request).toCompletableFuture().get();
71 System.out.printf("AclAddReplace send result = %s%n", reply);
74 static AclDetailsReplyDump sendAclDumpRequest(final FutureJVppAclFacade jvpp)
75 throws InterruptedException, VppInvocationException, ExecutionException {
76 System.out.println("Sending AclDump request...");
77 final AclDetailsReplyDump dump = jvpp.aclDump(new AclDump()).toCompletableFuture().get();
78 System.out.printf("AclDump send result = %s%n", dump);
82 static void sendAclDelRequest(final FutureJVppAclFacade jvpp) throws InterruptedException, ExecutionException {
83 final AclDel request = new AclDel();
85 System.out.printf("Sending AclDel request %s%n", request.toString());
86 final AclDelReply reply = jvpp.aclDel(request).toCompletableFuture().get();
87 System.out.printf("AclDel send result = %s%n", reply);
90 static AclInterfaceListDetailsReplyDump sendAclInterfaceListDumpRequest(final FutureJVppAclFacade jvpp)
91 throws InterruptedException, ExecutionException {
92 final AclInterfaceListDump request = new AclInterfaceListDump();
93 request.swIfIndex = 0;
94 System.out.printf("Sending AclInterfaceListDump request %s%n", request.toString());
95 final AclInterfaceListDetailsReplyDump dump = jvpp.aclInterfaceListDump(request).toCompletableFuture().get();
96 System.out.printf("AclInterfaceListDump send result = %s%n", dump);
100 static void sendAclInterfaceSetAclList(final FutureJVppAclFacade jvpp)
101 throws InterruptedException, ExecutionException {
102 final AclInterfaceSetAclList request = new AclInterfaceSetAclList();
104 request.acls = new int[]{1};
105 request.swIfIndex = 0;
107 System.out.printf("Sending AclInterfaceSetAclList request %s%n", request.toString());
108 final AclInterfaceSetAclListReply reply = jvpp.aclInterfaceSetAclList(request).toCompletableFuture().get();
109 System.out.printf("AclInterfaceSetAclList send result = %s%n", reply);
112 static void sendAclInterfaceDeleteList(final FutureJVppAclFacade jvpp)
113 throws InterruptedException, ExecutionException {
114 // uses same api but sets list to empty
115 final AclInterfaceSetAclList request = new AclInterfaceSetAclList();
117 request.acls = new int[]{};
118 request.swIfIndex = 0;
120 System.out.printf("Sending AclInterfaceSetAclList(Delete) request %s%n", request.toString());
121 final AclInterfaceSetAclListReply reply = jvpp.aclInterfaceSetAclList(request).toCompletableFuture().get();
122 System.out.printf("AclInterfaceSetAclList(Delete) send result = %s%n", reply);
125 private static MacipAclAdd createMacIpAddRequest() {
126 MacipAclAdd request = new MacipAclAdd();
129 request.r = createMacipRules();
133 private static AclAddReplace createAclAddRequest() {
134 AclAddReplace request = new AclAddReplace();
136 request.aclIndex = -1;// to define new one
138 request.r = createAclRules();