<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright 2015 Open Networking Laboratory
  ~
  ~ 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"/>
        <behaviour api="org.onosproject.net.behaviour.TunnelConfig"
                   impl="org.onosproject.driver.ovsdb.OvsdbTunnelConfig"/>
        <behaviour api="org.onosproject.net.behaviour.BridgeConfig"
                   impl="org.onosproject.driver.ovsdb.OvsdbBridgeConfig"/>
    </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.net.behaviour.ControllerConfig"
                   impl="org.onosproject.driver.ovsdb.OvsdbControllerConfig"/>
        <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.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.behaviour.VlanQuery"
                   impl="org.onosproject.driver.query.FullVlanAvailable" />
        <behaviour api="org.onosproject.net.behaviour.MplsQuery"
                   impl="org.onosproject.driver.query.FullMplsAvailable" />
    </driver>
    <!--This driver is for simulated NETCONF devices through of-config tool on top og OVSDB-->
    <driver name="ovs-netconf" extends="default,ovs"
            manufacturer="" hwVersion="" swVersion="">
        <behaviour api="org.onosproject.openflow.controller.driver.OpenFlowSwitchDriver"
                   impl="org.onosproject.driver.handshaker.NiciraSwitchHandshaker"/>
        <behaviour api="org.onosproject.net.behaviour.ControllerConfig"
                   impl="org.onosproject.driver.netconf.NetconfControllerConfig"/>
        <behaviour api="org.onosproject.net.behaviour.ConfigGetter"
                   impl="org.onosproject.driver.netconf.NetconfConfigGetter"/>
    </driver>
    <driver name="netconf" extends="default">
        <behaviour api="org.onosproject.net.behaviour.ConfigGetter"
                   impl="org.onosproject.driver.netconf.NetconfConfigGetter"/>
    </driver>
    <driver name="ovs-corsa" extends="ovs"
            manufacturer="Corsa" hwVersion="emulation" swVersion="0.0.0">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.OVSCorsaPipeline"/>
    </driver>
    <!--  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>
    <driver name="linc-oe" extends="default"
            manufacturer="FlowForwarding.org" hwVersion="Unknown"
            swVersion="LINC-OE OpenFlow Software Switch 1.1">
        <behaviour api="org.onosproject.openflow.controller.driver.OpenFlowSwitchDriver"
                   impl="org.onosproject.driver.handshaker.OfOpticalSwitchImplLinc13"/>
        <behaviour api="org.onosproject.net.behaviour.LambdaQuery"
                   impl="org.onosproject.driver.query.LincOELambdaQuery"/>
    </driver>
    <driver name="corsa"
            manufacturer="Corsa" hwVersion="Corsa Element" swVersion="2.3.1">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.CorsaPipeline"/>
        <behaviour api="org.onosproject.openflow.controller.driver.OpenFlowSwitchDriver"
                   impl="org.onosproject.driver.handshaker.CorsaSwitchHandshaker"/>
    </driver>
    <driver name="corsa-v1"
            manufacturer="Corsa" hwVersion="Corsa Element" swVersion="2.3.1">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.CorsaPipeline"/>
        <behaviour api="org.onosproject.openflow.controller.driver.OpenFlowSwitchDriver"
                   impl="org.onosproject.driver.handshaker.CorsaSwitchHandshaker"/>
    </driver>
    <driver name="corsa-v3"
            manufacturer="Corsa" hwVersion="Corsa Element" swVersion="2.3.1">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.CorsaPipelineV3"/>
        <behaviour api="org.onosproject.openflow.controller.driver.OpenFlowSwitchDriver"
                   impl="org.onosproject.driver.handshaker.CorsaSwitchHandshaker"/>
    </driver>
    <driver name="ofdpa" extends="default"
            manufacturer="Broadcom Corp." hwVersion="OF-DPA.*" swVersion="OF-DPA.*">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.OFDPA2Pipeline"/>
    </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="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="g.fast" extends="default"
            manufacturer="TEST1" hwVersion="TEST2" swVersion="TEST3">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.OltPipeline"/>
    </driver>
    <driver name="rest" manufacturer="" hwVersion="" swVersion="">
    </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="centec-V350" extends="default"
            manufacturer=".*Centec.*" hwVersion=".*" swVersion="3.1.*">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.CentecV350Pipeline"/>
    </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>
    <!--  Emulation of the ofdpa pipeline using a CPqD OF 1.3 software switch.
       ~  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.CpqdOFDPA2Pipeline"/>
    </driver>
    <driver name="calient" extends="default"
            manufacturer="calient inc" hwVersion="calient hardware"
            swVersion="ocs switch">
        <behaviour api="org.onosproject.openflow.controller.driver.OpenFlowSwitchDriver"
                   impl="org.onosproject.driver.handshaker.CalientFiberSwitchHandshaker"/>
        <behaviour api="org.onosproject.net.behaviour.LambdaQuery"
                   impl="org.onosproject.driver.query.CalientLambdaQuery"/>
    </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="eci" extends="default"
            manufacturer="ECI Telecom" hwVersion="Optical.*" swVersion="V_1_0">
        <behaviour api="org.onosproject.openflow.controller.driver.OpenFlowSwitchDriver"
                   impl="org.onosproject.driver.handshaker.OFOpticalSwitch13"/>
        <behaviour api="org.onosproject.net.behaviour.TributarySlotQuery"
                   impl="org.onosproject.driver.query.DefaultTributarySlotQuery" />
        <behaviour api="org.onosproject.net.behaviour.LambdaQuery"
                   impl="org.onosproject.driver.query.OFOpticalSwitch13LambdaQuery"/>
    </driver>
    <driver name="aos" extends="ofdpa"
            manufacturer="Accton" hwVersion=".*" swVersion="1.*">
    </driver>
    <driver name="sona" extends="ovs"
            manufacturer="" hwVersion="" swVersion="">
        <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                   impl="org.onosproject.driver.pipeline.OpenstackPipeline"/>
    </driver>
    <driver name="oplk-roadm" extends="default"
            manufacturer="Oplink a Molex company" hwVersion="ROADM"
            swVersion="of-agent">
        <behaviour api="org.onosproject.openflow.controller.driver.OpenFlowSwitchDriver"
                   impl="org.onosproject.driver.handshaker.OplinkRoadmHandshaker"/>
    </driver>
</drivers>

