<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright 2016-present 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="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.optical.handshaker.OfOpticalSwitchImplLinc13"/>
        <behaviour api="org.onosproject.net.behaviour.LambdaQuery"
                   impl="org.onosproject.driver.optical.query.LincOELambdaQuery"/>
        <behaviour api="org.onosproject.net.optical.OpticalDevice"
                   impl="org.onosproject.net.optical.DefaultOpticalDevice"/>
    </driver>

    <driver name="calient" extends="default"
            manufacturer="calient technologies inc" hwVersion="calient hardware.*"
            swVersion="ocs software version.*">
        <behaviour api="org.onosproject.openflow.controller.driver.OpenFlowSwitchDriver"
                   impl="org.onosproject.driver.optical.handshaker.CalientFiberSwitchHandshaker"/>
        <behaviour api="org.onosproject.net.behaviour.LambdaQuery"
                   impl="org.onosproject.driver.optical.query.CalientLambdaQuery"/>
    </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.optical.handshaker.OFOpticalSwitch13"/>
        <behaviour api="org.onosproject.net.behaviour.TributarySlotQuery"
                   impl="org.onosproject.driver.optical.query.DefaultTributarySlotQuery" />
        <behaviour api="org.onosproject.net.behaviour.LambdaQuery"
                   impl="org.onosproject.driver.optical.query.OFOpticalSwitch13LambdaQuery"/>
        <behaviour api="org.onosproject.net.optical.OpticalDevice"
                   impl="org.onosproject.net.optical.DefaultOpticalDevice"/>
    </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.optical.handshaker.OplinkRoadmHandshaker"/>
        <behaviour api="org.onosproject.net.behaviour.LambdaQuery"
                   impl="org.onosproject.driver.optical.query.OplinkRoadmLambdaQuery"/>
        <behaviour api="org.onosproject.net.optical.OpticalDevice"
                   impl="org.onosproject.net.optical.DefaultOpticalDevice"/>
        <behaviour api="org.onosproject.net.behaviour.PowerConfig"
                   impl="org.onosproject.driver.optical.power.OplinkRoadmPowerConfig"/>
        <behaviour api="org.onosproject.codec.ExtensionTreatmentCodec"
                   impl="org.onosproject.driver.optical.extensions.OplinkExtensionTreatmentCodec"/>
        <behaviour api="org.onosproject.openflow.controller.ExtensionTreatmentInterpreter"
                   impl="org.onosproject.driver.extensions.OplinkExtensionTreatmentInterpreter"/>
    </driver>

    <driver name="oplk_ops" extends="default"
            manufacturer="Oplink a Molex company" hwVersion="protection-switch" swVersion="of-agent-1.0">
        <behaviour api="org.onosproject.openflow.controller.driver.OpenFlowSwitchDriver"
            impl="org.onosproject.driver.optical.handshaker.OplinkSwitchHandshaker"/>
    </driver>

    <driver name="oplk-edfa" extends="default"
            manufacturer="Oplink a Molex company" hwVersion="edfa" swVersion="of-agent-1.0">
        <behaviour api="org.onosproject.openflow.controller.driver.OpenFlowSwitchDriver"
                   impl="org.onosproject.driver.optical.handshaker.OplinkEdfaHandshaker"/>
        <behaviour api="org.onosproject.net.behaviour.LambdaQuery"
                   impl="org.onosproject.driver.optical.query.OplinkEdfaLambdaQuery"/>
        <behaviour api="org.onosproject.net.behaviour.PowerConfig"
                   impl="org.onosproject.driver.optical.power.OplinkEdfaPowerConfig"/>
    </driver>
</drivers>

