Commit graph

324 commits

Author SHA1 Message Date
Nico Schottelius
e6951c6210 [netpfga] re-introduce old parser, rename variables 2019-07-23 16:06:18 +02:00
Nico Schottelius
1be73a0e50 Include commented all logic from checksum_diff.p4 2019-07-23 15:56:27 +02:00
Nico Schottelius
93c98323f4 add ifdef for controller actions 2019-07-23 15:50:31 +02:00
Nico Schottelius
f44386b6b8 Include the right DEparser 2019-07-23 15:02:27 +02:00
Nico Schottelius
d68be5010d [netpfga] add generic deparser, took
Trying to fix late stage compile error
2019-07-23 15:00:26 +02:00
Nico Schottelius
23a64da1f4 [netpfga] naming change 2019-07-23 12:35:00 +02:00
Nico Schottelius
6fce1d7f7d Move digest handling into parser 2019-07-23 12:32:59 +02:00
Nico Schottelius
e72265df47 [netpfga] adjust names to use new bmv2 style naming 2019-07-23 12:26:59 +02:00
Nico Schottelius
cae8e6c7c0 [netfpga] import generic parser 2019-07-23 12:22:31 +02:00
Nico Schottelius
6e162ca63b Rewrite the netpfga p4 program 2019-07-23 12:21:49 +02:00
Nico Schottelius
1059e8d0e0 Begin from the beginning: reset to port1 only 2019-07-23 10:20:18 +02:00
Nico Schottelius
71686bfa53 + () 2019-07-21 10:52:00 +02:00
Nico Schottelius
6b478c87f1 Try fix shifting errors in first block 2019-07-21 10:50:26 +02:00
Nico Schottelius
266ab1d036 Try fixing shift errors (precendence!) 2019-07-21 10:48:35 +02:00
Nico Schottelius
dda1aa9c3c Split ipv4 header into 16 bit words 2019-07-21 10:45:43 +02:00
Nico Schottelius
018e4cc9ff In theory: implement NAT64 from v6 to v4 without externs 2019-07-21 10:23:49 +02:00
Nico Schottelius
020601f463 [checksum] add v6->v4 translations delta based, too 2019-07-17 18:06:49 +02:00
Nico Schottelius
2338d4d780 subtract ipv4, not ipv6 2019-07-17 17:54:05 +02:00
Nico Schottelius
e10e4db6fa ++empty commands.txt 2019-07-17 17:44:22 +02:00
Nico Schottelius
898205048b [netpfga] +table action 2019-07-17 17:42:11 +02:00
Nico Schottelius
55cc9db975 Fix meaning of "send_to_port1" 2019-07-17 17:41:54 +02:00
Nico Schottelius
d8d1defa50 ++cast 2019-07-17 17:38:55 +02:00
Nico Schottelius
831d69fe9c Remove function, because functions don't compile 2019-07-17 17:37:37 +02:00
Nico Schottelius
87d2db4b5f [netpfga] Add default action for matching, remove commands.txt 2019-07-17 17:24:34 +02:00
Nico Schottelius
ed6c4daec9 ++code move for function 2019-07-17 15:48:16 +02:00
Nico Schottelius
512fca1349 update checksum code 2019-07-17 15:46:54 +02:00
Nico Schottelius
4286ad0832 undo 1's complement of the checksum, add / subtract and then redo 2019-07-17 15:17:06 +02:00
Nico Schottelius
bc90421426 Get rid of negative wrap around 2019-07-16 13:05:13 +02:00
Nico Schottelius
811e4c2b11 Separate checksum addition/subtraction into 2 steps 2019-07-16 12:30:29 +02:00
Nico Schottelius
5221675b6a +v4sum 2019-07-16 12:16:36 +02:00
Nico Schottelius
ec48d89c67 get the v6sum 2019-07-16 12:14:46 +02:00
Nico Schottelius
1a5d3c529b rename ipv4 header checksum 2019-07-16 12:07:21 +02:00
Nico Schottelius
ecab110d7c Back to 16 bit arithmetic 2019-07-16 12:06:26 +02:00
Nico Schottelius
428faead17 "fqdn" 2019-07-16 11:54:29 +02:00
Nico Schottelius
3ccbcd767c Use new style includes 2019-07-16 11:53:54 +02:00
Nico Schottelius
1a39c35e3b Check how wrapping is done in P4 2019-07-16 11:53:00 +02:00
Nico Schottelius
beada8408a udp translation adopted 2019-07-16 10:55:17 +02:00
Nico Schottelius
baa50b91c6 Use own filtering code 2019-07-15 16:53:57 +02:00
Nico Schottelius
a8b00447e9 +dummy 2019-07-15 16:50:09 +02:00
Nico Schottelius
f0900c3821 update tcp checksumming 2019-07-15 16:48:24 +02:00
Nico Schottelius
26c27cefa8 Change order of complement & filtering 2019-07-15 16:20:51 +02:00
Nico Schottelius
991b725c36 -typo 2019-07-15 16:13:13 +02:00
Nico Schottelius
52adbb1990 Migrate scapy shift/filter code to P4 2019-07-15 16:11:21 +02:00
Nico Schottelius
2caace5735 +1 2019-07-15 14:25:50 +02:00
Nico Schottelius
fc60e4f45f -1 2019-07-15 14:24:04 +02:00
Nico Schottelius
51bf8b9ace netfpga: update test packet generator; checksum: implement carry over 2019-07-15 14:18:35 +02:00
Nico Schottelius
7599ebb89d Try to prevent underrun / possible off by one
Checking for bigger value
2019-07-13 18:05:50 +02:00
Nico Schottelius
86885760b2 update gen_testdata
- add more packets
- fix counter for one packet
2019-07-13 17:28:03 +02:00
Nico Schottelius
d62a17dbe7 netpfga/bmv2 mixup 2019-07-11 11:01:33 +02:00
Nico Schottelius
7e794b5c10 - } 2019-07-11 10:59:42 +02:00
Nico Schottelius
e9997964cd Split of checksumming of bmv2 2019-07-11 10:50:00 +02:00
Nico Schottelius
13ab000b18 Merge branch 'master' of gitlab.ethz.ch:nicosc/master-thesis 2019-07-11 08:47:45 +02:00
Nico Schottelius
378e16f48c ++stuff 2019-07-11 08:47:34 +02:00
Nico Schottelius
09d5c23aad make port a command 2019-07-10 23:25:09 +02:00
Nico Schottelius
9eccd6e95a ignore temp files 2019-07-10 23:16:55 +02:00
Nico Schottelius
4387e37f4e Shorten the name
It seems include with filenames over some length are not supported in sdnet
2019-07-10 23:05:51 +02:00
Nico Schottelius
0eb5d53438 include new actions 2019-07-10 22:51:45 +02:00
Nico Schottelius
5da69c79d3 use commands.txt for sending traffic on port1 2019-07-10 22:50:18 +02:00
Nico Schottelius
35d824b7f3 ++netpfga 2019-07-10 22:47:52 +02:00
Nico Schottelius
ee3c594bf1 make
Signed-off-by: Nico Schottelius <nico@nico-notebook.schottelius.org>
2019-07-10 22:39:04 +02:00
Nico Schottelius
6430cf8264 unify headers on netpfga 2019-07-10 22:36:34 +02:00
Nico Schottelius
ff1688e3b2 integrate netpfga/p4 generic 2019-07-10 22:28:37 +02:00
Nico Schottelius
6812dc46fd Fix off-by-one in tcp, too 2019-07-10 21:35:25 +02:00
Nico Schottelius
0b7f0347d4 off by one for delta checksums 2019-07-10 21:26:09 +02:00
Nico Schottelius
8ac508162a Add the complement diff 2019-07-10 15:28:59 +02:00
Nico Schottelius
5a093cf0cf Include diff complement 2019-07-10 15:11:19 +02:00
Nico Schottelius
9fdc909838 put the diff into the checksum 2019-07-10 14:49:23 +02:00
Nico Schottelius
0178a1a224 ifdef update 2019-07-10 13:46:00 +02:00
Nico Schottelius
ade37e1a94 Trigger def for checksum 2019-07-10 13:45:17 +02:00
Nico Schottelius
a370fcbb6c another meta fix 2019-07-10 13:44:04 +02:00
Nico Schottelius
7cec2b635d another meta fix 2019-07-10 13:43:37 +02:00
Nico Schottelius
ebda2acbdc meta is not in a hdr 2019-07-10 13:42:37 +02:00
Nico Schottelius
ae8ce224fc [delta checksum] in theory finish for v4-udp => v6-udp 2019-07-10 13:38:59 +02:00
Nico Schottelius
2839b8e4b2 ++ arp 2019-07-10 09:13:28 +02:00
Nico Schottelius
6246e99c5d Include egress 2019-07-10 09:11:57 +02:00
Nico Schottelius
4b6bd01dda generic -> controller 2019-07-10 09:10:59 +02:00
Nico Schottelius
be73b24fb9 --typo 2019-07-10 09:09:18 +02:00
Nico Schottelius
d82c843fff Re-include NAT64 generic 2019-07-10 09:08:32 +02:00
Nico Schottelius
8309f4367c Split logic into smaller action blocks 2019-07-10 09:07:17 +02:00
Nico Schottelius
8d2b73edee fix ipv6 var naming 2019-07-10 08:56:46 +02:00
Nico Schottelius
476b04c97c ++doc ++egress port 2019-07-10 08:55:07 +02:00
Nico Schottelius
df73b417c6 Add controller_reply 2019-07-10 08:50:21 +02:00
Nico Schottelius
d32543cf1b Syntax change: no += 2019-07-10 08:49:09 +02:00
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