TUN-6791: Calculate ICMPv6 checksum

This commit is contained in:
cthuang
2022-09-22 10:49:19 +01:00
committed by Chung-Ting Huang
parent 7f487c2651
commit 3449ea35f2
5 changed files with 134 additions and 7 deletions

View File

@@ -299,12 +299,7 @@ func (efr *echoFlowResponder) validate(t *testing.T, echoReq *packet.ICMP) {
require.Equal(t, ipv6.ICMPTypeEchoReply, decoded.Type)
}
require.Equal(t, 0, decoded.Code)
if echoReq.Type == ipv4.ICMPTypeEcho {
require.NotZero(t, decoded.Checksum)
} else {
// For ICMPv6, the kernel will compute the checksum during transmission unless pseudo header is not nil
require.Zero(t, decoded.Checksum)
}
require.NotZero(t, decoded.Checksum)
require.Equal(t, echoReq.Body, decoded.Body)
}