Commit graph

163 commits

Author SHA1 Message Date
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
Nico Schottelius
f59c35c41b setValid() before filling in the values 2019-03-27 13:26:50 +01:00
Nico Schottelius
29296a30e4 verify again 2019-03-26 22:16:53 +01:00