many fixes from different people in various place. Optical, FlowRuleManager, LinkDiscovery

Change-Id: Ie3302e80ee94bf2e41b3da7ac765557b1e7509fd
diff --git a/core/net/src/main/java/org/onlab/onos/net/flow/impl/FlowRuleManager.java b/core/net/src/main/java/org/onlab/onos/net/flow/impl/FlowRuleManager.java
index 67e0867..01514d4 100644
--- a/core/net/src/main/java/org/onlab/onos/net/flow/impl/FlowRuleManager.java
+++ b/core/net/src/main/java/org/onlab/onos/net/flow/impl/FlowRuleManager.java
@@ -299,7 +299,8 @@
         private void extraneousFlow(FlowRule flowRule) {
             checkNotNull(flowRule, FLOW_RULE_NULL);
             checkValidity();
-            removeFlowRules(flowRule);
+            FlowRuleProvider frp = getProvider(flowRule.deviceId());
+            frp.removeFlowRule(flowRule);
             log.debug("Flow {} is on switch but not in store.", flowRule);
         }