diff options
author | Dave Barach <dave@barachs.net> | 2019-09-04 12:09:32 -0400 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2019-09-07 01:26:58 +0000 |
commit | c4abafd83df38051765352785b146277734701f4 (patch) | |
tree | 12633dc1337661d1c4d408df2d1bca67e1d940bc /extras/oddbuf | |
parent | b736e75d5bb2d132fb00c35b6aabaa52e5f624ad (diff) |
ip: fix udp/tcp checksum corner cases
When checksumming chained buffers with odd lengths: insert a
NULL byte, or the calculation fails.
Type: fix
Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: John Lo <loj@cisco.com>
Change-Id: I380f7c42897bdb28c8c29aa1c4cdaaa849cc9ecc
Diffstat (limited to 'extras/oddbuf')
-rw-r--r-- | extras/oddbuf/setup.oddbuf | 276 |
1 files changed, 276 insertions, 0 deletions
diff --git a/extras/oddbuf/setup.oddbuf b/extras/oddbuf/setup.oddbuf new file mode 100644 index 00000000000..d59db566d11 --- /dev/null +++ b/extras/oddbuf/setup.oddbuf @@ -0,0 +1,276 @@ +set term pag off +loop create +set int state loop0 up +oddbuf enable loop0 + +packet-generator new { + name oddbuf + limit 1 + size 300-300 + interface loop0 + node ethernet-input + data { IP4: 1.2.3 -> 4.5.6 + UDP: 11.22.33.44 -> 11.22.34.44 + UDP: 1234 -> 2345 + incrementing 286 + } +} +pcap dispatch trace on max 10000 buffer-trace pg-input 1000 + +oddbuf configure n_to_copy 2 offset 1 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 2 offset 1 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 2 offset 2 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 2 offset 3 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 2 offset 4 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 2 offset 5 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 2 offset 6 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 2 offset 7 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 3 offset 0 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 3 offset 1 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 3 offset 2 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 3 offset 3 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 3 offset 4 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 3 offset 5 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 3 offset 6 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 3 offset 7 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 4 offset 0 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 4 offset 1 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 4 offset 2 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 4 offset 3 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 4 offset 4 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 4 offset 5 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 4 offset 6 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 4 offset 7 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 5 offset 0 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 5 offset 1 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 5 offset 2 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 5 offset 3 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 5 offset 4 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 5 offset 5 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 5 offset 6 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 5 offset 7 first_offset 5 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 2 offset 1 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 2 offset 1 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 2 offset 2 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 2 offset 3 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 2 offset 4 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 2 offset 5 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 2 offset 6 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 2 offset 7 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 3 offset 0 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 3 offset 1 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 3 offset 2 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 3 offset 3 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 3 offset 4 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 3 offset 5 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 3 offset 6 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 3 offset 7 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 4 offset 0 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 4 offset 1 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 4 offset 2 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 4 offset 3 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 4 offset 4 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 4 offset 5 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 4 offset 6 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 4 offset 7 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 5 offset 0 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 5 offset 1 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 5 offset 2 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 5 offset 3 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 5 offset 4 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 5 offset 5 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 5 offset 6 first_offset 0 +pa en oddbuf +suspend + +oddbuf configure n_to_copy 5 offset 7 first_offset 0 +pa en oddbuf +suspend + +pcap dispatch trace off |