Added basic driver configuration for various HP product families.

Change-Id: Ifab3b5dba544e8f4117190a40dd062ccc5a1f19e
diff --git a/drivers/default/src/main/resources/onos-drivers.xml b/drivers/default/src/main/resources/onos-drivers.xml
index 3d5f6d0..20b9011 100644
--- a/drivers/default/src/main/resources/onos-drivers.xml
+++ b/drivers/default/src/main/resources/onos-drivers.xml
@@ -184,11 +184,7 @@
     <driver name="aos" extends="ofdpa"
             manufacturer="Accton" hwVersion=".*" swVersion="1.*">
     </driver>
-    <driver name="hp" extends="default"
-            manufacturer="HP" hwVersion="Switch 3500yl-48G" swVersion="K.16.01.0004">
-        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
-                   impl="org.onosproject.driver.pipeline.HpPipeline"/>
-    </driver>
+
     <!-- The abstract driver is meant as a base driver containing classes that are
        ~ present in the default drivers module. These classes are needed by other
        ~ drivers but not loaded by any of the base ones.
diff --git a/drivers/default/src/main/java/org/onosproject/driver/pipeline/HpPipeline.java b/drivers/hp/src/main/java/org/onosproject/drivers/hp/HPPipelineOld.java
similarity index 96%
rename from drivers/default/src/main/java/org/onosproject/driver/pipeline/HpPipeline.java
rename to drivers/hp/src/main/java/org/onosproject/drivers/hp/HPPipelineOld.java
index cfb2c4f..6b82e6a 100644
--- a/drivers/default/src/main/java/org/onosproject/driver/pipeline/HpPipeline.java
+++ b/drivers/hp/src/main/java/org/onosproject/drivers/hp/HPPipelineOld.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.driver.pipeline;
+package org.onosproject.drivers.hp;
 
 
 import org.onlab.osgi.ServiceDirectory;
@@ -48,7 +48,7 @@
 /**
  *  Driver for Hp. Default table starts from 200.
  */
-public class HpPipeline extends AbstractHandlerBehaviour implements Pipeliner {
+public class HPPipelineOld extends AbstractHandlerBehaviour implements Pipeliner {
 
 
     private final Logger log = getLogger(getClass());
diff --git a/drivers/hp/src/main/java/org/onosproject/drivers/hp/HPPipelineV3800.java b/drivers/hp/src/main/java/org/onosproject/drivers/hp/HPPipelineV3800.java
index 3eb3aea..9c16815 100644
--- a/drivers/hp/src/main/java/org/onosproject/drivers/hp/HPPipelineV3800.java
+++ b/drivers/hp/src/main/java/org/onosproject/drivers/hp/HPPipelineV3800.java
@@ -38,6 +38,7 @@
  * Driver for HP3800 hybrid switches.
  */
 public class HPPipelineV3800 extends AbstractHPPipeline {
+    // FIXME: This class should probably be renamed not to imply it applies for the 3800 series solely.
 
     private static final int HP_TABLE_ZERO = 0;
     private static final int HP_HARDWARE_TABLE = 100;
diff --git a/drivers/hp/src/main/resources/hp-driver.xml b/drivers/hp/src/main/resources/hp-driver.xml
index 7fcb80a..4e67129 100644
--- a/drivers/hp/src/main/resources/hp-driver.xml
+++ b/drivers/hp/src/main/resources/hp-driver.xml
@@ -15,11 +15,47 @@
   ~ limitations under the License.
   -->
 <drivers>
-   <driver name="hp3800"
-            manufacturer="HP" hwVersion="3800-48G-4SFP+ Switch" swVersion="KA.16.03.0003">
+    <driver name="hp-switch">
         <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                    impl="org.onosproject.drivers.hp.HPPipelineV3800"/>
         <behaviour api="org.onosproject.openflow.controller.driver.OpenFlowSwitchDriver"
                    impl="org.onosproject.drivers.hp.HPSwitchHandshaker"/>
     </driver>
+
+    <driver name="hp-2920" extends="hp-switch" manufacturer="(HP|Aruba)"
+            hwVersion="2920-(24G|48G).* Switch" swVersion=".*"/>
+
+    <driver name="hp-2930" extends="hp-switch" manufacturer="(HP|Aruba)"
+            hwVersion="2930[FM]-(8G|8SR|24G|40G|48G).* Switch" swVersion=".*"/>
+
+    <driver name="hp-3500" extends="hp-switch" manufacturer="(HP|Aruba)"
+            hwVersion="Switch 3500.*" swVersion=".*"/>
+
+    <driver name="hp-3800" extends="hp-switch" manufacturer="(HP|Aruba)"
+            hwVersion="3800-(24G|24SFP|48G).* Switch" swVersion=".*"/>
+
+    <driver name="hp-3810" extends="hp-switch" manufacturer="(HP|Aruba)"
+            hwVersion="3810M-(16SFP|16SR|24G|24SFP|40G|48G).* Switch" swVersion=".*"/>
+
+    <driver name="hp-5400" extends="hp-switch" manufacturer="(HP|Aruba)"
+            hwVersion="Switch (5406zl|5412zl)" swVersion=".*"/>
+
+    <driver name="hp-5400R" extends="hp-switch" manufacturer="(HP|Aruba)"
+            hwVersion="Switch (5406Rzl2|5412Rzl2)" swVersion=".*"/>
+
+    <driver name="hp-6200" extends="hp-switch" manufacturer="(HP|Aruba)"
+            hwVersion="Switch 6200zl-24G" swVersion=".*"/>
+
+    <driver name="hp-6600" extends="hp-switch" manufacturer="(HP|Aruba)"
+            hwVersion="Switch (E6600|6600ml|6600).*" swVersion=".*"/>
+
+    <driver name="aruba-7000" extends="hp-switch" manufacturer="(HP|Aruba)"
+            hwVersion="Aruba70(05|08|10|24|30)" swVersion=".*"/>
+
+    <driver name="aruba-7200" extends="hp-switch" manufacturer="(HP|Aruba)"
+            hwVersion="Aruba72(05|10|20|40)" swVersion=".*"/>
+
+    <driver name="hp-8200" extends="hp-switch" manufacturer="(HP|Aruba)"
+            hwVersion="Switch 8212zl" swVersion=".*"/>
+
 </drivers>