Revision 0af7a24f120b6a99614783ddab199a754bec966c authored by Timo Beckers on 31 May 2023, 11:08:22 UTC, committed by Timo Beckers on 08 June 2023, 13:39:14 UTC
To reduce the bpf.MapKey and bpf.MapValue interface footprints, wind down usage
of DeepCopy methods outside of package bpf. A future commit will replace this
method with New(), which is currently what it's primarily abused for (in
DumpWithCallback and friends).

Map keys and values cannot contain pointer types, so the presence of deep copy
methods is questionable. Copying these types by value should be sufficient to
achieve 'deep' copying behaviour.

The changes in this patch aim to be no-ops:
- The ToHost() methods implemented on lbmap.BackendValue, AffinityMatchKey and
  ServiceValue all copy their receivers by value and already return new copies.
- The callback in policymap dereferences the pointer (and DumpCallbacks already
  receive pointers to unshared copies), so an additional copy is unnecessary.
- The lxcmap callback was changed to dereference the pointers received in the
  callback and return a map of EndpointInfos instead of pointers.

Signed-off-by: Timo Beckers <timo@isovalent.com>
1 parent 58bc8c4
History
File Mode Size
.devcontainer
.github
.nvim
.travis
.vscode
Documentation
api
bpf
bugtool
cilium
cilium-health
clustermesh-apiserver
contrib
daemon
envoy
examples
hack
hubble-relay
images
install
jenkinsfiles
operator
pkg
plugins
proxylib
test
tools
vendor
.authors.aux -rw-r--r-- 416 bytes
.clang-format -rw-r--r-- 3.9 KB
.clomonitor.yml -rw-r--r-- 984 bytes
.gitattributes -rw-r--r-- 842 bytes
.gitignore -rw-r--r-- 1.8 KB
.golangci.yaml -rw-r--r-- 3.6 KB
.mailmap -rw-r--r-- 6.4 KB
.travis.yml -rw-r--r-- 506 bytes
AUTHORS -rw-r--r-- 40.0 KB
CODEOWNERS -rw-r--r-- 24.7 KB
CODE_OF_CONDUCT.md -rw-r--r-- 2.2 KB
CONTRIBUTING.md -rw-r--r-- 691 bytes
FURTHER_READINGS.rst -rw-r--r-- 6.4 KB
LICENSE -rw-r--r-- 11.1 KB
MAINTAINERS.md -rw-r--r-- 4.3 KB
Makefile -rw-r--r-- 31.9 KB
Makefile.defs -rw-r--r-- 6.9 KB
Makefile.docker -rw-r--r-- 7.1 KB
Makefile.quiet -rw-r--r-- 818 bytes
README.rst -rw-r--r-- 19.4 KB
SECURITY.md -rw-r--r-- 1.0 KB
USERS.md -rw-r--r-- 28.3 KB
VERSION -rw-r--r-- 11 bytes
Vagrantfile -rw-r--r-- 14.9 KB
go.mod -rw-r--r-- 12.2 KB
go.sum -rw-r--r-- 147.0 KB
netlify.toml -rw-r--r-- 92 bytes
stable.txt -rw-r--r-- 8 bytes
vagrant_box_defaults.rb -rw-r--r-- 334 bytes

README.rst

back to top