2 * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
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
8 package org.opendaylight.groupbasedpolicy.renderer.ofoverlay.sf;
12 import com.google.common.collect.ImmutableMap;
13 import org.opendaylight.groupbasedpolicy.renderer.ofoverlay.flow.FlowUtils;
14 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.subject.feature.instance.ParameterValue;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.subject.feature.instance.ParameterValueBuilder;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.subject.feature.instance.parameter.value.RangeValueBuilder;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.EtherType;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.ethernet.match.fields.EthernetType;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.ethernet.match.fields.EthernetTypeBuilder;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.EthernetMatch;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.EthernetMatchBuilder;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.IpMatch;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.IpMatchBuilder;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.Layer4Match;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._4.match.SctpMatchBuilder;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._4.match.TcpMatchBuilder;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._4.match.UdpMatchBuilder;
30 public class ClassifierTestUtils {
32 static final EthernetType IPV4_ETH_TYPE = new EthernetTypeBuilder().setType(new EtherType(FlowUtils.IPv4)).build();
33 static final EthernetType IPV6_ETH_TYPE = new EthernetTypeBuilder().setType(new EtherType(FlowUtils.IPv6)).build();
35 static final Long TCP = 6L;
36 static final Long UDP = 17L;
37 static final Long SCTP = 132L;
39 static Map<String, ParameterValue> createRangeValueParam(String paramName, long min, long max) {
40 return ImmutableMap.of(paramName, new ParameterValueBuilder()
41 .setRangeValue(new RangeValueBuilder().setMin(min).setMax(max).build()).build());
44 static Map<String, ParameterValue> createIntValueParam(String paramName, long value) {
45 return ImmutableMap.of(paramName, new ParameterValueBuilder().setIntValue(value).build());
48 static EthernetMatch createEthernetMatch(EthernetType ethType) {
49 return new EthernetMatchBuilder().setEthernetType(ethType).build();
52 static IpMatch createIpMatch(short ipProtoValue) {
53 return new IpMatchBuilder().setIpProtocol(ipProtoValue).build();
56 static Layer4Match createUdpDstPort(int portNumber) {
57 return new UdpMatchBuilder().setUdpDestinationPort(new PortNumber(portNumber)).build();
60 static Layer4Match createUdpSrcPort(int portNumber) {
61 return new UdpMatchBuilder().setUdpSourcePort(new PortNumber(portNumber)).build();
64 static Layer4Match createTcpDstPort(int portNumber) {
65 return new TcpMatchBuilder().setTcpDestinationPort(new PortNumber(portNumber)).build();
68 static Layer4Match createTcpSrcPort(int portNumber) {
69 return new TcpMatchBuilder().setTcpSourcePort(new PortNumber(portNumber)).build();
72 static Layer4Match createSctpDstPort(int portNumber) {
73 return new SctpMatchBuilder().setSctpDestinationPort(new PortNumber(portNumber)).build();
76 static Layer4Match createSctpSrcPort(int portNumber) {
77 return new SctpMatchBuilder().setSctpSourcePort(new PortNumber(portNumber)).build();