trafgen: l3: Fix checksum for UDP/TCP protos
commit1e1383fea55fb35cec96a352da93c2a31d9e897c
authorVadim Kochan <vadim4j@gmail.com>
Mon, 23 Jan 2017 21:49:22 +0000 (23 23:49 +0200)
committerTobias Klauser <tklauser@distanz.ch>
Wed, 25 Jan 2017 12:23:47 +0000 (25 13:23 +0100)
tree1b93e0cbe4bcbe7893f0cb92073e5318d469d60c
parent1df0f481922acfb5f7af0f3a5cb800ec0f77e48f
trafgen: l3: Fix checksum for UDP/TCP protos

While fixing the issue with getting of IPv4 address from device,
the setting of default src IPv4/IPv6 addresses was moved from
hdr->header_init(...) callback to hdr->packet_finish(...), but
packet_finish(...) is called in the following order:

    udp_hdr->packet_finish() - UDP csum calculation over IPv4/6 pseudo header
    ip4_hdr->packet_finish() - setting default src IPv4 address from dev
    ...

So src IPv4/6 address will be set after UDP/TCP csum calculation which
is wrong, so fixed issue by moving it to the hdr->header_init(...) stage
as it was before the c4e07d5142c8.

Fixes: c4e07d5142c8 ("trafgen: l3: Support interface without IP address")
Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
trafgen_l3.c