blob: 24cfe6ff8715bc86ac875d809725aed8e2c05d41 [file] [log] [blame]
alshabib030111e2014-09-15 15:56:42 -07001package org.onlab.onos.fwd;
2
3import org.apache.felix.scr.annotations.Activate;
4import org.apache.felix.scr.annotations.Component;
5import org.apache.felix.scr.annotations.Deactivate;
6import org.apache.felix.scr.annotations.Reference;
7import org.apache.felix.scr.annotations.ReferenceCardinality;
8import org.onlab.onos.net.packet.PacketProcessor;
9import org.onlab.onos.net.packet.PacketService;
10import org.onlab.onos.net.topology.TopologyService;
11
12@Component
13public class ReactiveForwarding {
14
15 @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
16 protected TopologyService topologyService;
17
18 @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
19 protected PacketService packetService;
20
21 private ReactivePacketProcessor processor;
22
23 @Activate
24 public void activate() {
25 processor = new ReactivePacketProcessor(topologyService);
26 packetService.addProcessor(processor, PacketProcessor.ADVISOR_MAX + 1);
27 }
28
29 @Deactivate
30 public void deactivate() {
31 packetService.removeProcessor(processor);
32 processor = null;
33 }
34}
35