slirp: Add out-of-band ethernet address

If a network card supports NC-SI, then it redirects all traffic with the
out-of-band (OOB) management controller's (MC) ethernet address to the
out-of-band management controller, usually over some sideband RMII
interface, not like the PCIe connection to the main host.

It's also pretty common for the network card to provision the out-of-band
management controller's ethernet address. At startup, the OOB MC asks the
network card what its MAC address is through OEM NC-SI commands. This
protocol is so common that it's going to be standardized soon in NC-SI 1.2.0
[1] as "Get MC MAC Address".

Note: At some point, the network card may provision *multiple* OOB ethernet
addresses, but right now everything just uses one.

[1] https://www.dmtf.org/sites/default/files/standards/documents/DSP0222_1.2.0WIP80.pdf

Signed-off-by: Peter Delevoryas <pdel@fb.com>
3 files changed
tree: fa3c3ab352735c9cb75684ce22d56e21a7a06d08
  1. build-aux/
  2. src/
  3. test/
  4. .clang-format
  5. .gitignore
  6. .gitlab-ci.yml
  7. .gitpublish
  8. CHANGELOG.md
  9. COPYRIGHT
  10. meson.build
  11. meson_options.txt
  12. README.md
README.md

libslirp

libslirp is a user-mode networking library used by virtual machines, containers or various tools.

Getting Started

Prerequisites

A C compiler, meson and glib2 development libraries.

(see also .gitlab-ci.yml DEPS variable for the list of dependencies on Fedora)

Building

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)

Testing

Unfortunately, there are no automated tests available.

You may run QEMU -net user linked with your development version.

Contributing

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.

Versioning

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.

License

See the COPYRIGHT file for details.