qemu-e2k/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
..
can configure, meson: rename targetos to host_os 2023-12-31 09:11:29 +01:00
af-xdp.c misc: Clean up includes 2024-01-30 21:20:20 +03:00
announce.c qapi net: Elide redundant has_FOO in generated C 2022-12-14 20:04:47 +01:00
checksum.c misc/other: spelling fixes 2023-09-08 13:08:52 +03:00
clients.h net: add initial support for AF_XDP network backend 2023-09-18 14:36:13 +08:00
colo-compare.c block: remove AioContext locking 2023-12-21 22:49:27 +01:00
colo-compare.h
colo.c net/colo.c: Fix the pointer issue reported by Coverity. 2022-09-02 10:22:39 +08:00
colo.h net/colo.c: Fix the pointer issue reported by Coverity. 2022-09-02 10:22:39 +08:00
dgram.c win32: replace closesocket() with close() wrapper 2023-03-13 15:39:31 +04:00
dump.c net/dump: Avoid variable length array 2023-09-18 14:36:13 +08:00
eth.c net/eth: Clean up local variable shadowing 2023-09-29 10:07:16 +02:00
filter-buffer.c
filter-mirror.c
filter-replay.c
filter-rewriter.c net/colo: Fix a "double free" crash to clear the conn_list 2022-07-20 16:58:08 +08:00
filter.c misc/other: spelling fixes 2023-09-08 13:08:52 +03:00
hub.c qapi net: Elide redundant has_FOO in generated C 2022-12-14 20:04:47 +01:00
hub.h
l2tpv3.c net: Increase L2TPv3 buffer to fit jumboframes 2023-02-17 13:31:33 +08:00
meson.build configure, meson: rename targetos to host_os 2023-12-31 09:11:29 +01:00
net-hmp-cmds.c net: Move hmp_info_network() to net-hmp-cmds.c 2023-02-04 07:56:54 +01:00
net.c net: add qemu_{configure,create}_nic_device(), qemu_find_nic_info() 2024-02-02 16:23:46 +00:00
netmap.c tap: Add USO support to tap device. 2023-09-18 14:36:13 +08:00
queue.c
slirp.c migration: Use VMSTATE_INSTANCE_ID_ANY for slirp 2023-11-01 16:13:58 +01:00
socket.c net: socket: remove net_init_socket() 2023-07-07 16:35:12 +08:00
stream.c net: handle QIOTask completion to report useful error message 2024-01-11 11:39:26 +01:00
tap_int.h tap: Add check for USO features 2023-09-18 14:36:13 +08:00
tap-bsd.c tap: Add check for USO features 2023-09-18 14:36:13 +08:00
tap-linux.c tap: Add check for USO features 2023-09-18 14:36:13 +08:00
tap-linux.h tap: Add USO support to tap device. 2023-09-18 14:36:13 +08:00
tap-solaris.c tap: Add check for USO features 2023-09-18 14:36:13 +08:00
tap-stub.c tap: Add check for USO features 2023-09-18 14:36:13 +08:00
tap-win32.c tap: Add USO support to tap device. 2023-09-18 14:36:13 +08:00
tap.c Rename "QEMU global mutex" to "BQL" in comments and docs 2024-01-08 10:45:43 -05:00
trace-events net/colo.c: Fix the pointer issue reported by Coverity. 2022-09-02 10:22:39 +08:00
trace.h
util.c
util.h
vde.c net: introduce qemu_set_info_str() function 2022-10-28 13:28:52 +08:00
vhost-user-stub.c
vhost-user.c hw/char: Have FEWatchFunc handlers return G_SOURCE_CONTINUE/REMOVE 2023-08-31 19:47:43 +02:00
vhost-vdpa-stub.c
vhost-vdpa.c vdpa: use VhostVDPAShared in vdpa_dma_map and unmap 2023-12-26 04:51:07 -05:00
vmnet_int.h vmnet: stop recieving events when VM is stopped 2023-02-17 13:31:33 +08:00
vmnet-bridged.m cocoa: Fix warnings about invalid prototype declarations 2023-06-13 11:28:58 +02:00
vmnet-common.m vmnet: stop recieving events when VM is stopped 2023-02-17 13:31:33 +08:00
vmnet-host.c qapi net: Elide redundant has_FOO in generated C 2022-12-14 20:04:47 +01:00
vmnet-shared.c qapi net: Elide redundant has_FOO in generated C 2022-12-14 20:04:47 +01:00