package org.opennaas.extensions.genericnetwork.model.helpers; /* * #%L * OpenNaaS :: Generic Network * %% * Copyright (C) 2007 - 2014 FundaciĆ³ Privada i2CAT, Internet i InnovaciĆ³ a Catalunya * %% * 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. * #L% */ import java.util.ArrayList; import java.util.List; import org.opennaas.extensions.genericnetwork.model.circuit.Circuit; import org.opennaas.extensions.genericnetwork.model.circuit.NetworkConnection; import org.opennaas.extensions.genericnetwork.model.circuit.QoSPolicy; import org.opennaas.extensions.genericnetwork.model.circuit.Route; import org.opennaas.extensions.genericnetwork.model.topology.Port; import org.opennaas.extensions.genericnetwork.model.topology.TopologyElementState; import org.opennaas.extensions.openflowswitch.model.FloodlightOFMatch; /** * * @author Adrian Rosello Rey (i2CAT) * */ public abstract class GenericNetworkModelUtils { public static final String CIRCUIT_ID = "1234-5678-90AB"; public static final String SRC_IP = "192.168.1.10"; public static final String DST_IP = "192.168.1.11"; public static final String ETHER_TYPE = "2048"; public static final String TOS = "4"; public static final String SRC_PORT = "22"; public static final String DST_PORT = "22"; public static final String ROUTE_ID = "route01"; public static final String NET_CONNECTION_ID_1 = "1111-2222-3333-444"; public static final String NET_CONNECTION_NAME_1 = "netConnection01"; public static final String NET_CONNECTION_ID_2 = "9999-8888-7777-6666"; public static final String NET_CONNECTION_NAME_2 = "netConnection02"; public static final String PORT_ID_1 = "eth1"; public static final String PORT_ID_2 = "eth2"; public static final String PORT_ID_3 = "eth3"; public static final String PORT_ID_4 = "eth4"; public static final int JITTER_MAX = 10; public static final int JITTER_MIN = 1; public static final int LATENCY_MAX = 100; public static final int LATENCY_MIN = 0; public static final int THROUGHPUT_MAX = 50; public static final int THROUGHPUT_MIN = 20; public static final int PACKETLOSS_MAX = 2; public static final int PACKETLOSS_MIN = 0; public static Circuit generateSampleCircuit() { Circuit circuit = new Circuit(); FloodlightOFMatch trafficFilter = generateSampleFloodlightOFMatch(); Route route = generateSampleRoute(); QoSPolicy qos = generateSampleQoSPolicy(); circuit.setCircuitId(CIRCUIT_ID); circuit.setTrafficFilter(trafficFilter); circuit.setQos(qos); circuit.setRoute(route); return circuit; } public static FloodlightOFMatch generateSampleFloodlightOFMatch() { FloodlightOFMatch match = new FloodlightOFMatch(); match.setSrcIp(SRC_IP); match.setDstIp(DST_IP); match.setEtherType(ETHER_TYPE); match.setTosBits(TOS); match.setSrcPort(SRC_PORT); match.setDstPort(DST_PORT); return match; } public static Route generateSampleRoute() { Route route = new Route(); List<NetworkConnection> networkConnections = generateSampleNetworkConnections(); route.setId(ROUTE_ID); route.setNetworkConnections(networkConnections); return route; } /** * Generates a list of two {@link NetworkConnection} * * @return */ public static List<NetworkConnection> generateSampleNetworkConnections() { List<NetworkConnection> connection = new ArrayList<NetworkConnection>(); NetworkConnection networkConnection1 = new NetworkConnection(); Port srcPort = generateSamplePort(PORT_ID_1, false); Port dstPort = generateSamplePort(PORT_ID_2, false); networkConnection1.setId(NET_CONNECTION_ID_1); networkConnection1.setName(NET_CONNECTION_NAME_1); networkConnection1.setSource(srcPort); networkConnection1.setDestination(dstPort); NetworkConnection networkConnection2 = new NetworkConnection(); Port srcPort2 = generateSamplePort(PORT_ID_3, false); Port dstPort2 = generateSamplePort(PORT_ID_4, true); networkConnection2.setId(NET_CONNECTION_ID_2); networkConnection2.setName(NET_CONNECTION_NAME_2); networkConnection2.setSource(srcPort2); networkConnection2.setDestination(dstPort2); connection.add(networkConnection1); connection.add(networkConnection2); return connection; } public static Port generateSamplePort(String portId, boolean state) { Port port = new Port(); TopologyElementState elementState = new TopologyElementState(); elementState.setCongested(state); port.setId(portId); port.setState(elementState); return port; } public static QoSPolicy generateSampleQoSPolicy() { QoSPolicy qos = new QoSPolicy(); qos.setMaxJitter(JITTER_MAX); qos.setMinJitter(JITTER_MIN); qos.setMaxLatency(LATENCY_MAX); qos.setMinLatency(LATENCY_MIN); qos.setMaxThroughput(THROUGHPUT_MAX); qos.setMinThroughput(THROUGHPUT_MIN); qos.setMaxPacketLoss(PACKETLOSS_MAX); qos.setMinPacketLoss(PACKETLOSS_MIN); return qos; } }