qemu-patch-raspberry4/include/net
Kevin Wolf e287bf7bb1 net: Introduce NetClientInfo.check_peer_type()
Some network backends (vhost-user and vhost-vdpa) work only with
specific devices. At startup, they second guess what the command line
option handling will do and error out if they think a non-virtio device
will attach to them.

This second guessing is not only ugly, it can lead to wrong error
messages ('-device floppy,netdev=foo' should complain about an unknown
property, not about the wrong kind of network device being attached) and
completely ignores hotplugging.

Add a callback where backends can check compatibility with a device when
it actually tries to attach, even on hotplug.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20211008133442.141332-2-kwolf@redhat.com>
Reviewed-by: Damien Hedde <damien.hedde@greensocs.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Peter Krempa <pkrempa@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2021-10-15 16:05:24 +02: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 net: eth: Add a helper to pad a short Ethernet frame 2021-03-22 17:34:31 +08:00
filter.h Use OBJECT_DECLARE_TYPE when possible 2020-09-18 14:12:32 -04:00
net.h net: Introduce NetClientInfo.check_peer_type() 2021-10-15 16:05:24 +02: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-user.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
vhost-vdpa.h vhost-vdpa: remove the unused vhost_vdpa_get_acked_features() 2021-06-11 10:30:13 +08:00
vhost_net.h vhost_net: do not assume nvqs is always 2 2021-09-04 17:34:05 -04:00