blob: 48cb7919cab0834efc72b340b8062a95c2f1522b [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" />
<behaviour api="org.onosproject.net.behaviour.PipelineTraceable"
impl="org.onosproject.driver.traceable.OfdpaPipelineTraceable" />
<property name="meterCapable">false</property>
<property name="accumulatorEnabled">true</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.*" hwVersion=".*[Aa][Ss]7712-32[Xx].*" swVersion="^OF-DPA Premium.*">
</driver>
<driver name="as5912-54x-premium" extends="qmx-ofdpa3"
manufacturer="^Broadcom.*" hwVersion=".*[Aa][Ss]5912-54[Xx].*" swVersion="^OF-DPA Premium.*">
</driver>
<driver name="as5916-54x-premium" extends="qmx-ofdpa3"
manufacturer="^Broadcom.*" 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>
<!-- OFDPA drivers from vendors -->
<driver name="delta-ofdpa3" extends="ofdpa3"
manufacturer="Delta Electronics" 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.OvsOfdpaPipeline"/>
<behaviour api="org.onosproject.openflow.controller.ExtensionSelectorInterpreter"
impl="org.onosproject.driver.extensions.OvsOfdpaExtensionSelectorInterpreter" />
<behaviour api="org.onosproject.net.behaviour.PipelineTraceable"
impl="org.onosproject.driver.traceable.OfdpaPipelineTraceable" />
</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.*">
<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>
<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"/>
<property name="meterCapable">false</property>
</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" />
<property name="meterCapable">false</property>
</driver>
</drivers>