77 Commits

Author SHA1 Message Date
Yi Tseng
82512da397 [ONOS-6935] ActionProfile supports in P4RuntimeClient
Change-Id: I9f0ac307985c03b7ed93e14e41ba468c481a4e4f
2017-09-28 01:45:23 +08:00
Carmelo Cascone
ef826f9c7f Fixed wiring problem with BMv2/P4Runtime driver
Change-Id: I0aac2598603618cc47ed325b3177df262d9fc359
2017-09-06 07:00:05 +00:00
Carmelo Cascone
b045ddce4a Implemented support for P4Runtime counter read
And PortStatisticsDiscovery behaviour for default.p4 that uses it

Change-Id: Iadf40eb322987ef74239120e01acb4bece712aef
2017-09-01 15:11:50 +00:00
Carmelo Cascone
a62ac3da2a Reusable implementation of default P4 interpreter
That can be shared among many targets running a program equivalent to
default.p4.

Change-Id: Ic13fc4e416f4ad77f71fbd3202277aac9088b3b1
2017-08-31 18:23:24 +00:00
Andrea Campanella
19090320e7 Completing Port Statistics scheduling in general device provider.
Adding empty shell for port statistcs discovery with bmv2 and default.p4

Change-Id: I4a333e406d6df0c6f8041d53f21cbf10f8bb9782
2017-08-29 15:34:31 +00:00
Thomas Vachuska
b002968a83 Cleaning up application titles, descriptions and categories.
Change-Id: I80f9770697cbf29b6bde2b20778c341b0f403d9f
2017-08-24 10:19:33 -07:00
Andrea Campanella
0288c87839 Creating a p4runtime default driver to avoid code duplication between bmv2 and barefoot drivers
Change-Id: Id7f16a284c65278ec1a9ec682da01ddf020343c8
2017-08-22 09:42:14 +00:00
Ray Milkey
446f446a4f Refactor buck external dependencies
Change-Id: Ia4b99493407eb7d4e893804cba6b944f758f085e
2017-08-21 17:41:36 +00:00
Yi Tseng
088f4ce0f8 [ONOS-6916] Fix bmv2 flow programmable and PiCriterionTranslator
ONOS can't add flows to the bmv2 switch

Change-Id: I66ec90d0e1ed097afeffd0498e65c239b628efa4
2017-08-20 23:14:10 +00:00
Yuta HIGUCHI
09ae368c08 Maven test related fixes
- Workaround for usage of symlink in P4 code.
  Should probably avoid using symlink and load as resource
  for benefit of buck also
  https://buckbuild.com/concept/buckconfig.html#project.allow_symlinks

- Netconf Active client test dependency fix

- NetconfControllerImpl has mutable static variable,
  clean up after tests which potentiallu touches them

Change-Id: If7a70357a04ccc7e36377301de080385190d2776
2017-08-15 16:00:35 +00:00
Yi Tseng
94f5c495b4 Fix typo from Bmv2DriversLoader
Change-Id: I91d3192a860d59f6b3d7c33560826b78d5bc6b00
2017-08-09 22:47:22 -07: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
2cad9efec5 Various fixes to get a P4Runtime demo that works
Change-Id: Icab512fceeb6ec0faf1b402c1e325e055cdb2caf
2017-08-03 16:17:58 +02:00
Carmelo Cascone
0b22d8f9dc Working implementation of Bmv2FlowRuleProgrammable
Change-Id: Ib5bfe4bb5bca677b158f0030d7db6bdf29a1de08
2017-08-03 15:35:18 +02:00
Andrea Campanella
a9b3c9b602 [ONOS-6774] Mechanism to unregister pipeconfs in PiPipeconfService
Change-Id: If6d7b4985d3a624c9be3b831f0a3d3d4a42b0b62
2017-08-01 22:28:27 +00:00
Frank Wang
0e80508bde Draft implementation BMv2 FlowRuleProgrammable
Change-Id: I927564010204a2c59604a30e593fd1a8568f04db
2017-07-31 05:26:44 +00:00
Andrea Campanella
288b273cf3 Implement support for packetIn through p4Runtime
Change-Id: I92cc1a2bd7edde8916aad61c20d7411f93368612
2017-07-28 19:21:08 +02:00
Carmelo Cascone
b2e3dbaef0 Pi classes to support P4Runtime action profiles
+ modified default.p4 with ECMP capabilities (via action profiles)
+ sketched translation logic of ONOS groups (in Bmv2GroupProgrammable)
+ replaced existing instances of default.json/p4info with symlinks to
	p4src build directory (to avoid inconsistencies)

Change-Id: If82f0b8ce296c9b616415d99864d216b77645a87
2017-07-28 16:01:31 +00:00
Carmelo Cascone
f3a1a3897e Removed pipeconf dependency from PiPipelineInterpreter
If needed, an interpreter implementation should know which pipeconf it
supports. Instead, mapping of treatments now depends on a table ID,
since table in P4 can potentially support different actions with similar
semantics.

Change-Id: Iffbc84457f08e5dba84a8e949931849006f82535
2017-07-28 15:49:56 +00: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
Andrea Campanella
fc1d34ca16 [ONOS-6809] Implementation for packet out in p4Runtime
Change-Id: I873a1fd18529fe9fd41aa33f862298892ece7d1c
2017-07-20 20:24:17 +00:00
Frank Wang
e254d6cd47 change the way ImmutableBiMap is created for subsequent expansion
Change-Id: I87d631513a8eb859d597e38c2be9c201b1546440
2017-07-20 15:10:13 +00:00
Frank Wang
c672c984e8 [ONOS-6750]Implement BMv2 PacketProgrammable
Change-Id: Iad3de3eeda764b4942c6db68d25191d2f4946809
2017-07-20 14:58:14 +00:00
Carmelo Cascone
44daf562f9 Registering BMv2 default/base pipeconf at driver loading
Change-Id: Ib46bf202213a741c4a73732e20cd1638424f8a0a
2017-07-20 14:06:22 +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
31d3e44192 Better handling of extensions in PiPipeconf
Now built using a URL, while input streams are generated on-demand.
Before it could happen that the input stream was completelly read by
someone, leaving it unusable by others.

Change-Id: I61a76bf8b8c1d2f6e2d987661025e0323d59e1c7
2017-07-19 19:17:15 +00:00
Andrea Campanella
432f718de7 [ONOS-6809] Support for Packets and packet Metadata
Change-Id: I53910cd8e2ce5845e301dc68bcbf3ae8f34a197b
2017-07-18 13:51:54 +00:00
Carmelo Cascone
07d72718b9 ONOS-6555 Default pipeconf implementation and builder
Change-Id: I80ac4f6e939d30a943653a1d63d5cff07b368620
2017-07-17 14:51:51 +00:00
Yuta HIGUCHI
28c3daa87f Detach failing bmv2 poms
- several artifacts missing

Change-Id: I2185698a127547b432bf16822c300a048815c400
2017-07-13 21:37:19 +00: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
Andrea Campanella
c57d08c89d Adding grpc-controller-ctl package to BMv2 Buck file
Change-Id: Id18dc8c87709722223030826b1939ec17e5c83f2
2017-07-05 15:32:56 +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
Andrea Campanella
241896c7af [ONOS-6463] general device Provider
Change-Id: Ibc045bffe14c24068adc7f0adc96366d0f1807a0
2017-06-12 17:15:41 +00:00
Carmelo Cascone
43740a078d Pruned old BMv2 stuff
...making space for new BMv2 support via P4Runtime.

Change-Id: Ia34c1a152c0e6e006fd3b86afc5086316264b6f6
2017-06-08 15:39:42 -04:00
Ray Milkey
08b03a9ec8 Starting snapshot 1.11.0-SNAPSHOT
Change-Id: I5aa84e241545dace6192243c0079924ddf899404
2017-05-15 18:40:20 +00:00
Ray Milkey
8fd28c7b80 Starting snapshot 1.10.0-SNAPSHOT 2017-05-02 14:37:34 -07:00
Ray Milkey
f0099022d2 Tagging 1.10.0-rc1 2017-05-02 14:35:27 -07:00
tellviveks
3615326680 Fix Null pointer reference
Change-Id: Ibe6e8ac1da88266abcf30588922b5eaa5f66a026
2017-03-07 18:16:55 +05:30
Ray Milkey
54a78514d2 Starting snapshot 1.10.0-SNAPSHOT
Change-Id: Icd6983be6a52293fb8a846a02d5e314c2c7aeaf0
2017-02-13 11:13:52 -08:00
Ray Milkey
57b510152e Starting snapshot 1.10-SNAPSHOT
Change-Id: I800d5d9e7f23793f5288457bca449ca382896723
2017-02-13 11:06:55 -08:00
Ray Milkey
de84cdde9a Starting snapshot 1.9.0-SNAPSHOT 2017-02-13 10:54:12 -08:00
Ray Milkey
8588c48114 Tagging 1.9.0-b3 2017-02-13 10:52:31 -08:00
Ray Milkey
287b4ae810 Starting snapshot 1.9.0-SNAPSHOT 2017-01-19 15:21:17 -08:00
Ray Milkey
2557ba3375 Tagging 1.9.0-b1b 2017-01-19 15:20:17 -08:00
Ray Milkey
72bcefefce Starting snapshot 1.9.0-SNAPSHOT
Change-Id: Iae30168353c72c4e2d5e395298ceca5dd7554984
2016-12-02 16:22:53 -08:00
Ray Milkey
bc3c6ba539 Starting snapshot 1.8.0-SNAPSHOT 2016-12-02 15:59:38 -08:00
Ray Milkey
a222d05a18 Tagging 1.8.0-rc4 2016-12-02 15:49:32 -08:00
Ray Milkey
b547e06157 Starting snapshot 1.8.0-SNAPSHOT 2016-11-30 15:10:18 -08:00