Finish off a couple of things to get PIM to send HELLOs.
Also added packet request to PacketService to get punt flows installed in switches.
Change-Id: I7340d09a1cf2ec06fb33ac0c4fc14eb43e94f496
diff --git a/apps/pim/src/main/java/org/onosproject/pim/impl/PIMApplication.java b/apps/pim/src/main/java/org/onosproject/pim/impl/PIMApplication.java
index a286726..6aa935e 100644
--- a/apps/pim/src/main/java/org/onosproject/pim/impl/PIMApplication.java
+++ b/apps/pim/src/main/java/org/onosproject/pim/impl/PIMApplication.java
@@ -37,10 +37,12 @@
import org.onosproject.net.mcast.MulticastRouteService;
import org.onosproject.net.packet.InboundPacket;
import org.onosproject.net.packet.PacketContext;
+import org.onosproject.net.packet.PacketPriority;
import org.onosproject.net.packet.PacketProcessor;
import org.onosproject.net.packet.PacketService;
import org.slf4j.Logger;
+import java.util.Optional;
import java.util.Set;
import static org.slf4j.LoggerFactory.getLogger;
@@ -85,6 +87,8 @@
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
protected PIMInterfaceService pimInterfaceManager;
+ private final PIMPacketProcessor processor = new PIMPacketProcessor();
+
/**
* Activate the PIM component.
*/
@@ -100,10 +104,11 @@
selector.matchIPProtocol(IPv4.PROTOCOL_PIM);
// Use the traffic selector to tell the packet service which packets we want.
- // PIMPacketService is an inner class defined below
- PIMPacketProcessor processor = new PIMPacketProcessor();
packetService.addProcessor(processor, PacketProcessor.director(5));
+ packetService.requestPackets(selector.build(), PacketPriority.CONTROL,
+ appId, Optional.empty());
+
// Register for notifications from the Network config & Interface services.
// We'll use these services to represent "PIMInterfaces"
@@ -121,6 +126,8 @@
*/
@Deactivate
public void deactivate() {
+ packetService.removeProcessor(processor);
+
log.info("Stopped");
}