-
Notifications
You must be signed in to change notification settings - Fork 301
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add filter option to XDP app for punting packets to Linux #1454
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
e587f8c55 Merge pull request snabbco#225 from vavrusa/master 5ea3a881e bpf: add missing constants for linux 4.10 - 4.15 2c691e5a7 Merge pull request snabbco#224 from wingo/lseek-syscall-tweak ae38bdbd7 Make "offset" arg to lseek a signed integer 5cb3b6950 Merge pull request snabbco#221 from wingo/util-ls-fix 8e0874609 Promptly close util.ls() dir fd; fix bug with deleted entries 277517436 Merge pull request snabbco#220 from sileht/master 8e48fd094 linux/nl.lua: Use ndmsg struct instead of rtmsg for neighbors 3e482bc4e Merge pull request snabbco#215 from qsn/gettid 57520cce3 expose gettid db1a88e94 Merge pull request snabbco#214 from jsitnicki/sof-flags-linux 270a6e611 Add missing type for struct scm_timestamping for Linux e49232047 Add missing SCM_* constants for Linux timestamping API 60fcc6b48 Add constants for SOF_* flags for Linux 26ac34851 Merge pull request snabbco#210 from alexandergall/linux-if-ioctls 3e6d3e27c Merge pull request snabbco#211 from fperrad/deb d425a22b2 dummy changelog b27eca538 update .gitignore 92292aa4b debian files be257a7e1 debian files generated by lua-create-gitbuildpackage-layout 50a02b94b Add some SIOC{G,S}IF* ioctls for Linux ee90324 Merge pull request snabbco#209 from justincormack/osx_clock ee17863 Add CLOCK_ constants for OSX 178d244 Merge pull request snabbco#208 from justincormack/holes 61450f5 Add SEEK_DATA and SEEK_HOLE constants 9a7b584 Add memfd fnctl sealing support 99beaf5 more test fixes for memfd cc221e4 fix ctest for new fcntl changes, typowq 56c4c76 fix ctest for new fcntl changes 96073cc fix typo 7a73e8a Add more constants for fcntl, memfd 8d3034c Fix ppc64le syscall numbers for newer calls 62828f6 Merge pull request snabbco#206 from johnae/master c4002b6 The spook project is using ljsyscall. 0b266e8 Merge pull request snabbco#205 from lukego/close-fd-safely ad91aa9 Add more protection against fd double-close c8baf9e Merge pull request snabbco#202 from justincormack/dockerignore 66843c5 Use dockerignore to simplify Dockerfile 7b7211d Merge pull request snabbco#200 from justincormack/redo-dockerfile a779caa Docker Cloud does not start processes at priority 0, remove from test b85382d Rework Dockerfile and tests 24f7789 Merge pull request snabbco#199 from vavrusa/master 2ecf486 linux/constants: added new BPF map and prog types 00c1949 use Alpine 3.4 for docker build 0bcafc6 Merge pull request snabbco#196 from kbara/removecunused a4217a8 Merge pull request snabbco#195 from kbara/fixgetcpu ee67430 Remove unused variables from c.lua 4b2e0b2 Fix getcpu: the cpu argument was incorrectly given the node variable previously 214550a update changelog and rockspec for 0.12 release 21f3fd8 Merge pull request snabbco#192 from vavrusa/master 0da437f linux/bpf_prog_load: support custom kernel builds 9981190 fix missing vhangup f245114 Merge pull request snabbco#191 from vavrusa/linux-perf-open 93558c1 linux: added support for tracing/performance counters 0511fb8 Merge pull request snabbco#190 from vavrusa/master 1f141ca linux: added new constants (e.g. attach BPF to socket) 36274f3 linux/bpf: added strflag support 4fd3bd6 Merge pull request snabbco#189 from vavrusa/master aaa89cb linux: added support for eBPF e095295 linux: added new syscall numbers (up to __nr_bpf) 1e079c4 test calls container so just needs file to run d92625e define a docker compose test 5f14711 Merge pull request snabbco#188 from aperezdc/fix-if-nameindex 8915a83 Close socket immediately after error in if_nametoindex() 96c0286 use addons for travis, as learned at fosdem 71241e0 update changelog for unreleased changes 559b499 ignore audit arch constant 5d867d3 new architectures do not have open, will use openat 49d9ff9 test issues with new constants 7cd460e aarch64 audit constants for seccomp 6249e99 more docker examples dd00af9 rockspec fix d20033b rockspec for new release fb17244 update copyright years 9d87597 more Changelog tweaks before release 53856b0 typo 1881526 sometimes winsz is 0, eg if terminal not set up ab0c08d add error message a1c207e update Changelog for forthcoming 0.11 release ce12fb2 addDocker hub to README 602a2b3 fix osx fstatat to use 32 bit stat type, as cannot find how to call to get 64 bit one 8a0a6ad Now have arm machines with working seccomp d14bd38 Appears that setting maac address on lo often works 6e878a1 remove debug print from test 30e9b5b allow skip on EPERM for adjtimex bff3e90 Add strace in Docker image for convenient debugging e67fa31 Use alpine 3.3 for Docker 5148bc3 fix ipv6 tests 185c1a6 more failures with no ipv6 98cc9a2 more fixes for ipv4 only environments for netlink tests 248a935 fix bind errors in environments that do not support ipv6 0eacd64 clean up travis file 5fb71b6 switch to newer Ubuntu in travis 8235724 fix more constant checks not in headers 8dff4ef constants missing on travis db51b08 update Changelog 7540b04 add new rtnetlink values, so tests work under docker 22604b8 remove test that fails in some environments d431693 fix waitid test under docker 1595b7d fix swap test under docker 321fdd2 Now an alpine package available 984b533 Add Dockerfile, fix some of the tests that made unreasonable assumptions 9aeff88 recent osx has *at functions 18cd829 better handling for xattr errors b6bb892 freebsd 11 now has utimensat 7065b0d on freebsd/zfs chflags will fail, skip git-subtree-dir: lib/ljsyscall git-subtree-split: e587f8c55aad3955dddab3a4fa6c1968037b5c6e
(random_v4_packets generated wrong sized packets)
This commit uses BPF object pinning to expose per-interface xskmaps to other Snabb processes so they can attach to free queues on interfaces initialized by other Snabb processes.
This fixes a bug where packets would not be transmitted unless the tx queue was full.
Default to x86_64 registers, but allow passing of alternative register set specifications.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Depends on: #1450
This generalizes the pflua register allocator a little bit, and adds an eBPF backend (under apps/xdp) for pflua. Using this backend, a
filter
option is added to the XDP app which allows punting non-matching packets on to the Linux host’s networking stack.Most of the action happens here: 48ff71c
Note: 3fdf926 is a general pflua bugfix, Cc @takikawa
Cc @mwiget