diff --git a/core/net/src/main/java/org/onosproject/net/packet/impl/PacketDriverProvider.java b/core/net/src/main/java/org/onosproject/net/packet/impl/PacketDriverProvider.java index 78d1a75f53..be9551f283 100644 --- a/core/net/src/main/java/org/onosproject/net/packet/impl/PacketDriverProvider.java +++ b/core/net/src/main/java/org/onosproject/net/packet/impl/PacketDriverProvider.java @@ -61,6 +61,10 @@ public class PacketDriverProvider extends AbstractProvider implements PacketProv } private PacketProgrammable getPacketProgrammable(DeviceId deviceId) { + if (deviceService == null) { + log.debug("Packet encountered but device service is not ready, dropping"); + return null; + } Device device = deviceService.getDevice(deviceId); if (device.is(PacketProgrammable.class)) { return device.as(PacketProgrammable.class); diff --git a/core/net/src/main/java/org/onosproject/net/packet/impl/PacketManager.java b/core/net/src/main/java/org/onosproject/net/packet/impl/PacketManager.java index bace76363e..1ecf5b4a84 100644 --- a/core/net/src/main/java/org/onosproject/net/packet/impl/PacketManager.java +++ b/core/net/src/main/java/org/onosproject/net/packet/impl/PacketManager.java @@ -130,8 +130,8 @@ public class PacketManager appId = coreService.getAppId(CoreService.CORE_APP_NAME); store.setDelegate(delegate); deviceService.addListener(deviceListener); - store.existingRequests().forEach(this::pushToAllDevices); defaultProvider.init(deviceService); + store.existingRequests().forEach(this::pushToAllDevices); log.info("Started"); }