64 Commits

Author SHA1 Message Date
Yi Tseng
27b9bc070f [ONOS-7607] Update fabric.p4 bmv2 json w/ new p4c compiler
Change-Id: I0ba33a0773bd32b2108a0e7d163ad1e2c758078b
2018-04-12 16:29:48 +08:00
Carmelo Cascone
255125d9fc No need to map table counters in PI pipeline interpreter
This is related to ONOS-7595. In a recent P4Runtime update, it has been
made explicit that tables can support at most 1 direct counter. Hence,
the pipeline interpreter no longer needs to provide a mapping between a
table and one of potentially many counters. If needed, such mapping can
be derived from the pipeline model (i.e. the p4info)

Change-Id: Ibdece52f35a4d187ab9dbeb90f5527b6285e9788
2018-04-11 21:24:48 +00:00
Carmelo Cascone
81929aa0cf Bumped supported commit of P4Runtime and BMv2
Includes fixes for:
- ONOS-7593: Support for indirect resource Index type
- ONOS-7595: Removed ID from direct resources
- P4Runtime requires unset bits to be 0 in ternary field matches
- Incorrect parsing of flow rule byte counters
- Full entity names in P4Info with top-level control block (fixed only
	for basic.p4, other programs need to be re-compiled and PI IDs in
	respective pipeconf changed)

Change-Id: Ia19aa949c02e363a550e692915c6d6516a2d13d7
2018-04-11 19:04:45 +00:00
Yi Tseng
f78e174ca0 [ONOS-7598] Fix P4 fabric pipeliner performance issue
Change-Id: I2dc175a2e0036ac3b1af41873b29714db15900e3
2018-04-11 06:07:22 +00:00
Carmelo Cascone
8a571af574 Support for bitwise AND/OR/XOR in ImmutableByteSequence
Also, minor refactoring of the fit() method to improve code readability

Change-Id: I826650c3fc45573c723d9d2dd8692da174d9ae08
2018-04-09 16:56:49 +00:00
Yi Tseng
df3eec5641 [ONOS-7493] Segment routing may uninstall forwarding with no next id
Change-Id: Id78b9ed94633b7e96fdeebe185e28d6de386e3ec
2018-04-05 21:00:39 +00:00
Frank Wang
d7e3b4bc9d [ONOS-7051] Support for P4Runtime meters
Change-Id: Id71374af65aeb84b71636b4ec230dc6001a77a8b
2018-04-04 00:35:08 +00:00
Yi Tseng
6e9b6f5035 [ONOS-7504] Skip adding or removing flows when operation is ADD_TO_EXIST or REMOVE_FROM_EXIST
Change-Id: Ia45ae50ceb94423df19cc1916dd794e736b9af1b
2018-03-20 02:28:54 +00:00
Carmelo Cascone
274daef03e Minor bugfix to spgw.p4
Change-Id: I2668883ba73558d445f05b7d2e3901252b5a640c
2018-02-15 19:10:46 +00:00
Carmelo Cascone
cedad870ec Test case for fabric-spgw when using MPLS routing
Change-Id: Ia77d8da848935e424aadca65d1f9e60068285df3
2018-02-15 04:34:40 +00:00
Ray Milkey
2b4958a463 SONAR suggestion - don't use generic exceptions
Change-Id: I77c4325281e94e189b7f1212a932f7e912b56b51
2018-02-06 18:59:06 -08:00
Carmelo Cascone
5bdffe79a0 Updated fabric P4 compiler output for BMv2
Change-Id: I46c52b954b8e87879d94e9f78511a003e6a06d8c
2018-02-04 14:53:54 -08:00
Carmelo Cascone
a106140b9c Made multicast support optional in fabric.p4
Change-Id: I4efc53fb3cf4270019cd0408eac9b966fa55c2ca
2018-02-04 02:04:24 +00:00
Yi Tseng
4fd2843696 [ONOS-7438][ONOS-7439] Supports table counters and some properties
Change-Id: Ifc0a0e89c14d2e5c17e11e5cef02a0de8cf5d00c
2018-02-02 03:30:51 +00:00
Carmelo Cascone
33e85c04bc Made GTP UPD checksum update optinal in SPGW
Change-Id: Icb38c47aeff533bd108a96b77e1b7c1ec866bc0a
2018-02-01 22:34:24 +00:00
Ray Milkey
986a47aa7c SONAR suggestion - generic exceptions
Replace uses of generic RuntimeException
with more appropriate unchecked exceptions

Change-Id: If283743c2cf7252b8d280bdb788708ebbe57da9d
2018-02-01 18:36:33 +00:00
Yi Tseng
3d3956d167 Fix bugs from fabric.p4
- Incorrect selector for hashed table
 - Incorrect counter type for port counter

Change-Id: I04af95bfbb17b9ca407313b3b3bfdfa9efbf1fa4
2018-02-01 05:42:43 +00:00
Carmelo Cascone
b531b6889c Minor clean-up of fabric pipeline
Change-Id: I9ee78abf9eca1a90dd24b99f737dd1acafea1fa6
2018-01-31 18:29:27 +00:00
Carmelo Cascone
88bbc99715 Test entries and pcaps for fabric.p4 with SPGW support
Change-Id: I66be4ad8a04b68b225f8061f06e2eb68e502b76c
2018-01-30 23:49:08 +00:00
Carmelo Cascone
f87dc2ebe0 Test P4 program and data for SPGW
Change-Id: I188ca9014b52eb1d900e92da9ae632bc4ce1bdaf
2018-01-30 21:36:52 +00:00
Carmelo Cascone
b757dbc4eb Fixed double-extraction issue in spgw parser
Change-Id: I9b564322840147ab037cc07ddc1384e648b946b8
2018-01-27 05:50:23 +00:00
Carmelo Cascone
ed88f2b6fe Do not compile with IPv6 support in fabric.p4 by default
Change-Id: I5194ccb0ab78ec4388106cea14c96884f5d16b0f
2018-01-27 02:27:36 +00:00
Carmelo Cascone
14cde40599 Fixed downlink processing of spgw.p4
Change-Id: I37f2361bcdd6539a38b294b7da10989a851cf2ec
2018-01-25 01:57:18 -08:00
Carmelo Cascone
b81f4be168 Initial integration of SPGW in fabric.p4
Change-Id: Idd78399212039e44c982f50d343f824d516f938a
2018-01-25 02:26:16 +00:00
Yi Tseng
bd46d05410 Fix VLAN and MPLS problem for fabric.p4
MPLS and VLAN won't work if we port fabric.p4 to PSA like architecture

Change-Id: Ife2ed4a09816981c712f4a3b78408536a21defee
2018-01-22 19:20:52 -08:00
Yi Tseng
3a5731e32d Minor refactoring for fabric.p4
Change-Id: I8c5bac678ead88bda42a0b49ea19d7c968bcc305
2018-01-22 11:43:32 -08:00
ONOS Jenkins User
45d340c839 Starting snapshot 1.13.0-SNAPSHOT 2018-01-09 01:56:13 +00:00
ONOS Jenkins User
32ebb5add8 Tagging 1.13.0-b8 2018-01-09 01:54:28 +00:00
Yi Tseng
c6844f56ce Refactor fabric.p4 and pipeliner
- Rename constants, some control blocks may share same action
 - Remove unused match keys from ACL table
 - Better style for constant file
 - Ignore unsupported match from objective

Change-Id: I6472426d2a2607581c6fa7479ad40d7090a7d660
2017-12-21 08:42:52 +00:00
Jonghwan Hyun
b9358821e8 [ONOS-7154] Add Interpreter for int.p4
Change-Id: If489987565452ce3fc25f48b3a54220a5c0d4f60
2017-12-13 06:28:01 +00:00
Jonghwan Hyun
8be0339935 [ONOS-7154] Add DSCP bit support as an INT header indicator
Change-Id: I2e80dd64b8c73808e96bba7470c1c331b562c45e
2017-12-12 23:06:29 +00:00
ONOS Jenkins User
61881df1ee Starting snapshot 1.13.0-SNAPSHOT 2017-12-12 21:19:45 +00:00
ONOS Jenkins User
d22dccc27f Tagging 1.13.0-b7 2017-12-12 21:18:01 +00:00
ONOS Jenkins User
4bf9e3a520 Starting snapshot 1.13.0-SNAPSHOT 2017-12-12 18:46:22 +00:00
ONOS Jenkins User
168ac92b8d Tagging 1.13.0-b6 2017-12-12 18:44:15 +00:00
ONOS Jenkins User
0e78e27f0c Starting snapshot 1.13.0-SNAPSHOT 2017-12-12 03:27:00 +00:00
ONOS Jenkins User
2a7d833cab Tagging 1.13.0-b5 2017-12-12 03:25:23 +00:00
ONOS Jenkins User
c53a15f933 Starting snapshot 1.13.0-SNAPSHOT 2017-12-11 20:43:30 +00:00
ONOS Jenkins User
d06da9e33c Tagging 1.13.0-b3 2017-12-11 20:41:44 +00:00
Yi Tseng
54bd8b25fe [ONOS-7312] Fix dependency problem of fabric.p4
Change-Id: I1389a0faa8caa9291548243af27e933ce13b34c6
2017-12-11 10:21:43 +00:00
ONOS Jenkins User
716484c58c Starting snapshot 1.13.0-SNAPSHOT 2017-12-09 03:41:19 +00:00
ONOS Jenkins User
6a6ac1d5a0 Tagging 1.13.0-b1 2017-12-09 03:39:39 +00:00
ONOS Jenkins User
a57a814230 Starting snapshot 1.13.0-SNAPSHOT 2017-12-09 00:57:30 +00:00
ONOS Jenkins User
8977cedde7 Tagging 1.13.0-b0 2017-12-09 00:55:39 +00:00
Yi Tseng
1d84267c5b Minor refactoring for fabric.p4
Change-Id: I736b20fc95b4a03afa1074eb777a23507530b44f
2017-12-08 11:53:05 -08:00
Yi Tseng
f55eaa8112 [ONOS-7255] Remove next id mapping table from fabric.p4
Change-Id: Ibcdc49f7c802cb4a4175d51314713725d8b05a77
2017-11-30 21:16:25 +00:00
Yi Tseng
1b154bd81c [ONOS-7242] Support MPLS by fabric.p4 pipeliner
Change-Id: I56a8f266e6d0afe5ad6737b8d0e399758fb75378
2017-11-27 22:55:51 +00:00
Jonghwan Hyun
4a9a671c76 [ONOS-7154] Initial INT pipeline implementation
Change-Id: I85829350349c77abfcb14445de290be599573fea
2017-11-23 00:50:32 +00:00
Carmelo Cascone
5167f329c5 Refactored PI-ECMP app to use action profiles of basic.p4
Also removed obsolete ecmp.p4-related code.

Change-Id: Idaca90becfff5fc312de2530bf7924ccd502e076
2017-11-23 00:50:32 +00:00
Yi Tseng
dbe0560f0d [ONOS-7236] Supports simple IPv4 routing on fabric.p4
Change-Id: Ie92b26361b1d646491bd382f698c0f8f61a058a1
2017-11-21 17:08:30 -08:00