Request packet in when config being modified during runtime.
We can now enable features such as IPv6 via cfg command dynamically.
NOTE: We should remove unnecessary packet requests when app being deactivated
or modified once PacketService support the request revocation.
Change-Id: I7f239ce9db74456097675d03de99468db70a919f
diff --git a/apps/proxyarp/src/main/java/org/onosproject/proxyarp/ProxyArp.java b/apps/proxyarp/src/main/java/org/onosproject/proxyarp/ProxyArp.java
index 8b6b413..afcd4ee 100644
--- a/apps/proxyarp/src/main/java/org/onosproject/proxyarp/ProxyArp.java
+++ b/apps/proxyarp/src/main/java/org/onosproject/proxyarp/ProxyArp.java
@@ -76,10 +76,34 @@
public void activate(ComponentContext context) {
cfgService.registerProperties(getClass());
appId = coreService.registerApplication("org.onosproject.proxyarp");
- readComponentConfiguration(context);
packetService.addProcessor(processor, PacketProcessor.ADVISOR_MAX + 1);
+ readComponentConfiguration(context);
+ requestPackests();
+ log.info("Started with Application ID {}", appId.id());
+ }
+
+ @Deactivate
+ public void deactivate() {
+ // TODO revoke all packet requests when deactivate
+ cfgService.unregisterProperties(getClass(), false);
+ packetService.removeProcessor(processor);
+ processor = null;
+ log.info("Stopped");
+ }
+
+ @Modified
+ public void modified(ComponentContext context) {
+ // TODO revoke unnecessary packet requests when config being modified
+ readComponentConfiguration(context);
+ requestPackests();
+ }
+
+ /**
+ * Request packet in via PacketService.
+ */
+ private void requestPackests() {
TrafficSelector.Builder selectorBuilder =
DefaultTrafficSelector.builder();
selectorBuilder.matchEthType(Ethernet.TYPE_ARP);
@@ -103,21 +127,6 @@
packetService.requestPackets(selectorBuilder.build(),
PacketPriority.CONTROL, appId);
}
-
- log.info("Started with Application ID {}", appId.id());
- }
-
- @Deactivate
- public void deactivate() {
- cfgService.unregisterProperties(getClass(), false);
- packetService.removeProcessor(processor);
- processor = null;
- log.info("Stopped");
- }
-
- @Modified
- public void modified(ComponentContext context) {
- readComponentConfiguration(context);
}
/**