mirror of
https://github.com/mii443/qemu.git
synced 2025-09-02 15:19:24 +00:00
net: add an API for 'raw' packets
In the case where a NIC and backend agree on a packet header format, this API allows injecting packets which lack the agreed upon header. We need this for sending our gratuitous ARP. Signed-off-by: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
committed by
Anthony Liguori
parent
c0b8e49c69
commit
ca77d17591
2
net.h
2
net.h
@ -45,6 +45,7 @@ typedef void (LinkStatusChanged)(VLANClientState *);
|
||||
struct VLANClientState {
|
||||
net_client_type type;
|
||||
NetReceive *receive;
|
||||
NetReceive *receive_raw;
|
||||
NetReceiveIOV *receive_iov;
|
||||
/* Packets may still be sent if this returns zero. It's used to
|
||||
rate-limit the slirp code. */
|
||||
@ -89,6 +90,7 @@ ssize_t qemu_sendv_packet(VLANClientState *vc, const struct iovec *iov,
|
||||
ssize_t qemu_sendv_packet_async(VLANClientState *vc, const struct iovec *iov,
|
||||
int iovcnt, NetPacketSent *sent_cb);
|
||||
void qemu_send_packet(VLANClientState *vc, const uint8_t *buf, int size);
|
||||
ssize_t qemu_send_packet_raw(VLANClientState *vc, const uint8_t *buf, int size);
|
||||
ssize_t qemu_send_packet_async(VLANClientState *vc, const uint8_t *buf,
|
||||
int size, NetPacketSent *sent_cb);
|
||||
void qemu_purge_queued_packets(VLANClientState *vc);
|
||||
|
Reference in New Issue
Block a user