blob: 4b324df0e52873444424713e09528c886fb253ab [file] [log] [blame]
Toshio Koidead17d5e2014-02-11 11:36:02 -08001package net.onrc.onos.intent;
2
3import net.floodlightcontroller.util.MACAddress;
Toshio Koide0e4d8d22014-02-14 10:56:10 -08004import net.onrc.onos.ofcontroller.util.Dpid;
Toshio Koidead17d5e2014-02-11 11:36:02 -08005
6/**
7 * @author Toshio Koide (t-koide@onlab.us)
8 */
9public class ShortestPathIntent extends Intent {
Toshio Koide0e4d8d22014-02-14 10:56:10 -080010 protected long srcSwitchDpid;
11 protected long srcPortNumber;
12 protected long srcMacAddress;
13 protected long dstSwitchDpid;
14 protected long dstPortNumber;
15 protected long dstMacAddress;
Toshio Koidead17d5e2014-02-11 11:36:02 -080016
Toshio Koide0e4d8d22014-02-14 10:56:10 -080017 /**
18 * Default constructor for Kryo deserialization
19 */
Toshio Koidec406e792014-02-14 16:52:42 -080020 protected ShortestPathIntent() {
Toshio Koidead17d5e2014-02-11 11:36:02 -080021 }
22
Toshio Koide0e4d8d22014-02-14 10:56:10 -080023 public ShortestPathIntent(String id,
Toshio Koide13986d12014-02-11 20:25:32 -080024 long srcSwitch, long srcPort, long srcMac,
25 long dstSwitch, long dstPort, long dstMac) {
26 super(id);
Toshio Koide0e4d8d22014-02-14 10:56:10 -080027 srcSwitchDpid = srcSwitch;
28 srcPortNumber = srcPort;
29 srcMacAddress = srcMac;
30 dstSwitchDpid = dstSwitch;
31 dstPortNumber = dstPort;
32 dstMacAddress = dstMac;
Toshio Koidead17d5e2014-02-11 11:36:02 -080033 }
34
Toshio Koide0e4d8d22014-02-14 10:56:10 -080035 public long getSrcSwitchDpid() {
36 return srcSwitchDpid;
Toshio Koidead17d5e2014-02-11 11:36:02 -080037 }
38
Toshio Koide0e4d8d22014-02-14 10:56:10 -080039 public long getSrcPortNumber() {
40 return srcPortNumber;
Toshio Koidead17d5e2014-02-11 11:36:02 -080041 }
42
Toshio Koide0e4d8d22014-02-14 10:56:10 -080043 public long getSrcMac() {
44 return srcMacAddress;
Toshio Koidead17d5e2014-02-11 11:36:02 -080045 }
46
Toshio Koide0e4d8d22014-02-14 10:56:10 -080047 public long getDstSwitchDpid() {
48 return dstSwitchDpid;
49 }
50
51 public long getDstPortNumber() {
52 return dstPortNumber;
53 }
54
55 public long getDstMac() {
56 return dstMacAddress;
Toshio Koidead17d5e2014-02-11 11:36:02 -080057 }
58
59 @Override
60 public String toString() {
Toshio Koide0e4d8d22014-02-14 10:56:10 -080061 return String.format("srcDpid:%s, srcPort:%d, srcMac:%s, dstDpid:%s, dstPort:%d, dstMac:%s",
62 new Dpid(srcSwitchDpid), srcPortNumber, MACAddress.valueOf(srcMacAddress),
63 new Dpid(dstSwitchDpid), dstPortNumber, MACAddress.valueOf(dstMacAddress));
Toshio Koideebdbb622014-02-12 20:28:38 -080064 }
Toshio Koidead17d5e2014-02-11 11:36:02 -080065}