From 57aba1a5c42bd02cab45bc3b351a3a3a70a57ce2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=96=E7=95=8C?= Date: Wed, 12 Mar 2025 16:24:42 +0800 Subject: [PATCH] Fix checksum bench --- internal/checksum_test/sum_bench_test.go | 2 +- internal/gtcpip/checksum/checksum.go | 5 +++++ internal/gtcpip/checksum/checksum_default.go | 3 +-- internal/gtcpip/checksum/checksum_unsafe.go | 2 -- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/internal/checksum_test/sum_bench_test.go b/internal/checksum_test/sum_bench_test.go index bfc0752..35ee021 100644 --- a/internal/checksum_test/sum_bench_test.go +++ b/internal/checksum_test/sum_bench_test.go @@ -28,6 +28,6 @@ func BenchmarkGChecksum(b *testing.B) { } b.ResetTimer() for i := 0; i < b.N; i++ { - checksum.Checksum(packet[i%1000], 0) + checksum.ChecksumDefault(packet[i%1000], 0) } } diff --git a/internal/gtcpip/checksum/checksum.go b/internal/gtcpip/checksum/checksum.go index dfb4dd7..db03e64 100644 --- a/internal/gtcpip/checksum/checksum.go +++ b/internal/gtcpip/checksum/checksum.go @@ -38,3 +38,8 @@ func Combine(a, b uint16) uint16 { v := uint32(a) + uint32(b) return uint16(v + v>>16) } + +func ChecksumDefault(buf []byte, initial uint16) uint16 { + s, _ := calculateChecksum(buf, false, initial) + return s +} diff --git a/internal/gtcpip/checksum/checksum_default.go b/internal/gtcpip/checksum/checksum_default.go index ea4585e..99a2d75 100644 --- a/internal/gtcpip/checksum/checksum_default.go +++ b/internal/gtcpip/checksum/checksum_default.go @@ -8,6 +8,5 @@ package checksum // // The initial checksum must have been computed on an even number of bytes. func Checksum(buf []byte, initial uint16) uint16 { - s, _ := calculateChecksum(buf, false, initial) - return s + return ChecksumDefault(buf, initial) } diff --git a/internal/gtcpip/checksum/checksum_unsafe.go b/internal/gtcpip/checksum/checksum_unsafe.go index 83f35c8..66b7ab6 100644 --- a/internal/gtcpip/checksum/checksum_unsafe.go +++ b/internal/gtcpip/checksum/checksum_unsafe.go @@ -1,5 +1,3 @@ -//go:build !amd64 - // Copyright 2023 The gVisor Authors. // // Licensed under the Apache License, Version 2.0 (the "License");