class DataPacketAdapter implements PacketProcessingListener {
private static final Logger LOG = LoggerFactory.getLogger(DataPacketAdapter.class);
+
+ // These are injected via Apache DM (see ComponentActivator)
private IPluginOutDataPacketService dataPacketPublisher;
@Override
public void onPacketReceived(final PacketReceived packet) {
try {
RawPacket inPacket = toRawPacket(packet);
- dataPacketPublisher.receiveDataPacket(inPacket);
+ if (dataPacketPublisher != null) {
+ dataPacketPublisher.receiveDataPacket(inPacket);
+ } else {
+ LOG.warn("IPluginOutDataPacketService is not available. Not forwarding packet to AD-SAL.");
+ }
} catch (ConstructionException e) {
LOG.warn("Failed to construct raw packet from {}, dropping it", packet, e);
}
ret.setIncomingNodeConnector(NodeMapping.toADNodeConnector(received.getIngress()));
return ret;
}
+
+ public IPluginOutDataPacketService getDataPacketPublisher() {
+ return dataPacketPublisher;
+ }
+
+ // These are injected via Apache DM (see ComponentActivator)
+ public void setDataPacketPublisher(final IPluginOutDataPacketService dataPacketPublisher) {
+ this.dataPacketPublisher = dataPacketPublisher;
+ }
}
private final InstanceIdentifier<Topology> topology = InstanceIdentifier.builder(NetworkTopology.class)
.child(Topology.class, new TopologyKey(new TopologyId("flow:1"))).toInstance();
- // FIXME: seems to be unused
+ // Injected via Apache DM
private IPluginOutTopologyService topologyPublisher;
+
+
private DataProviderService dataService;
public void setDataService(final DataProviderService dataService) {
final Topology t = reader.readOperationalData(topology);
topologyPublisher.edgeUpdate(TopologyMapping.toADEdgeUpdates(t, reader));
}
+
+ public IPluginOutTopologyService getTopologyPublisher() {
+ return topologyPublisher;
+ }
+
+ public void setTopologyPublisher(final IPluginOutTopologyService topologyPublisher) {
+ this.topologyPublisher = topologyPublisher;
+ }
}