blob: f4bb18c27c8db4ee9470d47dcbaa539128b09218 [file] [log] [blame]
Jonathan Hartaa380972014-04-03 10:24:46 -07001package net.onrc.onos.core.intent;
Toshio Koidead17d5e2014-02-11 11:36:02 -08002
3import net.floodlightcontroller.util.MACAddress;
Jonathan Hart23701d12014-04-03 10:45:48 -07004import net.onrc.onos.core.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 Koidea10c0372014-02-20 17:28:10 -080016 protected String pathIntentId = null;
Toshio Koidead17d5e2014-02-11 11:36:02 -080017
Toshio Koide0e4d8d22014-02-14 10:56:10 -080018 /**
19 * Default constructor for Kryo deserialization
20 */
Toshio Koidec406e792014-02-14 16:52:42 -080021 protected ShortestPathIntent() {
Toshio Koidead17d5e2014-02-11 11:36:02 -080022 }
23
Toshio Koide0e4d8d22014-02-14 10:56:10 -080024 public ShortestPathIntent(String id,
Toshio Koide13986d12014-02-11 20:25:32 -080025 long srcSwitch, long srcPort, long srcMac,
26 long dstSwitch, long dstPort, long dstMac) {
27 super(id);
Toshio Koide0e4d8d22014-02-14 10:56:10 -080028 srcSwitchDpid = srcSwitch;
29 srcPortNumber = srcPort;
30 srcMacAddress = srcMac;
31 dstSwitchDpid = dstSwitch;
32 dstPortNumber = dstPort;
33 dstMacAddress = dstMac;
Toshio Koidead17d5e2014-02-11 11:36:02 -080034 }
35
Toshio Koide0e4d8d22014-02-14 10:56:10 -080036 public long getSrcSwitchDpid() {
37 return srcSwitchDpid;
Toshio Koidead17d5e2014-02-11 11:36:02 -080038 }
39
Toshio Koide0e4d8d22014-02-14 10:56:10 -080040 public long getSrcPortNumber() {
41 return srcPortNumber;
Toshio Koidead17d5e2014-02-11 11:36:02 -080042 }
43
Toshio Koide0e4d8d22014-02-14 10:56:10 -080044 public long getSrcMac() {
45 return srcMacAddress;
Toshio Koidead17d5e2014-02-11 11:36:02 -080046 }
47
Toshio Koide0e4d8d22014-02-14 10:56:10 -080048 public long getDstSwitchDpid() {
49 return dstSwitchDpid;
50 }
51
52 public long getDstPortNumber() {
53 return dstPortNumber;
54 }
55
56 public long getDstMac() {
57 return dstMacAddress;
Toshio Koidead17d5e2014-02-11 11:36:02 -080058 }
59
Toshio Koidea10c0372014-02-20 17:28:10 -080060 public void setPathIntent(PathIntent pathIntent) {
61 pathIntentId = pathIntent.getId();
62 }
63
64 public String getPathIntentId() {
65 return pathIntentId;
66 }
67
Toshio Koidead17d5e2014-02-11 11:36:02 -080068 @Override
69 public String toString() {
Toshio Koide0c9106d2014-02-19 15:26:38 -080070 return String.format("id:%s, state:%s, srcDpid:%s, srcPort:%d, srcMac:%s, dstDpid:%s, dstPort:%d, dstMac:%s",
Toshio Koidea10c0372014-02-20 17:28:10 -080071 getId(), getState(),
Toshio Koide0e4d8d22014-02-14 10:56:10 -080072 new Dpid(srcSwitchDpid), srcPortNumber, MACAddress.valueOf(srcMacAddress),
73 new Dpid(dstSwitchDpid), dstPortNumber, MACAddress.valueOf(dstMacAddress));
Toshio Koideebdbb622014-02-12 20:28:38 -080074 }
Toshio Koidead17d5e2014-02-11 11:36:02 -080075}