diff --git a/constants.arm64.go b/constants.arm64.go index 8fb8828..ca87994 100644 --- a/constants.arm64.go +++ b/constants.arm64.go @@ -1,4 +1,5 @@ // Copyright (c) 2023 Cisco and/or its affiliates. +// Copyright (c) 2025 OpenInfra Foundation Europe. // // SPDX-License-Identifier: Apache-2.0 // @@ -19,7 +20,8 @@ package vpphelper const ( - // data-size was chosen using 4096 page - 256 bytes metadata - one cache line (64 bytes) - additional ARM costs (64 bytes) to just *barely* fit in - // one page, since we can't split a buffer across a page. - vppDefaultDataSize = 3712 + // For data-size the default 2048 was chosen because with the previous 3776 only + // 520 buffers were allocated in a pool on VPP v24.10 as a result of buffer pool + // allocation improvements. + vppDefaultDataSize = 2048 ) diff --git a/constants.go b/constants.go index adf3705..6838c0b 100644 --- a/constants.go +++ b/constants.go @@ -1,4 +1,5 @@ // Copyright (c) 2023 Cisco and/or its affiliates. +// Copyright (c) 2025 OpenInfra Foundation Europe. // // SPDX-License-Identifier: Apache-2.0 // @@ -19,7 +20,8 @@ package vpphelper const ( - // data-size was chosen using 4096 page - 256 bytes metadata - one cache line (64 bytes) to just *barely* fit in - // one page, since we can't split a buffer across a page. - vppDefaultDataSize = 3776 + // For data-size the default 2048 was chosen because with the previous 3776 only + // 520 buffers were allocated in a pool on VPP v24.10 as a result of buffer pool + // allocation improvements. + vppDefaultDataSize = 2048 ) diff --git a/go.mod b/go.mod index beff4c8..093d96f 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/edwarnicke/log v1.0.0 github.com/pkg/errors v0.9.1 github.com/stretchr/testify v1.8.4 - go.fd.io/govpp v0.10.0-alpha.0.20240110141843-761adec77524 + go.fd.io/govpp v0.11.0 go.uber.org/goleak v1.3.0 gopkg.in/fsnotify.v1 v1.4.7 ) @@ -20,7 +20,6 @@ require ( github.com/lunixbochs/struc v0.0.0-20200521075829-a4cb8d33dbbe // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/sirupsen/logrus v1.9.3 // indirect - golang.org/x/net v0.21.0 // indirect - golang.org/x/sys v0.18.0 // indirect + golang.org/x/sys v0.19.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index eb4ee81..0d4d6a0 100644 --- a/go.sum +++ b/go.sum @@ -18,8 +18,8 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/lunixbochs/struc v0.0.0-20200521075829-a4cb8d33dbbe h1:ewr1srjRCmcQogPQ/NCx6XCk6LGVmsVCc9Y3vvPZj+Y= github.com/lunixbochs/struc v0.0.0-20200521075829-a4cb8d33dbbe/go.mod h1:vy1vK6wD6j7xX6O6hXe621WabdtNkou2h7uRtTfRMyg= -github.com/onsi/gomega v1.30.0 h1:hvMK7xYz4D3HapigLTeGdId/NcfQx1VHMJc60ew99+8= -github.com/onsi/gomega v1.30.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= +github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk= +github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= @@ -33,18 +33,18 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -go.fd.io/govpp v0.10.0-alpha.0.20240110141843-761adec77524 h1:Dja0i7Ln/aUAc10VN4Pp3SibYTfNKS1CPkM5TSGL5jk= -go.fd.io/govpp v0.10.0-alpha.0.20240110141843-761adec77524/go.mod h1:9QoqjEbvfuuXNfjHS0A7YS+7QQVVaQ9cMioOWpSM4rY= +go.fd.io/govpp v0.11.0 h1:foIAJ7dF8QIi6TBizWdBLjaQtMnVcO/dQH0orY1/s/Q= +go.fd.io/govpp v0.11.0/go.mod h1:QAgM1RCcEj/RSUIr/BjRVa1Dy/bjEMUYYUm5J/uTPKo= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= +golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= +golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= +golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= +golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/tools_test.go b/tools_test.go index dee5642..963d627 100644 --- a/tools_test.go +++ b/tools_test.go @@ -1,4 +1,5 @@ // Copyright (c) 2023-2024 Cisco and/or its affiliates. +// Copyright (c) 2025 OpenInfra Foundation Europe. // // SPDX-License-Identifier: Apache-2.0 // @@ -36,8 +37,9 @@ const ( buffers { # buffers-per-numa was chosen as 256 buffers/interface * 128 possible interfaces buffers-per-numa 32768 - # data-size was chosen using 4096 page - 256 bytes metadata - one cache line (64 bytes) to just *barely* fit in - # one page, since we can't split a buffer across a page. + # For data-size the default 2048 was chosen because with the previous 3776 only + # 520 buffers were allocated in a pool on VPP v24.10 as a result of buffer pool + # allocation improvements. default data-size 500 } diff --git a/vpp.conf.go b/vpp.conf.go index afda0a2..dfaebbe 100644 --- a/vpp.conf.go +++ b/vpp.conf.go @@ -1,4 +1,5 @@ // Copyright (c) 2020-2024 Cisco and/or its affiliates. +// Copyright (c) 2025 OpenInfra Foundation Europe. // // SPDX-License-Identifier: Apache-2.0 // @@ -31,8 +32,9 @@ const ( buffers { # buffers-per-numa was chosen as 256 buffers/interface * 128 possible interfaces buffers-per-numa 32768 - # data-size was chosen using 4096 page - 256 bytes metadata - one cache line (64 bytes) to just *barely* fit in - # one page, since we can't split a buffer across a page. + # For data-size the default 2048 was chosen because with the previous 3776 only + # 520 buffers were allocated in a pool on VPP v24.10 as a result of buffer pool + # allocation improvements. default data-size {{ .DataSize }} }