blob: 4016c69484aa799bf0be1cad2d5b1edf186ef3dc [file] [log] [blame]
HIGUCHI Yutaea60e5f2013-06-12 11:10:21 -07001package net.onrc.onos.ofcontroller.bgproute;
Jonathan Harte7e1c6e2013-06-04 20:50:23 -07002
Jonathan Harte7e1c6e2013-06-04 20:50:23 -07003import net.floodlightcontroller.util.MACAddress;
Jonathan Hartd1f23252013-06-13 15:17:05 +12004import net.onrc.onos.ofcontroller.util.Dpid;
HIGUCHI Yuta356086e2013-06-12 15:21:19 -07005import net.onrc.onos.ofcontroller.util.IPv4;
Jonathan Hartd1f23252013-06-13 15:17:05 +12006import net.onrc.onos.ofcontroller.util.Port;
HIGUCHI Yuta356086e2013-06-12 15:21:19 -07007import net.onrc.onos.ofcontroller.util.SwitchPort;
Jonathan Harte7e1c6e2013-06-04 20:50:23 -07008
Jonathan Hartd1f23252013-06-13 15:17:05 +12009import org.codehaus.jackson.annotate.JsonProperty;
10import org.openflow.util.HexString;
11
Jonathan Harte7e1c6e2013-06-04 20:50:23 -070012public class GatewayRouter {
Jonathan Hartd1f23252013-06-13 15:17:05 +120013 private SwitchPort attachmentPoint = null;
14 private long dpid;
15 private short port;
Jonathan Harte7e1c6e2013-06-04 20:50:23 -070016 private MACAddress routerMac;
17 private IPv4 routerIp;
18
Jonathan Hart50a8d1e2013-06-06 16:00:47 +120019
Jonathan Hartd1f23252013-06-13 15:17:05 +120020 public SwitchPort getAttachmentPoint() {
21 if (attachmentPoint == null){
22 attachmentPoint = new SwitchPort(new Dpid(dpid), new Port(port));
23 }
24 return attachmentPoint;
25 }
26
27 public long getDpid() {
28 return dpid;
Jonathan Harte7e1c6e2013-06-04 20:50:23 -070029 }
30
Jonathan Hartd1f23252013-06-13 15:17:05 +120031 @JsonProperty("attachmentDpid")
32 public void setDpid(String dpid) {
33 this.dpid = HexString.toLong(dpid);
34 }
35
36 public short getPort() {
37 return port;
38 }
39
40 @JsonProperty("attachmentPort")
41 public void setPort(short port) {
42 this.port = port;
Jonathan Harte7e1c6e2013-06-04 20:50:23 -070043 }
44
45 public MACAddress getRouterMac() {
46 return routerMac;
47 }
Jonathan Hartd1f23252013-06-13 15:17:05 +120048
49 @JsonProperty("macAddress")
50 public void setRouterMac(String routerMac) {
51 this.routerMac = MACAddress.valueOf(routerMac);;
52 }
Jonathan Harte7e1c6e2013-06-04 20:50:23 -070053
54 public IPv4 getRouterIp() {
55 return routerIp;
56 }
Jonathan Hart50a8d1e2013-06-06 16:00:47 +120057
Jonathan Hartd1f23252013-06-13 15:17:05 +120058 @JsonProperty("ipAddress")
59 public void setRouterIp(String routerIp) {
60 this.routerIp = new IPv4(routerIp);
Jonathan Hart50a8d1e2013-06-06 16:00:47 +120061 }
Jonathan Harte7e1c6e2013-06-04 20:50:23 -070062}