| package net.onrc.onos.api.flowmanager; |
| |
| import net.onrc.onos.core.util.Dpid; |
| import net.onrc.onos.core.util.PortNumber; |
| import net.onrc.onos.core.util.SwitchPort; |
| |
| /** |
| * A link representation used by IFlow objects. |
| * <p> |
| * TODO: Should lambda, bandwidth, tag, etc. be defined in this FlowLink, Path, |
| * Tree or IFlow? We have to define it. |
| */ |
| public class FlowLink { |
| protected SwitchPort srcSwitchPort; |
| protected SwitchPort dstSwitchPort; |
| |
| /** |
| * Creates new FlowLink object using source/destination switch port pair. |
| * |
| * @param src The source switch port. |
| * @param dst The destination switch port. |
| */ |
| public FlowLink(SwitchPort src, SwitchPort dst) { |
| this.srcSwitchPort = src; |
| this.dstSwitchPort = dst; |
| } |
| |
| /** |
| * Creates new FlowLink object using DPID and port number pairs at |
| * source/destination switches. |
| * |
| * @param srcDpid The source switch DPID. |
| * @param srcPortNumber The source port number at the source switch. |
| * @param dstDpid The destination switch DPID. |
| * @param dstPortNumber The destination port number at the destination |
| * switch. |
| */ |
| public FlowLink(Dpid srcDpid, PortNumber srcPortNumber, |
| Dpid dstDpid, PortNumber dstPortNumber) { |
| this.srcSwitchPort = new SwitchPort(srcDpid, srcPortNumber); |
| this.dstSwitchPort = new SwitchPort(dstDpid, dstPortNumber); |
| } |
| |
| /** |
| * Gets the source switch port. |
| * |
| * @return The source switch port. |
| */ |
| public SwitchPort getSrcSwitchPort() { |
| return srcSwitchPort; |
| } |
| |
| /** |
| * Gets the source switch DPID. |
| * |
| * @return The source switch DPID. |
| */ |
| public Dpid getSrcDpid() { |
| return srcSwitchPort.dpid(); |
| } |
| |
| /** |
| * Gets the source port number at the source switch. |
| * |
| * @return The source port number at the source switch. |
| */ |
| public PortNumber getSrcPortNumber() { |
| return srcSwitchPort.port(); |
| } |
| |
| /** |
| * Gets the destination switch port. |
| * |
| * @return The destination switch port. |
| */ |
| public SwitchPort getDstSwitchPort() { |
| return dstSwitchPort; |
| } |
| |
| /** |
| * Gets the destination switch DPID. |
| * |
| * @return The destination switch DPID. |
| */ |
| public Dpid getDstDpid() { |
| return dstSwitchPort.dpid(); |
| } |
| |
| /** |
| * Gets the destination port number at the destination switch. |
| * |
| * @return The destination port number at the destination switch. |
| */ |
| public PortNumber getDstPortNumber() { |
| return dstSwitchPort.port(); |
| } |
| |
| @Override |
| public String toString() { |
| return srcSwitchPort + "-->" + dstSwitchPort; |
| } |
| } |