blob: cb936a9b72880d20aab63d783cebf33534973bcf [file] [log] [blame]
Jonathan Hart062a2e82014-02-03 09:41:57 -08001package net.onrc.onos.ofcontroller.networkgraph;
2
3import org.openflow.protocol.OFPhysicalPort;
4
5import net.floodlightcontroller.core.IOFSwitch;
6
Yuta HIGUCHI66c16812014-02-12 14:35:50 -08007// XXX Either change the return value to Event Object or remove this class
Jonathan Hart062a2e82014-02-03 09:41:57 -08008public class FloodlightToOnosMappers {
9
10 public static Switch map(NetworkGraph graph, IOFSwitch sw) {
Toshio Koide2f570c12014-02-06 16:55:32 -080011 SwitchImpl onosSwitch = new SwitchImpl(graph, sw.getId());
Yuta HIGUCHIe1d92762014-02-06 12:05:52 -080012
Jonathan Hart062a2e82014-02-03 09:41:57 -080013 for (OFPhysicalPort port : sw.getPorts()) {
Toshio Koide2f570c12014-02-06 16:55:32 -080014 onosSwitch.addPort(map(graph, onosSwitch, port));
Jonathan Hart062a2e82014-02-03 09:41:57 -080015 }
Yuta HIGUCHIe1d92762014-02-06 12:05:52 -080016
Jonathan Hart062a2e82014-02-03 09:41:57 -080017 return onosSwitch;
18 }
Yuta HIGUCHIe1d92762014-02-06 12:05:52 -080019
Toshio Koide2f570c12014-02-06 16:55:32 -080020 public static Port map(NetworkGraph graph, SwitchImpl sw, OFPhysicalPort port) {
Toshio Koide5799b602014-02-10 15:29:06 -080021 PortImpl onosPort = new PortImpl(graph, sw, Long.valueOf(port.getPortNumber()));
Jonathan Hart891d0502014-02-10 10:04:08 -080022 onosPort.setDescription(port.getName());
Jonathan Hart062a2e82014-02-03 09:41:57 -080023 return onosPort;
24 }
Yuta HIGUCHIe1d92762014-02-06 12:05:52 -080025
Jonathan Hart062a2e82014-02-03 09:41:57 -080026 public static Link map(NetworkGraph graph, net.floodlightcontroller.routing.Link link) {
Yuta HIGUCHI66c16812014-02-12 14:35:50 -080027 Port srcPort = graph.getSwitch(link.getSrc()).getPort(Long.valueOf(link.getSrcPort()));
28 Port dstPort = graph.getSwitch(link.getDst()).getPort(Long.valueOf(link.getDstPort()));
29 LinkImpl onosLink = new LinkImpl(graph, srcPort, dstPort);
30
Jonathan Hart062a2e82014-02-03 09:41:57 -080031 return onosLink;
Jonathan Hart062a2e82014-02-03 09:41:57 -080032 }
33}