get the v6sum

This commit is contained in:
Nico Schottelius 2019-07-16 12:14:46 +02:00
parent 7546a1d1f8
commit ec48d89c67
2 changed files with 12 additions and 3 deletions

View file

@ -5295,7 +5295,7 @@ p4@ubuntu:~/master-thesis/bin$ mx h3 "echo V4-OK | socat - UDP:10.1.1.1:2342"
**** DONE Result: arp (partly?) missing?
CLOSED: [2019-07-16 Tue 11:00]
**** TODO Result: udp checksum wrong
**** Result: udp checksum wrong
- should be: 0xd84b
- is: 0xd84c
@ -5309,7 +5309,8 @@ This is used to correct endianness!
-> not needed in our case
*** TODO 2019-07-16: Wraptest in P4
*** DONE 2019-07-16: Wraptest in P4
CLOSED: [2019-07-16 Tue 12:09]
#+BEGIN_CENTER
mx h3
arp -s 10.0.0.2 00:00:0a:00:00:02
@ -5328,6 +5329,12 @@ Result on the wire of the wraptest:
-> as expected
Thus carryover is already implemented. Try to use 16 bit ints
*** TODO 2019-07-16: naive approach
Gives off-by-one in udp, sometimes!
10:08:52.626713 IP6 (hlim 64, next-header UDP (17) payload length: 14) 2001:db8:1::a00:1.51345 > 2001:db8::1.2342: [bad udp cks
** The NetPFGA saga
Problems encountered:
- The logfile for a compile run is 10k+ lines

View file

@ -53,7 +53,9 @@ action delta_prepare()
action delta_udp_from_v4_to_v6()
{
delta_prepare();
hdr.udp.checksum = hdr.udp.checksum + meta.v6sum - meta.v4sum;
hdr.udp.checksum = meta.v6sum;
// hdr.udp.checksum = meta.v4sum;
// hdr.udp.checksum = hdr.udp.checksum + meta.v6sum - meta.v4sum;
}
action delta_tcp_from_v4_to_v6()