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
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