blob: 5b81f09b0758510e898c89065a4d980bbc5548ff [file] [log] [blame]
<?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="Open Networking Foundation" 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="liquidio" extends="ovs"
manufacturer="Cavium, Inc\." hwVersion="LiquidIO-II 210 SVN" swVersion="2\..*">
</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=".*[Aa][Ss]7712-32[Xx].*" swVersion="^OF-DPA Premium.*">
</driver>
<driver name="as5912-54x-premium" extends="qmx-ofdpa3"
manufacturer="^Broadcom Ltd\.$" hwVersion=".*[Aa][Ss]5912-54[Xx].*" swVersion="^OF-DPA Premium.*">
</driver>
<driver name="as5916-54x-premium" extends="qmx-ofdpa3"
manufacturer="^Broadcom Ltd\.$" hwVersion=".*[Aa][Ss]5916-54[Xx].*" 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="VOLTHA Project" hwVersion=".*" swVersion=".*">
<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>
-->
<driver name="Arista" extends="default"
manufacturer="Arista.*" hwVersion="DCS.*" swVersion=".*">
<behaviour api="org.onosproject.net.behaviour.Pipeliner"
impl="org.onosproject.driver.pipeline.AristaPipeliner"/>
<property name="meterCapable">false</property>
</driver>
<driver name="juniper"
manufacturer="Juniper.*" hwVersion="qfx5100.*" swVersion=".*">
<behaviour api="org.onosproject.openflow.controller.driver.OpenFlowSwitchDriver"
impl="org.onosproject.driver.handshaker.JuniperSwitchHandshaker"/>
<behaviour api="org.onosproject.net.behaviour.Pipeliner"
impl="org.onosproject.driver.pipeline.JuniperQfx5100Pipeliner"/>
</driver>
<driver name="ciscoof" extends="default"
manufacturer="Cisco Systems, Inc." hwVersion=".*" swVersion="7.0\(3\).*">
<behaviour api="org.onosproject.net.behaviour.Pipeliner"
impl="org.onosproject.driver.pipeline.CiscoN9kPipeliner" />
</driver>
</drivers>