commit | ec7f20e8b634d4957258969ec82c7b3fe3802705 | [log] [tgz] |
---|---|---|
author | Peter Delevoryas <pdel@fb.com> | Fri May 13 20:12:35 2022 -0700 |
committer | Peter Delevoryas <pdel@fb.com> | Wed May 18 21:14:14 2022 -0700 |
tree | aa73bb49a56aef4c899f1d7311510df8e5d5cee3 | |
parent | da3afd3ccdde4f2317f3a73e31c879c0a2847a25 [diff] |
ncsi: Use response header for payload length In the Linux NC-SI driver[1], each response's length is validated with a statically declared payload length, _unless_ it's an OEM command or some more complicated NC-SI packet that you can't determine the length of just from the "type" field, in which case it just uses the length provided by the response's header. To support OEM response handlers without requiring too many modifications we can make the default payload length use the value specified in the handler table, and then allow OEM handlers to override the length by modifying the "length" in the response header within the handler implementation. [1] https://github.com/torvalds/linux/blob/ec7f49619d8ee13e108740c82f942cd401b989e9/net/ncsi/ncsi-rsp.c#L1215-L1220 Signed-off-by: Peter Delevoryas <pdel@fb.com>
libslirp is a user-mode networking library used by virtual machines, containers or various tools.
A C compiler, meson and glib2 development libraries.
(see also .gitlab-ci.yml DEPS variable for the list of dependencies on Fedora)
You may build and install the shared library with meson:
meson build ninja -C build install
And configure QEMU with --enable-slirp=system to link against it.
(QEMU may build with the submodule static library using --enable-slirp=git)
Unfortunately, there are no automated tests available.
You may run QEMU -net user
linked with your development version.
Feel free to open issues on the project issues page.
You may clone the gitlab project and create a merge request.
Contributing with gitlab allows gitlab workflow, tracking issues, running CI etc.
Alternatively, you may send patches to slirp@lists.freedesktop.org mailing list.
We intend to use libtool's versioning for the shared libraries and use SemVer for project versions.
For the versions available, see the tags on this repository.
See the COPYRIGHT file for details.