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
					
				
							
								
								
									
										19
									
								
								net.c
								
								
								
								
							
							
						
						
									
										19
									
								
								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,7 +314,7 @@ int qemu_can_send_packet(NetClientState *sender)
 | 
			
		|||
    return 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static ssize_t qemu_deliver_packet(NetClientState *sender,
 | 
			
		||||
ssize_t qemu_deliver_packet(NetClientState *sender,
 | 
			
		||||
                            unsigned flags,
 | 
			
		||||
                            const uint8_t *data,
 | 
			
		||||
                            size_t size,
 | 
			
		||||
| 
						 | 
				
			
			@ -424,7 +411,7 @@ 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,
 | 
			
		||||
ssize_t qemu_deliver_packet_iov(NetClientState *sender,
 | 
			
		||||
                                unsigned flags,
 | 
			
		||||
                                const struct iovec *iov,
 | 
			
		||||
                                int iovcnt,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										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