qemu/include/net
David Woodhouse 93e9d7301e net: add qemu_{configure,create}_nic_device(), qemu_find_nic_info()
Most code which directly accesses nd_table[] and nb_nics uses them for
one of two things. Either "I have created a NIC device and I'd like a
configuration for it", or "I will create a NIC device *if* there is a
configuration for it".  With some variants on the theme around whether
they actually *check* if the model specified in the configuration is
the right one.

Provide functions which perform both of those, allowing platforms to
be a little more consistent and as a step towards making nd_table[]
and nb_nics private to the net code.

One might argue that platforms ought to be consistent about whether
they create the unconfigured devices or not, but making significant
user-visible changes is explicitly *not* the intent right now.

The new functions leave the 'model' field of the NICInfo as NULL after
using it for the default NIC model, unlike the qemu_check_nic_model()
function which does set nd->model to match default_model explicitly.
This is acceptable because there is no code which consumes nd->model
except this NIC-matching code in net/net.c, and no reasonable excuse
for any code wanting to use nd->model in future.

Also export the qemu_find_nic_info() helper, as some platforms have
special cases they need to handle.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
2024-02-02 16:23:46 +00:00
..
announce.h net/announce: Add optional ID 2019-07-02 10:21:06 +08:00
can_emu.h net/can: Add can_dlc2len and can_len2dlc for CAN FD. 2020-09-30 19:11:37 +02:00
can_host.h qom: fix objects with improper parent type 2020-10-12 11:50:22 -04:00
checksum.h net: checksum: Introduce fine control over checksum type 2021-01-25 17:04:56 +08:00
eth.h igb: Strip the second VLAN tag for extended VLAN 2023-05-23 15:20:15 +08:00
filter.h Use OBJECT_DECLARE_TYPE when possible 2020-09-18 14:12:32 -04:00
net.h net: add qemu_{configure,create}_nic_device(), qemu_find_nic_info() 2024-02-02 16:23:46 +00:00
queue.h net: introduce qemu_receive_packet() 2021-03-15 16:41:22 +08:00
slirp.h net: Remove the deprecated -tftp, -bootp, -redir and -smb options 2018-08-31 09:53:03 +02:00
tap.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
vhost_net.h virtio-net: add support for configure interrupt 2023-01-08 01:54:22 -05:00
vhost-user.h vhost-user: Refactor vhost acked features saving 2023-01-08 01:54:22 -05:00
vhost-vdpa.h vhost-vdpa: remove the unused vhost_vdpa_get_acked_features() 2021-06-11 10:30:13 +08:00