net: cleanup deliver/deliver_iov func pointers
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
This commit is contained in:
parent
1a8595931a
commit
86a77c3858
35
net.c
35
net.c
@ -184,17 +184,6 @@ static char *assign_name(NetClientState *nc1, const char *model)
|
||||
return g_strdup(buf);
|
||||
}
|
||||
|
||||
static ssize_t qemu_deliver_packet(NetClientState *sender,
|
||||
unsigned flags,
|
||||
const uint8_t *data,
|
||||
size_t size,
|
||||
void *opaque);
|
||||
static ssize_t qemu_deliver_packet_iov(NetClientState *sender,
|
||||
unsigned flags,
|
||||
const struct iovec *iov,
|
||||
int iovcnt,
|
||||
void *opaque);
|
||||
|
||||
NetClientState *qemu_new_net_client(NetClientInfo *info,
|
||||
NetClientState *peer,
|
||||
const char *model,
|
||||
@ -221,9 +210,7 @@ NetClientState *qemu_new_net_client(NetClientInfo *info,
|
||||
}
|
||||
QTAILQ_INSERT_TAIL(&net_clients, nc, next);
|
||||
|
||||
nc->send_queue = qemu_new_net_queue(qemu_deliver_packet,
|
||||
qemu_deliver_packet_iov,
|
||||
nc);
|
||||
nc->send_queue = qemu_new_net_queue(nc);
|
||||
|
||||
return nc;
|
||||
}
|
||||
@ -327,11 +314,11 @@ int qemu_can_send_packet(NetClientState *sender)
|
||||
return 1;
|
||||
}
|
||||
|
||||
static ssize_t qemu_deliver_packet(NetClientState *sender,
|
||||
unsigned flags,
|
||||
const uint8_t *data,
|
||||
size_t size,
|
||||
void *opaque)
|
||||
ssize_t qemu_deliver_packet(NetClientState *sender,
|
||||
unsigned flags,
|
||||
const uint8_t *data,
|
||||
size_t size,
|
||||
void *opaque)
|
||||
{
|
||||
NetClientState *nc = opaque;
|
||||
ssize_t ret;
|
||||
@ -424,11 +411,11 @@ static ssize_t nc_sendv_compat(NetClientState *nc, const struct iovec *iov,
|
||||
return nc->info->receive(nc, buffer, offset);
|
||||
}
|
||||
|
||||
static ssize_t qemu_deliver_packet_iov(NetClientState *sender,
|
||||
unsigned flags,
|
||||
const struct iovec *iov,
|
||||
int iovcnt,
|
||||
void *opaque)
|
||||
ssize_t qemu_deliver_packet_iov(NetClientState *sender,
|
||||
unsigned flags,
|
||||
const struct iovec *iov,
|
||||
int iovcnt,
|
||||
void *opaque)
|
||||
{
|
||||
NetClientState *nc = opaque;
|
||||
|
||||
|
11
net.h
11
net.h
@ -100,6 +100,17 @@ void qemu_check_nic_model(NICInfo *nd, const char *model);
|
||||
int qemu_find_nic_model(NICInfo *nd, const char * const *models,
|
||||
const char *default_model);
|
||||
|
||||
ssize_t qemu_deliver_packet(NetClientState *sender,
|
||||
unsigned flags,
|
||||
const uint8_t *data,
|
||||
size_t size,
|
||||
void *opaque);
|
||||
ssize_t qemu_deliver_packet_iov(NetClientState *sender,
|
||||
unsigned flags,
|
||||
const struct iovec *iov,
|
||||
int iovcnt,
|
||||
void *opaque);
|
||||
|
||||
void print_net_client(Monitor *mon, NetClientState *nc);
|
||||
void do_info_network(Monitor *mon);
|
||||
|
||||
|
13
net/queue.c
13
net/queue.c
@ -23,6 +23,7 @@
|
||||
|
||||
#include "net/queue.h"
|
||||
#include "qemu-queue.h"
|
||||
#include "net.h"
|
||||
|
||||
/* The delivery handler may only return zero if it will call
|
||||
* qemu_net_queue_flush() when it determines that it is once again able
|
||||
@ -48,8 +49,6 @@ struct NetPacket {
|
||||
};
|
||||
|
||||
struct NetQueue {
|
||||
NetPacketDeliver *deliver;
|
||||
NetPacketDeliverIOV *deliver_iov;
|
||||
void *opaque;
|
||||
|
||||
QTAILQ_HEAD(packets, NetPacket) packets;
|
||||
@ -57,16 +56,12 @@ struct NetQueue {
|
||||
unsigned delivering : 1;
|
||||
};
|
||||
|
||||
NetQueue *qemu_new_net_queue(NetPacketDeliver *deliver,
|
||||
NetPacketDeliverIOV *deliver_iov,
|
||||
void *opaque)
|
||||
NetQueue *qemu_new_net_queue(void *opaque)
|
||||
{
|
||||
NetQueue *queue;
|
||||
|
||||
queue = g_malloc0(sizeof(NetQueue));
|
||||
|
||||
queue->deliver = deliver;
|
||||
queue->deliver_iov = deliver_iov;
|
||||
queue->opaque = opaque;
|
||||
|
||||
QTAILQ_INIT(&queue->packets);
|
||||
@ -151,7 +146,7 @@ static ssize_t qemu_net_queue_deliver(NetQueue *queue,
|
||||
ssize_t ret = -1;
|
||||
|
||||
queue->delivering = 1;
|
||||
ret = queue->deliver(sender, flags, data, size, queue->opaque);
|
||||
ret = qemu_deliver_packet(sender, flags, data, size, queue->opaque);
|
||||
queue->delivering = 0;
|
||||
|
||||
return ret;
|
||||
@ -166,7 +161,7 @@ static ssize_t qemu_net_queue_deliver_iov(NetQueue *queue,
|
||||
ssize_t ret = -1;
|
||||
|
||||
queue->delivering = 1;
|
||||
ret = queue->deliver_iov(sender, flags, iov, iovcnt, queue->opaque);
|
||||
ret = qemu_deliver_packet_iov(sender, flags, iov, iovcnt, queue->opaque);
|
||||
queue->delivering = 0;
|
||||
|
||||
return ret;
|
||||
|
17
net/queue.h
17
net/queue.h
@ -31,24 +31,11 @@ typedef struct NetQueue NetQueue;
|
||||
|
||||
typedef void (NetPacketSent) (NetClientState *sender, ssize_t ret);
|
||||
|
||||
typedef ssize_t (NetPacketDeliver) (NetClientState *sender,
|
||||
unsigned flags,
|
||||
const uint8_t *buf,
|
||||
size_t size,
|
||||
void *opaque);
|
||||
|
||||
typedef ssize_t (NetPacketDeliverIOV) (NetClientState *sender,
|
||||
unsigned flags,
|
||||
const struct iovec *iov,
|
||||
int iovcnt,
|
||||
void *opaque);
|
||||
|
||||
#define QEMU_NET_PACKET_FLAG_NONE 0
|
||||
#define QEMU_NET_PACKET_FLAG_RAW (1<<0)
|
||||
|
||||
NetQueue *qemu_new_net_queue(NetPacketDeliver *deliver,
|
||||
NetPacketDeliverIOV *deliver_iov,
|
||||
void *opaque);
|
||||
NetQueue *qemu_new_net_queue(void *opaque);
|
||||
|
||||
void qemu_del_net_queue(NetQueue *queue);
|
||||
|
||||
ssize_t qemu_net_queue_send(NetQueue *queue,
|
||||
|
Loading…
Reference in New Issue
Block a user