From 8cf76f1b2057d73da122a58b9bcbd67438fe69c6 Mon Sep 17 00:00:00 2001 From: Arijit Dubey Date: Mon, 3 Aug 2026 23:27:16 +0530 Subject: [PATCH 1/2] fix[vAccel]: modified idToGuestCID function to use hash/fnv hashing Signed-off-by: Arijit Dubey --- pkg/unikontainers/vaccel.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkg/unikontainers/vaccel.go b/pkg/unikontainers/vaccel.go index b640b1ea3..2ddae4834 100644 --- a/pkg/unikontainers/vaccel.go +++ b/pkg/unikontainers/vaccel.go @@ -17,6 +17,7 @@ package unikontainers import ( "errors" "fmt" + "hash/fnv" "regexp" "github.com/opencontainers/runtime-spec/specs-go" @@ -30,14 +31,13 @@ var ErrVAccelDisabled = errors.New("vaccel is disabled") // idToGuestCID generates a deterministic guest CID (Context Identifier) // for vsock communication based on a container or VM ID. func idToGuestCID(id string) int { - sum := 0 - for _, c := range id { - sum += int(c) - } + h := fnv.New32a() + h.Write([]byte(id)) + hashVal := h.Sum32() + const minVal = 3 - const maxVal = 99 - const valRange = maxVal - minVal + 1 - val := (sum % valRange) + minVal + // Max uint32 is 4294967295. Range size = 4294967295 - 3 + 1 = 4294967293 + val := int((hashVal % 4294967293) + minVal) return val } From 2d8141812137ab448953b20344c278f37bf66720 Mon Sep 17 00:00:00 2001 From: Arijit Dubey Date: Mon, 3 Aug 2026 23:37:56 +0530 Subject: [PATCH 2/2] refactor[vAccel]: updated vaccel_test to account for new CIDs Signed-off-by: Arijit Dubey --- pkg/unikontainers/vaccel_test.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pkg/unikontainers/vaccel_test.go b/pkg/unikontainers/vaccel_test.go index 9ab8f01d8..c15424aee 100644 --- a/pkg/unikontainers/vaccel_test.go +++ b/pkg/unikontainers/vaccel_test.go @@ -30,12 +30,22 @@ func TestIdToGuestCID(t *testing.T) { { name: "empty string", id: "", - expectedCID: 3, + expectedCID: 2166136264, }, { name: "simple id", id: "container123", - expectedCID: 49, + expectedCID: 1588278395, + }, + { + name: "anagram id 1", + id: "abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789", + expectedCID: 4118960264, + }, + { + name: "anagram id 2", + id: "9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba", + expectedCID: 1919582536, }, }