I'm generating packets on an arm (aarch64) processor running trafgen 0.6.6+ and when it should send a packet with UDP checksum 0xffff, it sends 0x0000.
Here is the config:
# cat inc-dport.config
cpu(1): {
eth(daddr=00:01:02:03:04:05),
ipv4(daddr=172.16.0.5, proto=17),
udp(dport=dinc()),
fill(0xaa, 128)
}
And here is an example of a bad checksum packet (from netsniff-ng):
< ? 170 4529s.815007000ns #195611
[ tpacketv3 VLAN Prio (0), CFI (0), ID (0), Proto (0x0000) ]
[ Eth MAC (00:01:02:03:04:06 => 00:01:02:03:04:05), Proto (0x0800, IPv4) ]
[ Vendor (3COM CORPORATION => 3COM CORPORATION) ]
[ IPv4 Addr (172.16.0.6 => 172.16.0.5), Proto (17), TTL (0), TOS (0), Ver (4), IHL (5), Tlen (156), ID (0), Res (0), NoFrag (0), MoreFrag (0), FragOff (0), CSum (0x6226) is ok ]
[ UDP Port (0 => 64519), Len (136 Bytes, 128 Bytes Data), CSum (0x0000) ]
[ Chr ................................................................................................................................ ]
[ Hex aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa
aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa
aa aa aa aa ]