Commit Graph

165 Commits

Author SHA1 Message Date
Nico Schottelius 13e77c89f6 syntax correction 2019-04-03 11:56:50 +02:00
Nico Schottelius 2c377f2df6 Correct field names 2019-04-03 11:56:10 +02:00
Nico Schottelius 74e4e7034b Trigger ipv4 checksumming after nat64 translation 2019-04-03 11:46:52 +02:00
Nico Schottelius 0f2df2723b Set mac address based on destination network [HACK] 2019-04-03 11:31:29 +02:00
Nico Schottelius bc2eb7dad1 Change ethernet addresses, too 2019-04-03 11:02:07 +02:00
Nico Schottelius fb02ca1a7f Set checksum flag for icmp 2019-04-03 10:56:32 +02:00
Nico Schottelius 1d08a942d5 -() 2019-04-03 10:53:16 +02:00
Nico Schottelius d87b897069 Add icmp handling / replying 2019-04-03 10:52:25 +02:00
Nico Schottelius fdf828d687 Do not not not double swap 2019-04-03 10:21:40 +02:00
Nico Schottelius fbe8e66431 Make arp swapping more readable, --BUG 2019-04-02 17:42:56 +02:00
Nico Schottelius 6e22465ae4 Update arp processing for ethernet 2019-04-02 17:22:21 +02:00
Nico Schottelius 16a1620002 Also emit the arp header 2019-04-02 17:16:17 +02:00
Nico Schottelius 018e9eef09 Begin to add egress / arp support 2019-04-02 17:13:05 +02:00
Nico Schottelius 30dcc0af81 Try to outsmart the compiler with the arp table
Adressing

p4c --target bmv2 --arch v1model --std p4-16 "../p4src/static-mapping.p4" -o "/home/p4/master-thesis/p4src"
../p4src/static-mapping.p4(366): error: Program is not supported by this target, because table MyIngress.v6_networks has multiple successors
    table v6_networks {
          ^^^^^^^^^^^
Compilation Error
2019-03-31 16:40:44 +02:00
Nico Schottelius 26605a43e7 Arp is not IPv4 2019-03-31 16:37:21 +02:00
Nico Schottelius 5097f9dbd1 +action for arp table 2019-03-31 15:55:57 +02:00
Nico Schottelius d8d7591647 +header arp 2019-03-31 15:50:07 +02:00
Nico Schottelius 07f0867175 Begin to introduce arp support 2019-03-31 15:48:00 +02:00
Nico Schottelius 801b4d818e Fix total_length by adding 15 bytes 2019-03-30 18:11:04 +01:00
Nico Schottelius cd3084d8f9 rewrite checksum triggers in ndp/echo reply 2019-03-30 17:19:17 +01:00
Nico Schottelius 33117f0ca8 Remove unused tables 2019-03-30 17:12:34 +01:00
Nico Schottelius cb3b1501ef also setter code s/true/1/ 2019-03-30 17:03:06 +01:00
Nico Schottelius ec40bc2c54 s/bool/bit<1>/
Fixing

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" ]
         }
      }
   }
}
2019-03-30 17:02:18 +01:00
Nico Schottelius d1cc9d2643 Rewrite one check to bit<1> 2019-03-30 17:01:04 +01:00
Nico Schottelius 9f5b9fb0c9 Compare the right field 2019-03-30 16:59:32 +01:00
Nico Schottelius bfd4a35942 Try to find another workaround against json error in the switch
[15:54:38.463] [bmv2] [D] [thread 21721] Set default default entry for table 'MyIngress.nat46': MyIngress.controller_debug_table_id - 4,
[15:54:38.463] [bmv2] [D] [thread 21721] Set default default entry for table 'tbl_act_3': act_3 -
[15:54:38.463] [bmv2] [D] [thread 21721] Set default default entry for table 'tbl_act_4': act_4 -
[15:54:38.463] [bmv2] [D] [thread 21721] Set default default entry for table 'tbl_nat46_icmp_generic': MyIngress.nat46_icmp_generic -
[15:54:38.463] [bmv2] [D] [thread 21721] Set default default entry for table 'tbl_act_5': act_5 -
[15:54:38.463] [bmv2] [D] [thread 21721] Set default default entry for table 'tbl_act_6': act_6 -
[15:54:38.463] [bmv2] [D] [thread 21721] Set default default entry for table 'tbl_act_7': act_7 -
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" ]
         }
      }
   }
}

p4@ubuntu:~/master-thesis/p4app$
2019-03-30 16:57:57 +01:00
Nico Schottelius 78308a00ee v6: next_header 2019-03-30 16:54:19 +01:00
Nico Schottelius dae3d5ce30 + { 2019-03-30 16:53:20 +01:00
Nico Schottelius f57f15a9cb Cleanup tables++ 2019-03-30 16:51:34 +01:00
Nico Schottelius d5312dd04c Change table name 2019-03-30 16:50:17 +01:00
Nico Schottelius 92163d46ef Begin NAT46 translation of ICMP->ICMP6 2019-03-30 16:35:52 +01:00
Nico Schottelius 881643e2c3 +chk_ prefix 2019-03-30 15:01:24 +01:00
Nico Schottelius f32ad44e0b Refactor #n: go back to generic entry point, use if in apply{} 2019-03-30 14:59:46 +01:00
Nico Schottelius 432965eb4f Reordering actions... 2019-03-27 20:15:31 +01:00
Nico Schottelius b87b7b72f6 Action definition order matters... 2019-03-27 20:12:56 +01:00
Nico Schottelius f52522fe0c Correct typo / rename bug 2019-03-27 20:11:41 +01:00
Nico Schottelius b12d5d41ee Resolve name conflict 2019-03-27 20:08:49 +01:00
Nico Schottelius d6264a32a4 Add code to mimic if in action
New table logic, new actions
2019-03-27 19:43:49 +01:00
Nico Schottelius ac96fe467d Commit sketch tables for reference 2019-03-27 18:59:35 +01:00
Nico Schottelius c551b944f8 Remove outter if action call 2019-03-27 18:25:56 +01:00
Nico Schottelius 9a5571fc39 Remove inner if 2019-03-27 18:25:05 +01:00
Nico Schottelius 12658b23ac Use an action to do the same thing as before 2019-03-27 18:22:37 +01:00
Nico Schottelius 7d9e9e1cfd Replace switch in action with multiple if's
p4c --target bmv2 --arch v1model --std p4-16 "../p4src/static-mapping.p4" -o "/home/p4/master-thesis/p4src"
../p4src/static-mapping.p4(60): error: SwitchStatement: switch statements not allowed in actions
        switch(hdr.icmp6.type) {
        ^^^^^^
2019-03-27 18:05:59 +01:00
Nico Schottelius aa1b316767 + block in swtich 2019-03-27 18:02:42 +01:00
Nico Schottelius 404d4ff0df Begin checksumming icmp4 2019-03-27 18:01:11 +01:00
Your Name 31c86b2e7c Actually call() the function! 2019-03-27 13:13:04 +00:00
Your Name 907f677e2d Use if instead of switch 2019-03-27 13:09:27 +00:00
Nico Schottelius 01d9305350 Move def of nat64_icmp6 prior to use 2019-03-27 13:55:07 +01:00
Nico Schottelius e349de5859 Change protocol in case of icmp6->icmp 2019-03-27 13:49:39 +01:00
Nico Schottelius c1953aab5c Re-enable standard IPv4 processing 2019-03-27 13:32:14 +01:00