L3: Add eth to br-ex
[ovsdb.git] / openstack / net-virt-sfc / it / src / test / java / org / opendaylight / ovsdb / openstack / netvirt / sfc / utils / AclUtils.java
1 /*
2  * Copyright © 2015 Red Hat, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.ovsdb.openstack.netvirt.sfc.utils;
10
11 import java.util.ArrayList;
12 import java.util.List;
13 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.acl.rev141010.AccessListsBuilder;
14 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.acl.rev141010.access.lists.AccessList;
15 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.acl.rev141010.access.lists.AccessListBuilder;
16 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.acl.rev141010.access.lists.access.list.AccessListEntriesBuilder;
17 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.acl.rev141010.access.lists.access.list.access.list.entries.AccessListEntry;
18 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.acl.rev141010.access.lists.access.list.access.list.entries.AccessListEntryBuilder;
19 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.acl.rev141010.access.lists.access.list.access.list.entries.access.list.entry.ActionsBuilder;
20 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.acl.rev141010.access.lists.access.list.access.list.entries.access.list.entry.MatchesBuilder;
21 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.acl.rev141010.access.lists.access.list.access.list.entries.access.list.entry.actions.packet.handling.PermitBuilder;
22 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.acl.rev141010.access.lists.access.list.access.list.entries.access.list.entry.matches.ace.type.AceIpBuilder;
23 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.PortNumber;
24 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.packet.fields.rev140625.acl.transport.header.fields.DestinationPortRangeBuilder;
25
26 public class AclUtils {
27     public MatchesBuilder createMatches (MatchesBuilder matchesBuilder, int destPort) {
28         PortNumber portNumber = new PortNumber(destPort);
29         DestinationPortRangeBuilder destinationPortRangeBuilder = new DestinationPortRangeBuilder();
30         destinationPortRangeBuilder.setLowerPort(portNumber);
31         destinationPortRangeBuilder.setUpperPort(portNumber);
32
33         AceIpBuilder aceIpBuilder = new AceIpBuilder();
34         aceIpBuilder.setDestinationPortRange(destinationPortRangeBuilder.build());
35         matchesBuilder.setAceType(aceIpBuilder.build());
36
37         return matchesBuilder;
38     }
39
40     public ActionsBuilder createActions (ActionsBuilder actionsBuilder, Boolean permit) {
41         PermitBuilder permitBuilder = new PermitBuilder();
42         permitBuilder.setPermit(Boolean.TRUE);
43         actionsBuilder.setPacketHandling(permitBuilder.build());
44
45         return actionsBuilder;
46     }
47
48     public AccessListEntryBuilder createAccessListEntryBuilder(AccessListEntryBuilder accessListEntryBuilder,
49                                                                String ruleName,
50                                                                MatchesBuilder matchesBuilder,
51                                                                ActionsBuilder actionsBuilder) {
52         accessListEntryBuilder.setRuleName(ruleName);
53         accessListEntryBuilder.setMatches(matchesBuilder.build());
54         accessListEntryBuilder.setActions(actionsBuilder.build());
55
56         return accessListEntryBuilder;
57     }
58
59     public AccessListEntriesBuilder createAccessListEntries(AccessListEntriesBuilder accessListEntriesBuilder,
60                                                             AccessListEntryBuilder accessListEntryBuilder) {
61         List<AccessListEntry> accessListEntriesList = new ArrayList<>();
62         accessListEntriesList.add(accessListEntryBuilder.build());
63
64         return accessListEntriesBuilder;
65     }
66
67     public AccessListBuilder createAccessList(AccessListBuilder accessListBuilder,
68                                               String aclName,
69                                               AccessListEntriesBuilder accessListEntriesBuilder) {
70         accessListBuilder.setAclName(aclName);
71         accessListBuilder.setAccessListEntries(accessListEntriesBuilder.build());
72
73         return accessListBuilder;
74     }
75
76     public AccessListsBuilder createAccessLists(AccessListsBuilder accessListsBuilder,
77                                                 AccessListBuilder accessListBuilder) {
78         List<AccessList> accessListList = new ArrayList<>();
79         accessListList.add(accessListBuilder.build());
80         accessListsBuilder.setAccessList(accessListList);
81
82         return accessListsBuilder;
83     }
84 }