blob: 9bd80510d6fc1b46991c2c13557fe9857e7a8676 [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) {
10 SwitchImpl onosSwitch = new SwitchImpl(graph);
11 onosSwitch.setDpid(sw.getId());
Yuta HIGUCHIe1d92762014-02-06 12:05:52 -080012
Jonathan Hart062a2e82014-02-03 09:41:57 -080013 for (OFPhysicalPort port : sw.getPorts()) {
14 onosSwitch.addPort(map(graph, port));
15 }
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
Jonathan Hart062a2e82014-02-03 09:41:57 -080020 public static Port map(NetworkGraph graph, OFPhysicalPort port) {
21 PortImpl onosPort = new PortImpl(graph);
22 onosPort.setPortNumber(port.getPortNumber());
23 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) {
27 LinkImpl onosLink = new LinkImpl(graph);
Yuta HIGUCHIe1d92762014-02-06 12:05:52 -080028
29 Switch srcSw = graph.getSwitch(link.getSrc());
30 onosLink.setSrcSwitch(srcSw);
31 onosLink.setSrcPort(srcSw.getPort(link.getSrcPort()));
32
33 Switch dstSw = graph.getSwitch(link.getDst());
34 onosLink.setDstSwitch(dstSw);
35 onosLink.setDstPort(dstSw.getPort(link.getDstPort()));
36
Jonathan Hart062a2e82014-02-03 09:41:57 -080037 return onosLink;
Yuta HIGUCHIe1d92762014-02-06 12:05:52 -080038
Jonathan Hart062a2e82014-02-03 09:41:57 -080039 }
40}