12 Commits

Author SHA1 Message Date
Brian O'Connor
bfc02ecd22 Bumping snapshot version to 1.8.0-SNAPSHOT
Change-Id: I4ca57b277d8ac814b8a10b107d995cb1cc4d499d
2016-09-16 17:41:55 +00:00
Brian O'Connor
b19fc86f82 Bumping version back to 1.7.0-SNAPSHOT
Change-Id: I1df9d0f12cd7ec7597499d41cacebdbe75899556
2016-09-16 00:12:21 -07:00
Brian O'Connor
338bc0cf19 Bumping pom versions to 1.7.0-rc2 and fixing some maven issues
Change-Id: I6169420328333d0916452aa92efbfa961d72e9c4
2016-09-16 00:11:45 -07:00
Carmelo Cascone
62f1e1e089 BMv2 performance improvements
- Implemented a non-blocking Thrift server for the controller (before it
	was limiting the number of active connections)
- Improved configuration swap times by forcing it
- Minor bugfixes and polishing
- Update onos-bmv2 repo URL in thrift-api pom.xml

Change-Id: I13b61f5aa22558c395768e3b445f302b20c5bd33
2016-06-29 16:25:47 +00:00
Carmelo Cascone
6256d01c1c Fixed deadlock in BMv2 device context service
Also minor refactoring of synchronized blocks.

Change-Id: Ifea25208ca4f1839bb3f21ba5b5ecfb2441baa35
2016-06-28 23:04:51 +00:00
Carmelo Cascone
ee4cd7e406 Improved consistency for BMv2 flow rules handling
Change-Id: I3a4798af3f35f135e8162385a1bf7fc059028307
2016-06-28 22:41:23 +00:00
Carmelo Cascone
9e39e31c56 Polished BMv2 protocol module
- Improved and fixed typos in javadocs
- Added missing beta API annotations
- Refactored the default interpreter implementation

Change-Id: Ibfb21d31415d8f25cc67307f8bea2871951c9a8f
2016-06-28 22:40:42 +00:00
Carmelo Cascone
c18e82cf10 Simplified Bmv2 device context service and context handling in demo apps
Change-Id: I2a13ed673902d0616732d43c841f50b1ad38cd4c
2016-06-28 19:56:35 +00:00
Brian O'Connor
1b2aea88c0 Removing gratuitous relativePath from pom.xmls
The default value for relativePath is: ../pom.xml

Change-Id: I1f5e5e6bfa1e91fcddae4f8cb8ab0c00c276e6b0
2016-06-16 07:05:31 +00:00
Carmelo Cascone
25f1888414 Various bmv2 changes to reflect onos-bmv2 v1.0.0 (onos1.6 cherry-pick)
Most notably:
- Updated repo URL and commit ID to official onos-bmv2 fork
- Removed ugly string-based table dump parser, now there's
	a proper API to retrieve table entries (added support in
	Bmv2DeviceAgent)
- Removed unused arguments in packet-in API

Change-Id: I5ff0948eb8fec5283a085913496c187e7b278d8d
2016-06-16 01:30:12 +00:00
Carmelo Cascone
0831efb0b5 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
2016-06-16 00:48:51 +00:00
Carmelo Cascone
17fc9e41df Major refactoring of the BMv2 protocol module (onos1.6 cherry-pick)
- Created 3 separate sub-modules: API (doesn't depend on
    Thrift), CTL (depends on Thrift), THRIFT-API (to generate Thrift
    sources)
- Implemented 2 new services (for device configuration swapping and
    table entry management) needed to distribute BMv2-specific state
    among ONOS instances.
- Implemented a BMv2 controller (previously other modules where
    using separately a Thrift client and a server)
- Added a default BMv2 JSON configuration (default.json) and interpreter
    to be used for devices that connect for the first time to ONOS.
    This allows for basic services to work (i.e. LLDP link discovery,
    ARP proxy. etc.).
- Changed behavior of the flow rule translator and extension selector,
    now it allows extension to specify only some of the match parameters
    (before extension selectors were expected to describe the whole
    match key, i.e. all fields)
- Various renaming to better represent the API
- Various java doc fixes / improvements

Change-Id: Ida4b5e546b0def97c3552a6c05f7bce76fd32c28
2016-06-16 00:47:42 +00:00