blob: f4bb18c27c8db4ee9470d47dcbaa539128b09218 [file] [log] [blame]
package net.onrc.onos.core.intent;
import net.floodlightcontroller.util.MACAddress;
import net.onrc.onos.core.util.Dpid;
/**
* @author Toshio Koide (t-koide@onlab.us)
*/
public class ShortestPathIntent extends Intent {
protected long srcSwitchDpid;
protected long srcPortNumber;
protected long srcMacAddress;
protected long dstSwitchDpid;
protected long dstPortNumber;
protected long dstMacAddress;
protected String pathIntentId = null;
/**
* Default constructor for Kryo deserialization
*/
protected ShortestPathIntent() {
}
public ShortestPathIntent(String id,
long srcSwitch, long srcPort, long srcMac,
long dstSwitch, long dstPort, long dstMac) {
super(id);
srcSwitchDpid = srcSwitch;
srcPortNumber = srcPort;
srcMacAddress = srcMac;
dstSwitchDpid = dstSwitch;
dstPortNumber = dstPort;
dstMacAddress = dstMac;
}
public long getSrcSwitchDpid() {
return srcSwitchDpid;
}
public long getSrcPortNumber() {
return srcPortNumber;
}
public long getSrcMac() {
return srcMacAddress;
}
public long getDstSwitchDpid() {
return dstSwitchDpid;
}
public long getDstPortNumber() {
return dstPortNumber;
}
public long getDstMac() {
return dstMacAddress;
}
public void setPathIntent(PathIntent pathIntent) {
pathIntentId = pathIntent.getId();
}
public String getPathIntentId() {
return pathIntentId;
}
@Override
public String toString() {
return String.format("id:%s, state:%s, srcDpid:%s, srcPort:%d, srcMac:%s, dstDpid:%s, dstPort:%d, dstMac:%s",
getId(), getState(),
new Dpid(srcSwitchDpid), srcPortNumber, MACAddress.valueOf(srcMacAddress),
new Dpid(dstSwitchDpid), dstPortNumber, MACAddress.valueOf(dstMacAddress));
}
}