Comments (8)
from xdp-tools.
Why? You don't actually say anything about what the problem with having the dispatcher be part of the statically linked binary is?
Preference.
It's odd to provide a utility library that forces the assumption that the client-side implementation requires these extra bits. That assumption causes unnecessary build breaks when overridden. :(
from xdp-tools.
from xdp-tools.
The purpose of libxdp is to support multiple programs on a single interface, which unfortunately requires the use of the dispatcher until the kernel learns to do this natively. Building without it means that half the library won't work, which does not seem like a mode that's worth supporting...
I do see your point, but the switch is already in the code to facilitate the shared library build!
I assert that by supporting my ask, you're not really creating a huge support nightmare for the libxdp project, but you would be enabling wider flexibility for the developer community. I'd see that as a great reason to support the ask!
Well, don't override it then :)
I wouldn't if I could just press the existing 'off' switch without a hack ;-)
In all seriousness, if I provided a pull request that bubbles the -D LIBXDP_STATIC=1
command-line parameter into a build-time switch that can be toggled, would it be accepted? (Absolutely happy to do the work.)
from xdp-tools.
from xdp-tools.
Well, be that as it may, the use case I'm faced with only really needs the XSK infrastructure. Given it's a static build, the blast radius is therefore limited to the project I'm linking with the builds of libxdp I'm producing.
I've raised a PR #372 that generally just tweaks the libxdp Makefile, if anything to improve the consistency of the build recipe. I guess what you ultimately decide to do with the PR is your prerogative.
Thanks for your time and for maintaining this library. It enables some fantastic use-cases.
from xdp-tools.
Thanks for accepting the PR - we really appreciate it!!
from xdp-tools.
from xdp-tools.
Related Issues (20)
- Loading of XDP program fails with `prog 'xdp_prog1': missing BPF prog type, check ELF section name 'xdp-prog1'` HOT 1
- xdp-trafficgen not transmitting packets - ndo_xdp_xmit resulting in error -6 on virtio net HOT 9
- how to compile xdp-loader in mips arch? HOT 6
- How can I cross compile for android using ndk? HOT 1
- is a formula error in comment of xsk_prod_nb_free HOT 1
- error: llc: xdp-dispatcher.ll:410:54: error: unterminated attribute group HOT 2
- xdpdump ERROR: The kernel does not support fentry function load HOT 1
- Makefile does not install libbpf libraries into local machine. HOT 8
- s
- How to use headroom in UMEM frame? HOT 2
- Side effect of xdp_program__attach with XDP_MODE_HW? HOT 2
- test_promiscuous_selfload and test_promiscuous_preload fail in Debian testing/unstable in QEMU HOT 3
- Does the release package not include binaries? HOT 2
- xdp-loader fall back to SKB mode automatically when native mode not supported? HOT 3
- xdp-loader seems unable to pin internal .data map? HOT 4
- Why system installed libbpf is prioritized? HOT 1
- xdp-traffic generator not generating traffic to any interface HOT 3
- Stack smash when loading xdp program with ring buffer HOT 8
- xdp-trafficgen not generating traffic to another interface in skb mode HOT 4
- Couldn't open file 'xdp_drop.o': No such file or directory HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xdp-tools.