diff --git a/doc/plan.org b/doc/plan.org index 7cb8842..d743656 100644 --- a/doc/plan.org +++ b/doc/plan.org @@ -165,6 +165,10 @@ | | - Can try P416 compiler | | | | - Next week Laurent not around: send email + Albert/Thomas/Edgar meeting | | | | | | +| 2019-03-30 | | | +| | Refactoring code | | +| | Hitting expression bug | | +| | | | | | | | | 2019-03-30 | NAT64 1:1 table ICMP, ICMPv6 working | | | | Will need some switch local ip addresses | | @@ -1377,6 +1381,42 @@ Exists! - TYPE_CPU for ethernet - Port ingress offset (9 vs. 16 bit) +**** p4c expression bug 2019-03-30 +Hit in master-thesis 0.4-28-g881643e + +#+BEGIN_SRC +Warning: you requested the nanomsg event logger, but bmv2 was compiled without -DBMELOG, and the event logger cannot be activated +Calling target program-options parser +[14:01:44.334] [bmv2] [D] [thread 23356] Set default default entry for table 'MyIngress.icmp6': MyIngress.controller_debug_table_id - 2, +[14:01:44.341] [bmv2] [D] [thread 23356] Set default default entry for table 'MyIngress.nat64': MyIngress.controller_debug_table_id - 1, +[14:01:44.344] [bmv2] [D] [thread 23356] Set default default entry for table 'tbl_act': act - +[14:01:44.345] [bmv2] [D] [thread 23356] Set default default entry for table 'tbl_act_0': act_0 - +[14:01:44.345] [bmv2] [D] [thread 23356] Set default default entry for table 'tbl_nat64_icmp6_generic': MyIngress.nat64_icmp6_generic - +[14:01:44.345] [bmv2] [D] [thread 23356] Set default default entry for table 'tbl_act_1': act_1 - +[14:01:44.345] [bmv2] [D] [thread 23356] Set default default entry for table 'tbl_act_2': act_2 - +[14:01:44.345] [bmv2] [D] [thread 23356] Set default default entry for table 'MyIngress.v4_networks': MyIngress.controller_debug_table_id - 5, +[14:01:44.345] [bmv2] [D] [thread 23356] Set default default entry for table 'MyIngress.v6_networks': MyIngress.controller_debug_table_id - 3, +[14:01:44.346] [bmv2] [D] [thread 23356] Set default default entry for table 'tbl_act_3': act_3 - +Invalid entry type 'expression' in field list +bad json: +{ + "type" : "expression", + "value" : { + "type" : "expression", + "value" : { + "left" : null, + "op" : "d2b", + "right" : { + "type" : "field", + "value" : [ "scalars", "metadata.chk_icmp6_na_ns" ] + } + } + } +} + + +#+END_SRC + **** Only one LPM key supported in tables (2019-03-23) #+BEGIN_SRC ../p4src/static-mapping.p4(121): error: MyIngress.nat64, Multiple LPM keys in table @@ -1413,7 +1453,7 @@ me available? I could work around this by using if(! .. .hit) { my_action(table_id) }, but it would not work with using default_action = ... -**** No switch in actions, No conditional execution in actions +**** DONE No switch in actions, No conditional execution in actions ***** 3 possible solutions - multi table (state as of 2019-03-28) - switch/if in actions: with shadow tables