https://github.com/cilium/cilium
Revision 638dc5443aaad81f808b653f9eed76264d6460b8 authored by Daniel Borkmann on 01 February 2019, 10:49:05 UTC, committed by Ian Vernon on 02 February 2019, 02:15:28 UTC
[ upstream commit 70277b966fd5fcf38c86376dd0fb2aa257366803 ]

Existance of load_byte() in our code forces JIT to generate real crappy
code for every helper call that potentially changes packet data since
it has to recache skb->data/hlen or push/pop registers to stack (see [0])
otherwise (due to calling convention), not to speak that exception handling
is a mess with LD_ABS/IND. Lets get rid of this crazy madness to allow
for better (smaller) JIT code generation.

  [0] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e782bdcf58c5ace7b7d58b2436177de9785a18e8

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Joe Stringer <joe@cilium.io>
1 parent 5e5b6c3
History
Tip revision: 638dc5443aaad81f808b653f9eed76264d6460b8 authored by Daniel Borkmann on 01 February 2019, 10:49:05 UTC
bpf: get rid of all builtins for packet access
Tip revision: 638dc54
File Mode Size
.github
.travis
Documentation
api
bpf
bugtool
cilium
cilium-health
common
contrib
daemon
envoy
examples
hack
monitor
operator
pkg
plugins
proxylib
test
tests
tools
vendor
.authors.aux -rw-r--r-- 416 bytes
.gitignore -rw-r--r-- 857 bytes
.gitmodules -rw-r--r-- 0 bytes
.mailmap -rw-r--r-- 737 bytes
.travis.yml -rw-r--r-- 424 bytes
AUTHORS -rw-r--r-- 5.6 KB
CODEOWNERS -rw-r--r-- 1.1 KB
CONTRIBUTING.md -rw-r--r-- 193 bytes
Dockerfile -rw-r--r-- 1.9 KB
Dockerfile.builder -rw-r--r-- 1.1 KB
Gopkg.lock -rw-r--r-- 33.4 KB
Gopkg.toml -rw-r--r-- 12.5 KB
Jenkinsfile.nightly -rw-r--r-- 4.7 KB
LICENSE -rw-r--r-- 11.1 KB
Makefile -rw-r--r-- 11.7 KB
Makefile.defs -rw-r--r-- 1.3 KB
Makefile.quiet -rw-r--r-- 456 bytes
NEWS.rst -rw-r--r-- 20 bytes
README.rst -rw-r--r-- 14.7 KB
VERSION -rw-r--r-- 10 bytes
Vagrantfile -rw-r--r-- 11.9 KB
cilium-docker-plugin.Dockerfile -rw-r--r-- 511 bytes
cilium-operator.Dockerfile -rw-r--r-- 507 bytes
docs.Jenkinsfile -rw-r--r-- 2.6 KB
flannel.Jenkinsfile -rw-r--r-- 3.4 KB
ginkgo-kubernetes-all.Jenkinsfile -rw-r--r-- 6.5 KB
ginkgo.Jenkinsfile -rw-r--r-- 4.2 KB
kubernetes-upstream.Jenkinsfile -rw-r--r-- 4.2 KB

README.rst

back to top