Demoting boy-cried-wolf log messages.

Change-Id: Idfb9b3178b79ab6b30af285c10a52b9f20dfbfe1
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java
index 08c87e1..f9d415e 100644
--- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java
+++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java
@@ -51,6 +51,7 @@
 import org.onosproject.openflow.controller.RoleState;
 import org.onosproject.openflow.controller.ThirdPartyMessage;
 import org.osgi.service.component.ComponentContext;
+import org.projectfloodlight.openflow.protocol.OFBadRequestCode;
 import org.projectfloodlight.openflow.protocol.OFBarrierRequest;
 import org.projectfloodlight.openflow.protocol.OFErrorMsg;
 import org.projectfloodlight.openflow.protocol.OFErrorType;
@@ -61,6 +62,7 @@
 import org.projectfloodlight.openflow.protocol.OFPortStatus;
 import org.projectfloodlight.openflow.protocol.OFStatsReply;
 import org.projectfloodlight.openflow.protocol.OFStatsType;
+import org.projectfloodlight.openflow.protocol.errormsg.OFBadRequestErrorMsg;
 import org.projectfloodlight.openflow.protocol.errormsg.OFFlowModFailedErrorMsg;
 import org.slf4j.Logger;
 
@@ -327,8 +329,7 @@
                     break;
                 case BARRIER_REPLY:
                     try {
-                        InternalCacheEntry entry = pendingBatches.getIfPresent(msg
-                                                                                       .getXid());
+                        InternalCacheEntry entry = pendingBatches.getIfPresent(msg.getXid());
                         if (entry != null) {
                             providerService
                                     .batchOperationCompleted(msg.getXid(),
@@ -342,32 +343,32 @@
                     }
                     break;
                 case ERROR:
-                    log.warn("received Error message {} from {}", msg, dpid);
+                    // TODO: This needs to get suppressed in a better way.
+                    if (msg instanceof OFBadRequestErrorMsg &&
+                            ((OFBadRequestErrorMsg) msg).getCode() == OFBadRequestCode.BAD_TYPE) {
+                        log.debug("Received error message {} from {}", msg, dpid);
+                    } else {
+                        log.warn("Received error message {} from {}", msg, dpid);
+                    }
 
                     OFErrorMsg error = (OFErrorMsg) msg;
                     if (error.getErrType() == OFErrorType.FLOW_MOD_FAILED) {
                         OFFlowModFailedErrorMsg fmFailed = (OFFlowModFailedErrorMsg) error;
                         if (fmFailed.getData().getParsedMessage().isPresent()) {
-                            OFMessage m = fmFailed.getData().getParsedMessage()
-                                    .get();
+                            OFMessage m = fmFailed.getData().getParsedMessage().get();
                             OFFlowMod fm = (OFFlowMod) m;
-                            InternalCacheEntry entry = pendingBatches
-                                    .getIfPresent(msg.getXid());
+                            InternalCacheEntry entry =
+                                    pendingBatches.getIfPresent(msg.getXid());
                             if (entry != null) {
-                                entry.appendFailure(new FlowEntryBuilder(dpid, fm)
-                                                            .build());
+                                entry.appendFailure(new FlowEntryBuilder(dpid, fm).build());
                             } else {
-                                log.error("No matching batch for this error: {}",
-                                          error);
+                                log.error("No matching batch for this error: {}", error);
                             }
                         } else {
-                            // FIXME: Potentially add flowtracking to avoid this
-                            // message.
+                            // FIXME: Potentially add flowtracking to avoid this message.
                             log.error("Flow installation failed but switch didn't"
                                               + " tell us which one.");
                         }
-                    } else {
-                        log.warn("Received error {}", error);
                     }
 
                 default: