blob: 3adc756610f3df6fa7db75eb9a44919b235d2b9e [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 {
Ray Milkey269ffb92014-04-03 14:43:30 -070010 protected long srcSwitchDpid;
11 protected long srcPortNumber;
12 protected long srcMacAddress;
13 protected long dstSwitchDpid;
14 protected long dstPortNumber;
15 protected long dstMacAddress;
16 protected String pathIntentId = null;
Toshio Koidead17d5e2014-02-11 11:36:02 -080017
Ray Milkey269ffb92014-04-03 14:43:30 -070018 /**
19 * Default constructor for Kryo deserialization
20 */
21 protected ShortestPathIntent() {
22 }
Toshio Koidead17d5e2014-02-11 11:36:02 -080023
Ray Milkey269ffb92014-04-03 14:43:30 -070024 public ShortestPathIntent(String id,
25 long srcSwitch, long srcPort, long srcMac,
26 long dstSwitch, long dstPort, long dstMac) {
27 super(id);
28 srcSwitchDpid = srcSwitch;
29 srcPortNumber = srcPort;
30 srcMacAddress = srcMac;
31 dstSwitchDpid = dstSwitch;
32 dstPortNumber = dstPort;
33 dstMacAddress = dstMac;
34 }
Toshio Koidead17d5e2014-02-11 11:36:02 -080035
Ray Milkey269ffb92014-04-03 14:43:30 -070036 public long getSrcSwitchDpid() {
37 return srcSwitchDpid;
38 }
Toshio Koidead17d5e2014-02-11 11:36:02 -080039
Ray Milkey269ffb92014-04-03 14:43:30 -070040 public long getSrcPortNumber() {
41 return srcPortNumber;
42 }
Toshio Koidead17d5e2014-02-11 11:36:02 -080043
Ray Milkey269ffb92014-04-03 14:43:30 -070044 public long getSrcMac() {
45 return srcMacAddress;
46 }
Toshio Koidead17d5e2014-02-11 11:36:02 -080047
Ray Milkey269ffb92014-04-03 14:43:30 -070048 public long getDstSwitchDpid() {
49 return dstSwitchDpid;
50 }
Toshio Koide0e4d8d22014-02-14 10:56:10 -080051
Ray Milkey269ffb92014-04-03 14:43:30 -070052 public long getDstPortNumber() {
53 return dstPortNumber;
54 }
Toshio Koide0e4d8d22014-02-14 10:56:10 -080055
Ray Milkey269ffb92014-04-03 14:43:30 -070056 public long getDstMac() {
57 return dstMacAddress;
58 }
Toshio Koidead17d5e2014-02-11 11:36:02 -080059
Ray Milkey269ffb92014-04-03 14:43:30 -070060 public void setPathIntent(PathIntent pathIntent) {
61 pathIntentId = pathIntent.getId();
62 }
Toshio Koidea10c0372014-02-20 17:28:10 -080063
Ray Milkey269ffb92014-04-03 14:43:30 -070064 public String getPathIntentId() {
65 return pathIntentId;
66 }
Toshio Koidea10c0372014-02-20 17:28:10 -080067
Ray Milkey269ffb92014-04-03 14:43:30 -070068 @Override
69 public String toString() {
70 return String.format("id:%s, state:%s, srcDpid:%s, srcPort:%d, srcMac:%s, dstDpid:%s, dstPort:%d, dstMac:%s",
71 getId(), getState(),
72 new Dpid(srcSwitchDpid), srcPortNumber, MACAddress.valueOf(srcMacAddress),
73 new Dpid(dstSwitchDpid), dstPortNumber, MACAddress.valueOf(dstMacAddress));
74 }
Toshio Koidead17d5e2014-02-11 11:36:02 -080075}