blob: 24cfe6ff8715bc86ac875d809725aed8e2c05d41 [file] [log] [blame]
package org.onlab.onos.fwd;
import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Deactivate;
import org.apache.felix.scr.annotations.Reference;
import org.apache.felix.scr.annotations.ReferenceCardinality;
import org.onlab.onos.net.packet.PacketProcessor;
import org.onlab.onos.net.packet.PacketService;
import org.onlab.onos.net.topology.TopologyService;
@Component
public class ReactiveForwarding {
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
protected TopologyService topologyService;
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
protected PacketService packetService;
private ReactivePacketProcessor processor;
@Activate
public void activate() {
processor = new ReactivePacketProcessor(topologyService);
packetService.addProcessor(processor, PacketProcessor.ADVISOR_MAX + 1);
}
@Deactivate
public void deactivate() {
packetService.removeProcessor(processor);
processor = null;
}
}