<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright 2016-present Open Networking Foundation
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~     http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->
<drivers>
    <driver name="default"
            manufacturer="ON.Lab" hwVersion="0.0.1" swVersion="0.0.1">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.DefaultSingleTablePipeline"/>
        <behaviour api="org.onosproject.openflow.controller.driver.OpenFlowSwitchDriver"
                   impl="org.onosproject.driver.handshaker.DefaultSwitchHandshaker"/>
        <property name="supportPacketRequest">true</property>
    </driver>
    <driver name="ovs" extends="default"
            manufacturer="Nicira, Inc\." hwVersion="Open vSwitch" swVersion="2\..*">
        <behaviour api="org.onosproject.openflow.controller.driver.OpenFlowSwitchDriver"
                   impl="org.onosproject.driver.handshaker.NiciraSwitchHandshaker"/>
        <behaviour api="org.onosproject.openflow.controller.ExtensionTreatmentInterpreter"
                   impl="org.onosproject.driver.extensions.NiciraExtensionTreatmentInterpreter" />
        <behaviour api="org.onosproject.net.behaviour.ExtensionTreatmentResolver"
                   impl="org.onosproject.driver.extensions.NiciraExtensionTreatmentInterpreter" />
        <behaviour api="org.onosproject.net.flow.ExtensionTreatmentCodec"
                   impl="org.onosproject.driver.extensions.NiciraExtensionTreatmentInterpreter" />
        <behaviour api="org.onosproject.openflow.controller.ExtensionSelectorInterpreter"
                   impl="org.onosproject.driver.extensions.NiciraExtensionSelectorInterpreter" />
        <behaviour api="org.onosproject.net.behaviour.ExtensionSelectorResolver"
                   impl="org.onosproject.driver.extensions.NiciraExtensionSelectorInterpreter" />
        <behaviour api="org.onosproject.net.flow.ExtensionSelectorCodec"
                   impl="org.onosproject.driver.extensions.NiciraExtensionSelectorInterpreter" />
        <behaviour api="org.onosproject.net.behaviour.VlanQuery"
                   impl="org.onosproject.driver.query.FullVlanAvailable" />
        <behaviour api="org.onosproject.net.behaviour.MplsQuery"
                   impl="org.onosproject.driver.query.FullMplsAvailable" />
    </driver>

    <!-- Lagopus software OpenFlow 1.3 switch
           http://www.lagopus.org/ -->
    <driver name="lagopus" extends="default"
            manufacturer="Lagopus project"
            hwVersion=".*" swVersion=".*">
        <behaviour api="org.onosproject.net.behaviour.VlanQuery"
                   impl="org.onosproject.driver.query.FullVlanAvailable" />
        <behaviour api="org.onosproject.net.behaviour.MplsQuery"
                   impl="org.onosproject.driver.query.FullMplsAvailable" />
    </driver>

    <!--  Driver for OFDPA i12_1.7.
       ~  TODO: version number in i12_1.7 is 2.0. Change it back when we can distinguish 3.0.
      -->
    <driver name="ofdpa" extends="default"
            manufacturer="Broadcom Corp\." hwVersion="OF-DPA i12_1.7" swVersion="OF-DPA i12_1.7">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.ofdpa.Ofdpa2Pipeline"/>
        <behaviour api="org.onosproject.openflow.controller.ExtensionTreatmentInterpreter"
                   impl="org.onosproject.driver.extensions.OfdpaExtensionTreatmentInterpreter" />
        <behaviour api="org.onosproject.net.behaviour.ExtensionTreatmentResolver"
                   impl="org.onosproject.driver.extensions.OfdpaExtensionTreatmentInterpreter" />
        <behaviour api="org.onosproject.openflow.controller.ExtensionSelectorInterpreter"
                   impl="org.onosproject.driver.extensions.OfdpaExtensionSelectorInterpreter" />
        <behaviour api="org.onosproject.net.behaviour.ExtensionSelectorResolver"
                   impl="org.onosproject.driver.extensions.OfdpaExtensionSelectorInterpreter" />
        <property name="meterCapable">false</property>
    </driver>

    <!--  Driver for OFDPA 3.0 EA*.
       ~  TODO: version number from switch is still 2.0. Update when 3.0 is GA.
       ~  TODO: remove Ofdpa3SwitchHandshaker when bug for GroupStats is fixed.
      -->
    <driver name="ofdpa3" extends="ofdpa"
            manufacturer="Broadcom Corp\." hwVersion="OF-DPA 2.0" swVersion="OF-DPA 2.0">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.ofdpa.Ofdpa3Pipeline"/>
        <behaviour api="org.onosproject.openflow.controller.ExtensionTreatmentInterpreter"
                   impl="org.onosproject.driver.extensions.Ofdpa3ExtensionTreatmentInterpreter" />
        <behaviour api="org.onosproject.net.behaviour.ExtensionTreatmentResolver"
                   impl="org.onosproject.driver.extensions.Ofdpa3ExtensionTreatmentInterpreter" />
        <behaviour api="org.onosproject.openflow.controller.ExtensionSelectorInterpreter"
                   impl="org.onosproject.driver.extensions.Ofdpa3ExtensionSelectorInterpreter" />
        <behaviour api="org.onosproject.net.behaviour.ExtensionSelectorResolver"
                   impl="org.onosproject.driver.extensions.Ofdpa3ExtensionSelectorInterpreter" />
        <behaviour api="org.onosproject.net.flow.ExtensionTreatmentCodec"
                   impl="org.onosproject.driver.extensions.Ofdpa3ExtensionTreatmentInterpreter" />
        <behaviour api="org.onosproject.net.flow.ExtensionSelectorCodec"
                   impl="org.onosproject.driver.extensions.Ofdpa3ExtensionSelectorInterpreter" />
        <behaviour api="org.onosproject.openflow.controller.driver.OpenFlowSwitchDriver"
                   impl="org.onosproject.driver.handshaker.Ofdpa3SwitchHandshaker"/>
    </driver>

    <driver name="xpliant" extends="ofdpa3"
            manufacturer="Cavium, Inc\." hwVersion=".*" swVersion=".*">
        <behaviour api="org.onosproject.openflow.controller.driver.OpenFlowSwitchDriver"
                   impl="org.onosproject.driver.handshaker.NiciraSwitchHandshaker"/>
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.XpliantPipeline"/>
    </driver>

    <!--  Driver for OFDPA 3.0 EA* for Qumran based switches.
       ~  Note: driver needs to be configured using onos-netcfg.
      -->
    <driver name="qmx-ofdpa3" extends="ofdpa3"
            manufacturer="Broadcom Corp\." hwVersion="Qmx" swVersion="Qmx">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
               impl="org.onosproject.driver.pipeline.ofdpa.Ofdpa3QmxPipeline"/>
    </driver>

    <!-- Driver for OFDPA Premium version -->
    <driver name="as7712-32x-premium" extends="ofdpa3"
            manufacturer="Broadcom Ltd\." hwVersion="as7712-32x" swVersion="OF-DPA Premium.*">
    </driver>

    <driver name="as5912-54x-premium" extends="qmx-ofdpa3"
            manufacturer="Broadcom Ltd\." hwVersion="as5912-54x" swVersion="OF-DPA Premium.*">
    </driver>

    <driver name="as5916-54x-premium" extends="qmx-ofdpa3"
            manufacturer="Broadcom Ltd\." hwVersion="as5916-54x" swVersion="OF-DPA Premium.*">
    </driver>

    <!-- OFDPA drivers from vendors -->
    <driver name="accton-ofdpa3" extends="ofdpa3"
            manufacturer="Accton Corp\." hwVersion=".*" swVersion="ofdpa .*">
    </driver>

    <driver name="znyx-ofdpa" extends="ofdpa3"
            manufacturer="ZNYX Networks" hwVersion=".*" swVersion=".*OF-DPA.*">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.ofdpa.Ofdpa3Pipeline"/>
        <behaviour api="org.onosproject.openflow.controller.ExtensionTreatmentInterpreter"
                   impl="org.onosproject.driver.extensions.Ofdpa3ExtensionTreatmentInterpreter" />
        <behaviour api="org.onosproject.net.behaviour.ExtensionTreatmentResolver"
                   impl="org.onosproject.driver.extensions.Ofdpa3ExtensionTreatmentInterpreter" />
        <behaviour api="org.onosproject.openflow.controller.ExtensionSelectorInterpreter"
                   impl="org.onosproject.driver.extensions.OfdpaExtensionSelectorInterpreter" />
        <behaviour api="org.onosproject.net.behaviour.ExtensionSelectorResolver"
                   impl="org.onosproject.driver.extensions.OfdpaExtensionSelectorInterpreter" />
    </driver>

    <!--  Emulation of the OF-DPA pipeline using a OVS 2.5.0+ software switch.
       ~  To use this driver, configure ONOS with the dpid of the device.
     -->
    <driver name="ofdpa-ovs" extends="default"
            manufacturer="ONF"
            hwVersion="OFDPA OVS" swVersion="OFDPA OVS">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.ofdpa.OvsOfdpa2Pipeline"/>
    </driver>

    <driver name="celestica" extends="default"
            manufacturer="PMC GPON Networks" hwVersion="PAS5211 v2" swVersion="vOLT version 1.5.3.*">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.OltPipeline"/>
    </driver>
    <driver name="pmc-olt" extends="default"
            manufacturer="PMC GPON Networks" hwVersion="PASffffffff v-1" swVersion="vOLT.*">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.OltPipeline"/>
    </driver>
    <driver name="voltha" extends="default"
            manufacturer="cord project" hwVersion=".*" swVersion="logical device for .*">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.OltPipeline"/>
    </driver>
    <driver name="fj-olt" extends="default"
            manufacturer="Fujitsu" hwVersion="svkOLT" swVersion="v1.0">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.OltPipeline"/>
    </driver>
    <driver name="nokia-olt" extends="default"
            manufacturer="Nokia" hwVersion="SDOLT" swVersion="5.2.1">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.NokiaOltPipeline"/>
    </driver>
    <driver name="g.fast" extends="default"
            manufacturer="TEST1" hwVersion="TEST2" swVersion="TEST3">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.OltPipeline"/>
    </driver>
    <!--  The SoftRouter driver is meant to be used by any software/NPU based
       ~  switch that wishes to implement a simple 2-table router. To use this
       ~  driver, configure ONOS with the dpid of the device, or extend the
       ~  driver declaration with the manufacturer/hwVersion/swVersion of the
       ~  device (see 'noviflow' example).
      -->
    <driver name="softrouter" extends="default"
            manufacturer="Various" hwVersion="various" swVersion="0.0.0">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.SoftRouterPipeline"/>
    </driver>
    <driver name="pica" extends="default"
            manufacturer="Pica8, Inc." hwVersion=".*" swVersion="PicOS 2.6">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.PicaPipeline"/>
    </driver>
    <driver name="noviflow" extends="softrouter"
            manufacturer="NoviFlow Inc" hwVersion="NS.*" swVersion="NW.*">
    </driver>
    <driver name="onosfw" extends="ovs"
            manufacturer="" hwVersion="" swVersion="">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.OpenVSwitchPipeline"/>
    </driver>
    <driver name="aos" extends="ofdpa"
            manufacturer="Accton" hwVersion=".*" swVersion="1.*">
    </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.
       ~ The abstract driver is NOT meant to be used by itself with any device.
       ~ Policies will be put in place in the DriverManager so that this driver
       ~ is not assigned to any device from the southbound or the net-cfg.
    -->
    <driver name="abstract"
            manufacturer="abstract" hwVersion="abstract" swVersion="abstract">
        <behaviour api="org.onosproject.net.behaviour.MeterQuery"
                   impl="org.onosproject.driver.query.FullMetersAvailable"/>
    </driver>

    <!-- Deprecated CpqD drivers. CORD-1625 -->

    <!-- Emulation of the spring-open pipeline using a CPqD OF 1.3 software switch.
       ~ This driver is the default driver assigned to the CPqD switch.
      -->
    <driver name="spring-open-cpqd" extends="default"
            manufacturer="Stanford University, Ericsson Research and CPqD Research"
            hwVersion="OpenFlow 1.3 Reference Userspace Switch" swVersion=".*">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.SpringOpenTTP"/>
    </driver>
    <driver name="spring-open" extends="default"
            manufacturer="Dell " hwVersion="OpenFlow switch HW ver. 1.0"
            swVersion="OpenFlow switch SW ver. 1.0 and 1.3">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.SpringOpenTTPDell"/>
    </driver>

    <!-- Emulation of the OFDPA pipeline using a CPqD OF 1.3 software switch.
       ~ Use this driver when MPLS functionality is required.
       ~ To use this driver, configure ONOS with the dpid of the device.
      -->
    <driver name="ofdpa-cpqd" extends="default"
            manufacturer="ONF"
            hwVersion="OF1.3 Software Switch from CPqD" swVersion="for Group Chaining">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.ofdpa.CpqdOfdpa2Pipeline"/>
    </driver>

    <!-- Emulation of the OFDPA pipeline using a CPqD OF 1.3 software switch.
       ~ Use this driver when VLAN functionality is required.
       ~ To use this driver, configure ONOS with the dpid of the device.
      -->
    <driver name="ofdpa-cpqd-vlan" extends="default"
            manufacturer="ONF"
            hwVersion="OF1.3 Software Switch from CPqD" swVersion="for Group Chaining">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.ofdpa.CpqdOfdpa2VlanPipeline"/>
    </driver>

      <!-- The following is a demo-specific driver with very limited pipeline capabilities
    <driver name="centec-V350" extends="default"
            manufacturer=".*Centec.*" hwVersion=".*" swVersion="3.1.*">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.CentecV350Pipeline"/>
    </driver>
    -->
</drivers>

