Commit graph

191 commits

Author SHA1 Message Date
Nico Schottelius
c714b2748b Try replacing += syntax with explicit 2019-07-10 08:48:06 +02:00
Nico Schottelius
ff383e3b08 add test json file for bmv2 2019-07-10 08:44:56 +02:00
Nico Schottelius
a69c4060e2 begin implementing diff based checksum in p4 2019-07-06 20:57:11 +02:00
Nico Schottelius
ce212ed9e1 Checksums: ipv4 diff not needed; minip4: enable icmp, arp 2019-07-01 11:03:10 +02:00
Nico Schottelius
8b8f70e6a0 Begin to introduce commented out code, use metadata 2019-06-24 13:05:42 +02:00
Nico Schottelius
f9ce0b92a6 modify settings.h for netpfga 2019-06-24 12:55:27 +02:00
Nico Schottelius
b8897a7b35 Adjust headers to work with netpfga #1
make[1]: Entering directory '/home/nico/master-thesis/netpfga/minip4/src'
p4c-sdnet -o minip4.sdnet --sdnet_info .sdnet_switch_info.dat minip4_solution.p4
headers.p4(12): error: Duplicate declaration of port_t; previous at
typedef bit<9> port_t
               ^^^^^^
/opt/xilinx/SDNet/2018.2/data/p4include/sume_switch.p4(37)
typedef bit<8> port_t;
               ^^^^^^
headers.p4(12): error: port_t: Duplicates declaration port_t
typedef bit<9> port_t;
               ^^^^^^
/opt/xilinx/SDNet/2018.2/data/p4include/sume_switch.p4(37)
typedef bit<8> port_t;
               ^^^^^^
error: 2 errors encountered, aborting compilation
make[1]: *** [Makefile:5: all] Error 1
make[1]: Leaving directory '/home/nico/master-thesis/netpfga/minip4/src'
make: *** [Makefile:31: frontend] Error 2
2019-06-06 22:34:32 +02:00
Nico Schottelius
56d2f2ee65 cleanup && integrate headers.p4 into minip4 2019-06-03 23:00:32 +02:00
Nico Schottelius
63ec17b9a4 begin to integrate headers of real code into netpfga 2019-06-03 22:33:37 +02:00
Nico Schottelius
78b037038a ipv4 egress if tcp session hit 2019-05-06 12:52:29 +02:00
Nico Schottelius
7be9c01b48 stop processing v6 when matching for nat64 session 2019-05-06 12:50:45 +02:00
Nico Schottelius
1a1d2fcdb7 [no init from v4 world] 2019-05-06 12:20:45 +02:00
Nico Schottelius
522b4d6593 ++addr change 2019-05-06 12:18:10 +02:00
Nico Schottelius
b0b9cd7461 [controller] insert 6->4 session 2019-05-06 12:16:22 +02:00
Nico Schottelius
7fedd83959 [p4src] in theory finish source requirements for sessions 2019-05-06 11:51:04 +02:00
Nico Schottelius
b972accc73 [refactor] nat64 now - not only static mapping anymore 2019-05-05 13:48:05 +02:00
Nico Schottelius
02fc065c1d Begin adding session tables, debug infos 2019-05-02 13:54:31 +02:00
Nico Schottelius
fe9d169bef Add tcp/udp checksum triggers 2019-04-11 10:15:37 +02:00
Nico Schottelius
1afcd82e42 Update names 2019-04-11 10:13:54 +02:00
Nico Schottelius
c082106338 -, 2019-04-11 10:11:57 +02:00
Nico Schottelius
e26c348e71 +indent 2019-04-11 10:10:39 +02:00
Nico Schottelius
bf59808806 Add checksums for udp_6, udp_v4, tcp_v6, tcp_v4 2019-04-11 10:08:11 +02:00
Nico Schottelius
6c3393e941 next steps, use noaction to avoid clone3() and breaking ndp 2019-04-08 15:59:28 +02:00
Nico Schottelius
71d1e86d3f Setup the cast_length in icmp->icmp6 translations 2019-04-03 12:44:00 +02:00
Nico Schottelius
9d2f418f78 Remove cloning on table miss 2019-04-03 12:38:55 +02:00
Nico Schottelius
2c9f4923b6 ++notes -remove unused debugging code 2019-04-03 12:02:40 +02:00
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