blob: 26779425fd8437a7830bb26a32d9b500a310dca3 [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 */
20 @Deprecated
21 public 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
60 @Override
61 public String toString() {
Toshio Koide0e4d8d22014-02-14 10:56:10 -080062 return String.format("srcDpid:%s, srcPort:%d, srcMac:%s, dstDpid:%s, dstPort:%d, dstMac:%s",
63 new Dpid(srcSwitchDpid), srcPortNumber, MACAddress.valueOf(srcMacAddress),
64 new Dpid(dstSwitchDpid), dstPortNumber, MACAddress.valueOf(dstMacAddress));
Toshio Koideebdbb622014-02-12 20:28:38 -080065 }
Toshio Koidead17d5e2014-02-11 11:36:02 -080066}