blob: 81397372c63fd59620e7bc202df2780c0c1f4c8c [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
7public class FloodlightToOnosMappers {
8
9 public static Switch map(NetworkGraph graph, IOFSwitch sw) {
Toshio Koide2f570c12014-02-06 16:55:32 -080010 SwitchImpl onosSwitch = new SwitchImpl(graph, sw.getId());
Yuta HIGUCHIe1d92762014-02-06 12:05:52 -080011
Jonathan Hart062a2e82014-02-03 09:41:57 -080012 for (OFPhysicalPort port : sw.getPorts()) {
Toshio Koide2f570c12014-02-06 16:55:32 -080013 onosSwitch.addPort(map(graph, onosSwitch, port));
Jonathan Hart062a2e82014-02-03 09:41:57 -080014 }
Yuta HIGUCHIe1d92762014-02-06 12:05:52 -080015
Jonathan Hart062a2e82014-02-03 09:41:57 -080016 return onosSwitch;
17 }
Yuta HIGUCHIe1d92762014-02-06 12:05:52 -080018
Toshio Koide2f570c12014-02-06 16:55:32 -080019 public static Port map(NetworkGraph graph, SwitchImpl sw, OFPhysicalPort port) {
20 PortImpl onosPort = new PortImpl(graph, sw, new Long(port.getPortNumber()));
Jonathan Hart062a2e82014-02-03 09:41:57 -080021 return onosPort;
22 }
Yuta HIGUCHIe1d92762014-02-06 12:05:52 -080023
Jonathan Hart062a2e82014-02-03 09:41:57 -080024 public static Link map(NetworkGraph graph, net.floodlightcontroller.routing.Link link) {
Toshio Koide2f570c12014-02-06 16:55:32 -080025 Port srcPort = graph.getSwitch(link.getSrc()).getPort(Long.valueOf(link.getSrcPort()));
26 Port dstPort = graph.getSwitch(link.getDst()).getPort(Long.valueOf(link.getDstPort()));
27 LinkImpl onosLink = new LinkImpl(graph, srcPort, dstPort);
Yuta HIGUCHIe1d92762014-02-06 12:05:52 -080028
Jonathan Hart062a2e82014-02-03 09:41:57 -080029 return onosLink;
Yuta HIGUCHIe1d92762014-02-06 12:05:52 -080030
Jonathan Hart062a2e82014-02-03 09:41:57 -080031 }
32}