Merge pull request #4 from OPENNETWORKINGLAB/master
Merge with Main
diff --git a/src/main/java/net/onrc/onos/ofcontroller/core/internal/LinkStorageImpl.java b/src/main/java/net/onrc/onos/ofcontroller/core/internal/LinkStorageImpl.java
index 6e42771..c37fad2 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/core/internal/LinkStorageImpl.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/core/internal/LinkStorageImpl.java
@@ -207,7 +207,7 @@
IPortObject srcPort = dbop.searchPort(HexString.toHexString(dpid), port);
ISwitchObject srcSw = srcPort.getSwitch();
- if(srcSw != null) {
+ if(srcSw != null && srcPort != null) {
for(IPortObject dstPort : srcPort.getLinkedPorts()) {
ISwitchObject dstSw = dstPort.getSwitch();
Link link = new Link(HexString.toLong(srcSw.getDPID()),
diff --git a/src/main/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImpl.java b/src/main/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImpl.java
index 126efb3..3374fa7 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImpl.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImpl.java
@@ -167,7 +167,11 @@
IPortObject p = op.searchPort(dpid, port.getPortNumber());
log.info("SwitchStorage:addPort dpid:{} port:{}", dpid, port.getPortNumber());
if (p != null) {
- log.error("SwitchStorage:addPort dpid:{} port:{} exists", dpid, port.getPortNumber());
+ log.error("SwitchStorage:addPort dpid:{} port:{} exists setting as ACTIVE", dpid, port.getPortNumber());
+ p.setState("ACTIVE");
+ p.setPortState(port.getState());
+ p.setDesc(port.getName());
+ op.commit();
} else {
p = op.newPort(dpid, port.getPortNumber());
p.setState("ACTIVE");
@@ -200,9 +204,8 @@
if (sw != null) {
IPortObject p = op.searchPort(dpid, port);
if (p != null) {
- log.info("SwitchStorage:deletePort dpid:{} port:{} found and deleted", dpid, port);
- sw.removePort(p);
- op.removePort(p);
+ log.info("SwitchStorage:deletePort dpid:{} port:{} found and set INACTIVE", dpid, port);
+ p.setState("INACTIVE");
op.commit();
}
}