Committed by
Brian O'Connor
Fix bug that inconsistency happens in long value and name in PortNumber
The case is like the underlying name is "2", but long value is 0. This fix relates to ONOS-2082. Change-Id: I702ed91563296d38980dc6895fafb18aecaa26f8
Showing
1 changed file
with
8 additions
and
1 deletions
... | @@ -517,13 +517,20 @@ class ConfigProvider implements DeviceProvider, LinkProvider, HostProvider { | ... | @@ -517,13 +517,20 @@ class ConfigProvider implements DeviceProvider, LinkProvider, HostProvider { |
517 | String portName = text.substring(i + 1); | 517 | String portName = text.substring(i + 1); |
518 | DeviceId deviceId = deviceId(text.substring(0, i)); | 518 | DeviceId deviceId = deviceId(text.substring(0, i)); |
519 | 519 | ||
520 | - long portNum = 0L; | ||
521 | for (Port port : deviceService.getPorts(deviceId)) { | 520 | for (Port port : deviceService.getPorts(deviceId)) { |
522 | PortNumber pn = port.number(); | 521 | PortNumber pn = port.number(); |
523 | if (pn.name().equals(portName)) { | 522 | if (pn.name().equals(portName)) { |
524 | return new ConnectPoint(deviceId, pn); | 523 | return new ConnectPoint(deviceId, pn); |
525 | } | 524 | } |
526 | } | 525 | } |
526 | + | ||
527 | + long portNum; | ||
528 | + try { | ||
529 | + portNum = Long.parseLong(portName); | ||
530 | + } catch (NumberFormatException e) { | ||
531 | + portNum = 0; | ||
532 | + } | ||
533 | + | ||
527 | return new ConnectPoint(deviceId, portNumber(portNum, portName)); | 534 | return new ConnectPoint(deviceId, portNumber(portNum, portName)); |
528 | } | 535 | } |
529 | 536 | ... | ... |
-
Please register or login to post a comment