16 Commits

Author SHA1 Message Date
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
Carmelo Cascone
87892e25d1 ONOS-7066 ONOS-7067 PI abstractions refactoring and P4Info model parser
Includes changes previously reviewed in #15607, #15877, and #15955.

Change-Id: Ie2ff62e415f2099832ebfe05961a879b7b188fc3
2017-11-13 16:15:17 -08:00
Carmelo Cascone
d61fdb3b89 Added P4Runtime-based Barefoot Tofino driver
Change-Id: I09ba8dd4468fa5a792ca481921e8a51dad49702e
2017-10-31 05:41:30 +00:00
Carmelo Cascone
ca94bcf5ea ONOS-7058 Refactored default pipeconfs in new pipelines directory
- Minimal refactoring of P4 programs
- Removed symlinks to BMv2 JSON/P4Info
- Bumped p4c commit (which fixes known parser bug)
- Renamed "default" pipeconf to "basic" (ONOS-6818)

Change-Id: I319f8b142ab22dba9b15457e28cd62d17f78a423
2017-10-30 16:53:37 +00:00
Carmelo Cascone
87b9b398fa Various improvements to PI group handling
- Moved group translation logic to core service
- Removed dependency on KRYO
- Fixed bug where tratments with PI instructions where not supported if
	an interpreter was present
- Fixed bug where action profile name was not found during protobuf
	encoding (always perform P4Info lookup by name and alias)
- Improved reading of members by issuing one big request for all
	groups

Change-Id: Ifcf8380b09293e70be15cf4999bd2845caf5d01e
2017-10-03 12:41:46 +00:00
Yi Tseng
82512da397 [ONOS-6935] ActionProfile supports in P4RuntimeClient
Change-Id: I9f0ac307985c03b7ed93e14e41ba468c481a4e4f
2017-09-28 01:45:23 +08:00
Ray Milkey
6f1689c026 fix buck sonar problem with empty jar file
Change-Id: I49e32022e4b2be1e396ddb507e98caf307a37bfd
2017-09-08 00:20:24 +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
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
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
a966c34402 Catch exceptions when processing messages on P4Runtime stream channel
Also, packet I/O test in P4RuntimeTest.

Change-Id: Ib11d7356eef43cd962cf47f8a6fba8fc23ed69be
2017-08-01 07:59:12 +00: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
c8e8498893 P4runtime test utility app
Used for quick testing of P4Runtime with real devices.
To be removed before release.

Change-Id: Ieca17493e4b012ef748709014b62ebe54ba76dce
2017-07-27 14:09:00 +00:00