p4lang-p4c-nightly:hanw/remove-synthesize-valid-field

Last commit made on 2018-06-01
Get this branch:
git clone -b hanw/remove-synthesize-valid-field https://git.launchpad.net/p4lang-p4c-nightly

Branch merges

Branch information

Name:
hanw/remove-synthesize-valid-field
Repository:
lp:p4lang-p4c-nightly

Recent commits

1d10ed5... by Han Wang <email address hidden>

remove synthesizeValidField pass

9ea3890... by Antonin Bas <email address hidden>

A framework for P4Info generation for arbitrary architectures

More architectures are being developped and there is a desire to be able
to use P4Runtime with them. P4Runtime supports standard architectures
(v1model & PSA) natively and support architecture-specific extensions
(table properties & externs). In order to enable using P4Runtime with
vendor-specific architectures, we define a framework that can be used to
implement P4Info generation for these architectures more easily. v1model
& PSA also use this framework, but support for these standard
architectures is supported natively by p4c, while vendor-specific
architectures must be supported in the vendor's backend.

The goal of the framework is to reduce code redundancy. A
P4RuntimeArchHandlerIface implementation can be registered for each
architecture. The P4RuntimeSerializer singleton object takes care of all
the common logic, and calls the overridden P4RuntimeArchHandlerIface
when needed for architecture-specific processing.

There are still some minor v1model references in P4RuntimeSerializer
that will be solved in a future commit. These are minor and are
dependent on some fixes in p4info.proto.

P4Info generation for PSA is not supported yet (it will be in a future
commit) but most of the v1model code should be re-usable.

5998e0d... by Han Wang <email address hidden>

initial support for psa architecture in bmv2 backend (#1298)

46fbaa7... by Evan Cheshire <email address hidden>

Added an annotation for meter pre_color (#1315)

8319d32... by Han Wang <email address hidden>

fix backend graph to check for optional arguments in PackageBlock (#1313)

7ad9155... by Antonin Bas <email address hidden>

Update to latest P4Runtime version

We now include the major version number in the Protobuf package names
for P4Runtime, following best practices to deploy Protobuf / gRPC cloud
services. This required updating all of the compiler code that uses the
P4Runtime Protobuf messages.

23aef2e... by Han Wang <email address hidden>

check for nullptr when generating control plane api (#1309)

41a0514... by Mihai Budiu <email address hidden>

Fix for issue #1304 (#1306)

486f528... by Mihai Budiu <email address hidden>

fix for issue #1301 (#1302)

* fix for issue #1301

98de16a... by Mihai Budiu <email address hidden>

Support named arguments in frontend and midend (#1288)

* Support for named arguments
* BMv2 support for named arguments
* Standardized 'optional'; added grammar for default parameter values - not implemented yet