26 Commits

Author SHA1 Message Date
Ray Milkey
5739b2cc0c Merge branch 'master' into dev-karaf-4.2.1
Change-Id: I260f0ee72fa87f1547fa790f031c4980176992ac
2018-11-06 14:11:34 -08:00
Yi Tseng
2a340f7cc6 [ONOS-7829] Implement AbstractGrpcClient and AbstractGrpcClientControl
Change-Id: I39cba6834e7fe8d1b60b576b9934c0b3cfa7104b
2018-11-05 19:05:35 +00:00
Thomas Vachuska
00b5d4fee0 Removing commented out @Property annotations from the drivers, protocols, pipelines and providers.
Change-Id: I4cabc5a53c93b778824c72cebbce0ec49700eade
2018-10-30 23:43:55 +00:00
Thomas Vachuska
22ea6126e4 Removing BUCK files and other Buck-related auxiliaries.
Change-Id: I23691380efcd9bce4906695605214ed59ada0e87
2018-10-24 20:02:31 +00:00
Ray Milkey
d84f89ba3d [WIP] Upgrade ONOS to karaf version 4.2.1
Change-Id: I7cd40c995bdf1c80f94b1895fb3344e32404c7fa
2018-09-28 11:20:57 -07:00
Ray Milkey
761e80a427 Remove pom files from ONOS
Change-Id: I53e2395466cba10222d638736635b11380421d98
2018-08-21 18:11:58 +00:00
Ray Milkey
05d609aa02 buildifier reformatting of bazel files
Change-Id: I1645613ec9dc57e659e7036634fcf3f3992b05a7
2018-08-15 17:55:00 +00:00
Carmelo Cascone
6a1ae71db1 Fix p4runtime runtime dependencies when building with Bazel
A convenient macro for packaging together all proto and gRPC libraries
in an OSGi jar is provided. Also re-packaging of gRPC core (to avoid OSGi
split problem) is simplified by depending on a patched fork of grpc-java.

Change-Id: Idb79a5bea8ae0bc57b146bda1fc47a4568d12c60
2018-08-13 18:51:36 +00:00
Carmelo Cascone
72893b7755 [WIP] Attempt at building grpc and p4runtime protocols with Bazel
STILL NOT WORKING AT RUNTIME

Change-Id: I1f9e60b12a12e09edad2a714ec2921a4f71c6d35
2018-08-09 20:33:39 +00:00
Carmelo Cascone
158b8c4f6b More improvements and bugfixes in P4Runtime subsystem
Most notably, we fix a bug in which some nodes were not able to find
pipeconf-specific behaviors for a given device. The problem is not
completelly solved but it's mitigated.

There's a race condition caused by the fact that the GDP updates the cfg
with the merged driver name before advertising the device to the core.
Some nodes might receive the cfg update after the device has been
advertised. We mitigate the problem by performing the pipeline deploy
(slow operation) after the cfg update, giving more time for nodes
to catch up. Perhaps we should listen for cfg update events before
advertising the device to the core?

Also:
- NPE when getting P4Runtime client
- Detect if a base driver is already merged in pipeconf manager
- Longer timeouts in P4Runtime driver and protocol (for slow networks)
- Configurable timeout in P4Runtime driver and GDP
- NPE when adding/removing device agent listeners in P4Rtunime handshaker
- Various exceptions due to race conditions in GDP when disconnecting
devices (by serializing disconnect tasks per device)
- NPE when cancelling polling tasks in GDP
- Refactored PipeconfService to distinguish between driver merge,
pipeconf map update, and cfg update (now performed in the GDP)
- Fixed PipeconfManagerTest, not testing driver behaviours
- Use Guava striped locks when possible (more memory-efficient than maps,
and with strict atomicity guarantees w.r.t. to caches).

Change-Id: I30f3887541ba0fd44439a86885e9821ac565b64c
2018-07-06 08:13:44 +00:00
Andrea Campanella
a74bdba108 Bug Fixes and improvements to P4Runtime subsystem
Change-Id: Ib18b08e5e4b4d552949b119d7b1201dd4ca616f6
2018-05-16 17:05:41 +00:00
Yuta HIGUCHI
165afdd619 pom fix around gNMI
Change-Id: I6cd5190e7a9daa3d9050893d7b6195a01e549090
2018-03-06 20:28:45 -08:00
Ray Milkey
5c7d488269 SONAR suggestion - proper handling of InterruptedException
Change-Id: I67a93c064708c207d9ce83fac319682c2d17db60
2018-02-07 00:59:07 +00:00
Carmelo Cascone
47a853baad ONOS-6680 Clean up implementation of gRPC controller
Change-Id: If84172d0a2dd64090557542af8ae12920260229f
2018-01-05 23:14:37 +00:00
Carmelo Cascone
b1936bd93f Bumped version of gRPC to 1.3.1
Change-Id: I7798476bd443a796e0e6a6e149ab8f66435ba4fa
2017-12-13 03:24:50 +00:00
Andrea Campanella
8bcd5863ff [ONOS-7311] and [ONOS-7197] Update ONOS to support most recent version of BMv2 and PI
Change-Id: Ie69cfe1946f3c9241dc7f59a64bd40005a063931
2017-12-12 14:03:36 -08:00
Andrea Campanella
14e196dbcd [ONOS-6810] Implement Mastership handling in general DeviceProvider
Change-Id: I14b706d364cf5124da248230fbcda65d0bd284ce
2017-11-29 10:14:31 +01:00
Carmelo Cascone
fb92407298 Added locking to channel operations in Grpc controller
Change-Id: Ic6b6542ee1b1c7d582062fa794711dd0f86776bd
2017-08-30 08:14:04 +00:00
Brian O'Connor
a09fe5b0b7 Updating Copyright line to Open Networking Foundation
Change-Id: Icba96d7f39a065b53f34a6aeb71afd1f7d51f774
2017-08-03 21:12:30 -07:00
Carmelo Cascone
dda88d02c8 Declaring P4Runtime and gRPC protocol subsystems as apps
The advantage is that we don't have to carry over the driver all
required gRPC and P4Runtime bundles. Each module is now responsible for
bringing in its own runtime dependencies.

Change-Id: Icb1365e68d486f12fb1e25dc5d3937f42e3e1c62
2017-07-21 15:44:45 +00:00
Carmelo Cascone
04d0939378 Fixed deps and bundles for BMv2 drivers, P4Runtime and gRPC protocols
Change-Id: I96ad0e1e1021897544e41d02304a9f8240c1eb15
2017-07-19 21:07:32 +00:00
Carmelo Cascone
8d99b17b8e Handling of table entry messages in P4Runtime
+ synchonized method execution in P4RuntimeClient
+ support for cancellable contexts (for client shutdown)
+ logging of sent/received messages in GrpcControllerImpl
+ minor refactorings

Change-Id: I43f0fcc263579e01957a02ef3392105aed476f33
2017-07-19 16:36:50 -04:00
Carmelo Cascone
59f57decd1 ONOS-6561 BMv2 handshaker via P4Runtime
+ support fort device-specific default pipeconf
+ improvements to P4runtime and gRPC protocol stuff

Change-Id: I8986fce3959df564454ea3d31859860f61eabcae
2017-07-13 17:24:25 +00:00
Ray Milkey
f14cc6d3c2 Fix SNAPSHOT version string
Change-Id: I090c1998e5a117c10263b7a6abbffc624beb4074
2017-06-28 16:36:27 +00:00
Ray Milkey
7463193198 Starting snapshot 1.11-SNAPSHOT 2017-06-23 16:46:27 -07:00
Andrea Campanella
378e21ad33 [ONOS-6465] gRPC Protocol and controller
Change-Id: I0ae997f234ce95a78db2db1917f2cbbe3696ccfd
2017-06-21 17:18:49 +00:00