1 package org.opendaylight.groupbasedpolicy.renderer.ofoverlay.sf;
5 import com.google.common.collect.ImmutableMap;
6 import org.opendaylight.groupbasedpolicy.renderer.ofoverlay.flow.FlowUtils;
7 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
8 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.subject.feature.instance.ParameterValue;
9 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.subject.feature.instance.ParameterValueBuilder;
10 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.subject.feature.instance.parameter.value.RangeValueBuilder;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.EtherType;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.ethernet.match.fields.EthernetType;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.ethernet.match.fields.EthernetTypeBuilder;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.EthernetMatch;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.EthernetMatchBuilder;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.IpMatch;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.IpMatchBuilder;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.Layer4Match;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._4.match.SctpMatchBuilder;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._4.match.TcpMatchBuilder;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._4.match.UdpMatchBuilder;
23 public class ClassifierTestUtils {
25 static final EthernetType IPV4_ETH_TYPE = new EthernetTypeBuilder().setType(new EtherType(FlowUtils.IPv4)).build();
26 static final EthernetType IPV6_ETH_TYPE = new EthernetTypeBuilder().setType(new EtherType(FlowUtils.IPv6)).build();
28 static final Long TCP = 6L;
29 static final Long UDP = 17L;
30 static final Long SCTP = 132L;
32 static Map<String, ParameterValue> createRangeValueParam(String paramName, long min, long max) {
33 return ImmutableMap.of(paramName, new ParameterValueBuilder()
34 .setRangeValue(new RangeValueBuilder().setMin(min).setMax(max).build()).build());
37 static Map<String, ParameterValue> createIntValueParam(String paramName, long value) {
38 return ImmutableMap.of(paramName, new ParameterValueBuilder().setIntValue(value).build());
41 static EthernetMatch createEthernetMatch(EthernetType ethType) {
42 return new EthernetMatchBuilder().setEthernetType(ethType).build();
45 static IpMatch createIpMatch(short ipProtoValue) {
46 return new IpMatchBuilder().setIpProtocol(ipProtoValue).build();
49 static Layer4Match createUdpDstPort(int portNumber) {
50 return new UdpMatchBuilder().setUdpDestinationPort(new PortNumber(portNumber)).build();
53 static Layer4Match createUdpSrcPort(int portNumber) {
54 return new UdpMatchBuilder().setUdpSourcePort(new PortNumber(portNumber)).build();
57 static Layer4Match createTcpDstPort(int portNumber) {
58 return new TcpMatchBuilder().setTcpDestinationPort(new PortNumber(portNumber)).build();
61 static Layer4Match createTcpSrcPort(int portNumber) {
62 return new TcpMatchBuilder().setTcpSourcePort(new PortNumber(portNumber)).build();
65 static Layer4Match createSctpDstPort(int portNumber) {
66 return new SctpMatchBuilder().setSctpDestinationPort(new PortNumber(portNumber)).build();
69 static Layer4Match createSctpSrcPort(int portNumber) {
70 return new SctpMatchBuilder().setSctpSourcePort(new PortNumber(portNumber)).build();