Don't install table miss entry for OVS 1.3 or CPqD switches.

We shouldn't have special behaviour for some switches, and we want
send-to-controller behaviour to be determined by the applications rather
than the switch type.

Change-Id: I87fd0c0c0b567660378d325286101d19d86aba33
diff --git a/openflow/drivers/src/main/java/org/onosproject/openflow/drivers/DriverManager.java b/openflow/drivers/src/main/java/org/onosproject/openflow/drivers/DriverManager.java
index f7a5f1a..f7c547c 100644
--- a/openflow/drivers/src/main/java/org/onosproject/openflow/drivers/DriverManager.java
+++ b/openflow/drivers/src/main/java/org/onosproject/openflow/drivers/DriverManager.java
@@ -39,10 +39,6 @@
 
     private static final Logger log = LoggerFactory.getLogger(DriverManager.class);
 
-    // Whether to use an OF 1.3 configured TTP, or to use an OF 1.0-style
-    // single table with packet-ins.
-    private static boolean cpqdUsePipeline13 = false;
-
     /**
      * Return an IOFSwitch object based on switch's manufacturer description
      * from OFDescStatsReply.
@@ -59,7 +55,7 @@
         if (vendor.startsWith("Stanford University, Ericsson Research and CPqD Research")
                 &&
                 hw.startsWith("OpenFlow 1.3 Reference Userspace Switch")) {
-            return new OFSwitchImplCPqD13(dpid, desc, cpqdUsePipeline13);
+            return new OFSwitchImplCPqD13(dpid, desc);
         }
 
         if (hw.startsWith("Open vSwitch")) {
@@ -129,18 +125,6 @@
     private DriverManager() {
     }
 
-    /**
-     * Sets the configuration parameter which determines how the CPqD switch
-     * is set up. If usePipeline13 is true, a 1.3 pipeline will be set up on
-     * the switch. Otherwise, the switch will be set up in a 1.0 style with
-     * a single table where missed packets are sent to the controller.
-     *
-     * @param usePipeline13 whether to use a 1.3 pipeline or not
-     */
-    public static void setConfigForCpqd(boolean usePipeline13) {
-        cpqdUsePipeline13 = usePipeline13;
-    }
-
     public static OpenFlowSwitchDriver getSwitch(Dpid dpid,
             OFDescStatsReply desc, OFVersion ofv) {
         return new DriverManager().getOFSwitchImpl(dpid, desc, ofv);
diff --git a/openflow/drivers/src/main/java/org/onosproject/openflow/drivers/OFSwitchImplCPqD13.java b/openflow/drivers/src/main/java/org/onosproject/openflow/drivers/OFSwitchImplCPqD13.java
index 276395a..b804cd9 100644
--- a/openflow/drivers/src/main/java/org/onosproject/openflow/drivers/OFSwitchImplCPqD13.java
+++ b/openflow/drivers/src/main/java/org/onosproject/openflow/drivers/OFSwitchImplCPqD13.java
@@ -15,6 +15,14 @@
  */
 package org.onosproject.openflow.drivers;
 
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.atomic.AtomicBoolean;
+
 import org.onosproject.openflow.controller.Dpid;
 import org.onosproject.openflow.controller.RoleState;
 import org.onosproject.openflow.controller.driver.AbstractOpenFlowSwitch;
@@ -57,14 +65,6 @@
 import org.projectfloodlight.openflow.types.U64;
 import org.projectfloodlight.openflow.util.HexString;
 
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.atomic.AtomicBoolean;
-
 /**
  * OFDescriptionStatistics Vendor (Manufacturer Desc.): Stanford University,
  * Ericsson Research and CPqD Research. Make (Hardware Desc.) : OpenFlow 1.3
@@ -107,15 +107,11 @@
 
     private final Map<Integer, OFGroup> l2groups;
 
-    private final boolean usePipeline13;
-
-    public OFSwitchImplCPqD13(Dpid dpid, OFDescStatsReply desc, boolean usePipeline13) {
+    public OFSwitchImplCPqD13(Dpid dpid, OFDescStatsReply desc) {
         super(dpid);
         driverHandshakeComplete = new AtomicBoolean(false);
         l2groups = new ConcurrentHashMap<Integer, OFGroup>();
         setSwitchDescription(desc);
-
-        this.usePipeline13 = usePipeline13;
     }
 
     /* (non-Javadoc)
@@ -136,12 +132,7 @@
         }
         startDriverHandshakeCalled = true;
         factory = this.factory();
-        if (!usePipeline13) {
-            // Send packet-in to controller if a packet misses the first table
-            populateTableMissEntry(0, true, false, false, 0);
-        } //else {
-        // configureSwitch();
-        //}
+
         sendBarrier(true);
     }
 
diff --git a/openflow/drivers/src/main/java/org/onosproject/openflow/drivers/OFSwitchImplOVS13.java b/openflow/drivers/src/main/java/org/onosproject/openflow/drivers/OFSwitchImplOVS13.java
index c7f45db..1b267d3 100644
--- a/openflow/drivers/src/main/java/org/onosproject/openflow/drivers/OFSwitchImplOVS13.java
+++ b/openflow/drivers/src/main/java/org/onosproject/openflow/drivers/OFSwitchImplOVS13.java
@@ -15,6 +15,11 @@
  */
 package org.onosproject.openflow.drivers;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.concurrent.atomic.AtomicBoolean;
+
 import org.onosproject.openflow.controller.Dpid;
 import org.onosproject.openflow.controller.driver.AbstractOpenFlowSwitch;
 import org.onosproject.openflow.controller.driver.SwitchDriverSubHandshakeAlreadyStarted;
@@ -32,11 +37,6 @@
 import org.projectfloodlight.openflow.types.OFPort;
 import org.projectfloodlight.openflow.types.TableId;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.concurrent.atomic.AtomicBoolean;
-
 /**
  * OFDescriptionStatistics Vendor (Manufacturer Desc.): Nicira, Inc. Make
  * (Hardware Desc.) : Open vSwitch Model (Datapath Desc.) : None Software :
@@ -132,13 +132,10 @@
         }
     }
 
-
     private void configureSwitch() {
-        populateTableMissEntry(0, true, false, false, 0);
         sendBarrier(true);
     }
 
-
     private void sendBarrier(boolean finalBarrier) {
         int xid = getNextTransactionId();
         if (finalBarrier) {