From c4abafd83df38051765352785b146277734701f4 Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Wed, 4 Sep 2019 12:09:32 -0400 Subject: 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 Signed-off-by: John Lo Change-Id: I380f7c42897bdb28c8c29aa1c4cdaaa849cc9ecc --- extras/oddbuf/setup.oddbuf | 276 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 276 insertions(+) create mode 100644 extras/oddbuf/setup.oddbuf (limited to 'extras') 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 -- cgit 1.2.3-korg