Various changes in BMv2 driver and provider modules (onos1.6 cherry-pick)
Driver notable changes:
- Implemented new behaviors, removed deprecated ones
- Removed flow rule translator classes (now under protocol module)
- Improved FlowRuleProgrammable: now it uses BMv2TableEntryService
to lookup/bind flow rules with BMv2 table entries, retrieves flow
statistics, better exception handling when adding/replacing/removing
table entries.
- Improved PacketProgrammable: better exception handling and logging
Provider notable changes:
- Bmv2DeviceProvider: detects and notifies device configuration
changes and reboots to Bmv2DeviceContextService, added support for
periodic polling of port statistics
- Bmv2PacketProvider: implemented workaround for OutboundPackets with
flood treatment
Change-Id: I79b756b533d4afb6b70025a137b2e811fd42a4e8
diff --git a/drivers/bmv2/src/main/resources/bmv2-drivers.xml b/drivers/bmv2/src/main/resources/bmv2-drivers.xml
index bf1baac..e8a7cb8 100644
--- a/drivers/bmv2/src/main/resources/bmv2-drivers.xml
+++ b/drivers/bmv2/src/main/resources/bmv2-drivers.xml
@@ -16,14 +16,18 @@
~ limitations under the License.
-->
<drivers>
- <driver name="bmv2-thrift" manufacturer="p4.org" hwVersion="bmv2" swVersion="unknown">
- <behaviour api="org.onosproject.net.behaviour.PortDiscovery"
- impl="org.onosproject.drivers.bmv2.Bmv2PortDiscovery"/>
+ <driver name="bmv2-thrift" manufacturer="p4.org" hwVersion="bmv2" swVersion="n/a">
+ <behaviour api="org.onosproject.net.device.DeviceDescriptionDiscovery"
+ impl="org.onosproject.drivers.bmv2.Bmv2DeviceDescriptionDiscovery"/>
<behaviour api="org.onosproject.net.flow.FlowRuleProgrammable"
impl="org.onosproject.drivers.bmv2.Bmv2FlowRuleProgrammable"/>
<behaviour api="org.onosproject.net.behaviour.Pipeliner"
impl="org.onosproject.drivers.bmv2.Bmv2Pipeliner"/>
<behaviour api="org.onosproject.net.packet.PacketProgrammable"
impl="org.onosproject.drivers.bmv2.Bmv2PacketProgrammable"/>
+ <behaviour api="org.onosproject.net.behaviour.ExtensionSelectorResolver"
+ impl="org.onosproject.drivers.bmv2.Bmv2ExtensionSelectorResolver"/>
+ <behaviour api="org.onosproject.net.behaviour.ExtensionTreatmentResolver"
+ impl="org.onosproject.drivers.bmv2.Bmv2ExtensionTreatmentResolver"/>
</driver>
</drivers>