mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 06:04:44 +01:00
selftests: forwarding: vxlan_bridge_1d: fix test failure with br_netfilter enabled
The test generates VXLAN traffic using mausezahn, where the encapsulated
inner IPv4 packet contains a zero IP header checksum. After VXLAN
decapsulation, such packets do not pass sanity checks in br_netfilter
and are dropped, which causes the test to fail.
Fix this by calculating and setting a valid IPv4 header checksum for the
encapsulated packet generated by mausezahn, so that the packet is accepted
by br_netfilter. Fixed by using the payload_template_calc_checksum() /
payload_template_expand_checksum() helpers that are only available
in v6.3 and newer kernels.
Fixes: a0b61f3d8e ("selftests: forwarding: vxlan_bridge_1d: Add an ECN decap test")
Signed-off-by: Aleksei Oladko <aleksey.oladko@virtuozzo.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Link: https://patch.msgid.link/20260213131907.43351-2-aleksey.oladko@virtuozzo.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
26f29b1491
commit
02cb2e6bac
1 changed files with 16 additions and 10 deletions
|
|
@ -567,6 +567,21 @@ vxlan_encapped_ping_do()
|
|||
local inner_tos=$1; shift
|
||||
local outer_tos=$1; shift
|
||||
|
||||
local ipv4hdr=$(:
|
||||
)"45:"$( : IP version + IHL
|
||||
)"$inner_tos:"$( : IP TOS
|
||||
)"00:54:"$( : IP total length
|
||||
)"99:83:"$( : IP identification
|
||||
)"40:00:"$( : IP flags + frag off
|
||||
)"40:"$( : IP TTL
|
||||
)"01:"$( : IP proto
|
||||
)"CHECKSUM:"$( : IP header csum
|
||||
)"c0:00:02:03:"$( : IP saddr: 192.0.2.3
|
||||
)"c0:00:02:01"$( : IP daddr: 192.0.2.1
|
||||
)
|
||||
local checksum=$(payload_template_calc_checksum "$ipv4hdr")
|
||||
ipv4hdr=$(payload_template_expand_checksum "$ipv4hdr" $checksum)
|
||||
|
||||
$MZ $dev -c $count -d 100msec -q \
|
||||
-b $next_hop_mac -B $dest_ip \
|
||||
-t udp tos=$outer_tos,sp=23456,dp=$VXPORT,p=$(:
|
||||
|
|
@ -577,16 +592,7 @@ vxlan_encapped_ping_do()
|
|||
)"$dest_mac:"$( : ETH daddr
|
||||
)"$(mac_get w2):"$( : ETH saddr
|
||||
)"08:00:"$( : ETH type
|
||||
)"45:"$( : IP version + IHL
|
||||
)"$inner_tos:"$( : IP TOS
|
||||
)"00:54:"$( : IP total length
|
||||
)"99:83:"$( : IP identification
|
||||
)"40:00:"$( : IP flags + frag off
|
||||
)"40:"$( : IP TTL
|
||||
)"01:"$( : IP proto
|
||||
)"00:00:"$( : IP header csum
|
||||
)"c0:00:02:03:"$( : IP saddr: 192.0.2.3
|
||||
)"c0:00:02:01:"$( : IP daddr: 192.0.2.1
|
||||
)"$ipv4hdr:"$( : IPv4 header
|
||||
)"08:"$( : ICMP type
|
||||
)"00:"$( : ICMP code
|
||||
)"8b:f2:"$( : ICMP csum
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue