Committed by
Gerrit Code Review
BMv2 device friendly name set during device discovery
Change-Id: Iddc7a45a86364103bdc6e4a51b5aca2a483aecc1
Showing
1 changed file
with
16 additions
and
0 deletions
... | @@ -40,6 +40,8 @@ import org.onosproject.net.config.ConfigFactory; | ... | @@ -40,6 +40,8 @@ import org.onosproject.net.config.ConfigFactory; |
40 | import org.onosproject.net.config.NetworkConfigEvent; | 40 | import org.onosproject.net.config.NetworkConfigEvent; |
41 | import org.onosproject.net.config.NetworkConfigListener; | 41 | import org.onosproject.net.config.NetworkConfigListener; |
42 | import org.onosproject.net.config.NetworkConfigRegistry; | 42 | import org.onosproject.net.config.NetworkConfigRegistry; |
43 | +import org.onosproject.net.config.NetworkConfigService; | ||
44 | +import org.onosproject.net.config.basics.BasicDeviceConfig; | ||
43 | import org.onosproject.net.device.DeviceDescription; | 45 | import org.onosproject.net.device.DeviceDescription; |
44 | import org.onosproject.net.device.DeviceDescriptionDiscovery; | 46 | import org.onosproject.net.device.DeviceDescriptionDiscovery; |
45 | import org.onosproject.net.device.DeviceService; | 47 | import org.onosproject.net.device.DeviceService; |
... | @@ -120,6 +122,9 @@ public class Bmv2DeviceProvider extends AbstractDeviceProvider { | ... | @@ -120,6 +122,9 @@ public class Bmv2DeviceProvider extends AbstractDeviceProvider { |
120 | @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) | 122 | @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) |
121 | protected Bmv2TableEntryService tableEntryService; | 123 | protected Bmv2TableEntryService tableEntryService; |
122 | 124 | ||
125 | + @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) | ||
126 | + protected NetworkConfigService configService; | ||
127 | + | ||
123 | private ApplicationId appId; | 128 | private ApplicationId appId; |
124 | private ScheduledFuture<?> poller; | 129 | private ScheduledFuture<?> poller; |
125 | 130 | ||
... | @@ -224,6 +229,7 @@ public class Bmv2DeviceProvider extends AbstractDeviceProvider { | ... | @@ -224,6 +229,7 @@ public class Bmv2DeviceProvider extends AbstractDeviceProvider { |
224 | initPortCounters(did); | 229 | initPortCounters(did); |
225 | providerService.deviceConnected(did, thisDescription); | 230 | providerService.deviceConnected(did, thisDescription); |
226 | updatePortsAndStats(did); | 231 | updatePortsAndStats(did); |
232 | + setNameIfNone(did); | ||
227 | } | 233 | } |
228 | lastDescriptions.put(did, thisDescription); | 234 | lastDescriptions.put(did, thisDescription); |
229 | } else { | 235 | } else { |
... | @@ -294,6 +300,16 @@ public class Bmv2DeviceProvider extends AbstractDeviceProvider { | ... | @@ -294,6 +300,16 @@ public class Bmv2DeviceProvider extends AbstractDeviceProvider { |
294 | } | 300 | } |
295 | } | 301 | } |
296 | 302 | ||
303 | + private void setNameIfNone(DeviceId did) { | ||
304 | + BasicDeviceConfig cfg = configService.addConfig(did, BasicDeviceConfig.class); | ||
305 | + if (cfg.name().equals(did.toString())) { | ||
306 | + // Use only internal device ID, e.g. bmv2:10 | ||
307 | + String name = did.uri().getScheme() + ":" + did.uri().getFragment(); | ||
308 | + cfg.name(name); | ||
309 | + cfg.apply(); | ||
310 | + } | ||
311 | + } | ||
312 | + | ||
297 | private void disconnectDevice(DeviceId did) { | 313 | private void disconnectDevice(DeviceId did) { |
298 | log.debug("Disconnecting device from core... deviceId={}", did); | 314 | log.debug("Disconnecting device from core... deviceId={}", did); |
299 | providerService.deviceDisconnected(did); | 315 | providerService.deviceDisconnected(did); | ... | ... |
-
Please register or login to post a comment