It turns out that sometimes ovsdb returns an ofport of -1 to indicate that
there is no associated ofport value. We should represent that by *not*
having an ofport value
Change-Id: I2a28a34333ff1b92728286672499714079346444
Signed-off-by: Ed Warnicke <eaw@cisco.com>
Set<Long> ofPorts = interfIter.getOpenFlowPortColumn().getData();
if (ofPorts != null && !ofPorts.isEmpty()) {
Iterator<Long> ofPortsIter = ofPorts.iterator();
Set<Long> ofPorts = interfIter.getOpenFlowPortColumn().getData();
if (ofPorts != null && !ofPorts.isEmpty()) {
Iterator<Long> ofPortsIter = ofPorts.iterator();
- ovsdbTerminationPointBuilder
- .setOfport(ofPortsIter.next().intValue());
+ int ofPort = ofPortsIter.next().intValue();
+ if (ofPort >= 0) {
+ ovsdbTerminationPointBuilder
+ .setOfport(ofPort);
+ } else {
+ LOG.debug("Received negative value for ofPort from ovsdb for {} {} {}",
+ bridge.getName(), interfIter.getName(),ofPort);
+ }
}
Set<Long> ofPortRequests = interfIter
.getOpenFlowPortRequestColumn().getData();
if (ofPortRequests != null && !ofPortRequests.isEmpty()) {
Iterator<Long> ofPortRequestsIter = ofPortRequests.iterator();
}
Set<Long> ofPortRequests = interfIter
.getOpenFlowPortRequestColumn().getData();
if (ofPortRequests != null && !ofPortRequests.isEmpty()) {
Iterator<Long> ofPortRequestsIter = ofPortRequests.iterator();
- ovsdbTerminationPointBuilder
- .setOfportRequest(ofPortRequestsIter.next().intValue());
+ int ofPort = ofPortRequestsIter.next().intValue();
+ if (ofPort >= 0) {
+ ovsdbTerminationPointBuilder
+ .setOfportRequest(ofPort);
+ } else {
+ LOG.debug("Received negative value for ofPort from ovsdb for {} {} {}",
+ bridge.getName(), interfIter.getName(),ofPort);
+ }
}
Map<String, String> externalIds = interfIter.getExternalIdsColumn().getData();
}
Map<String, String> externalIds = interfIter.getExternalIdsColumn().getData();