08eb2bb205
See .../extras/pg/checksum_offload.pg for a nontrivial example, which deliberately sets bogus ip and udp checksums in the generated packets, then fixes the mess with (software emulated) hardware checksum offload. Validated via "pcap dispatch trace on max 1000 buffer-trace pg-input 100". Packets stuffed into loop1-output have the configured bogus ip and udp checksums. vnet_calc_checksums_inline(...) fixes the checksums, which are correct when packets visit loop1-tx. The packet generator is a dumb robot in this regard. If you ask for a ridiculous flag combination - example: ip4 and ip6 - your mileage may vary. Type: feature Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I6d9e790f373bcd9e445a89113ca8e4c8f9aa9419
27 lines
603 B
Plaintext
27 lines
603 B
Plaintext
set term pag off
|
|
loop cre
|
|
set int ip address loop0 11.22.33.1/24
|
|
set int state loop0 up
|
|
loop cre
|
|
set int ip address loop1 11.22.34.1/24
|
|
set int state loop1 up
|
|
|
|
set ip neighbor loop1 11.22.34.44 03:00:11:22:34:44
|
|
|
|
packet-generator new {
|
|
name s0
|
|
limit 10000
|
|
size 128-128
|
|
interface loop0
|
|
tx-interface loop1
|
|
node loop1-output
|
|
buffer-flags ip4 offload-ip-cksum offload-udp-cksum
|
|
data { IP4: 1.2.3 -> 4.5.6
|
|
UDP: 11.22.33.44 -> 11.22.34.44
|
|
ttl 2 checksum 13
|
|
UDP: 1234 -> 2345
|
|
checksum 11
|
|
incrementing 114
|
|
}
|
|
}
|