diff options
author | Anthony Liguori <aliguori@us.ibm.com> | 2012-08-03 13:54:05 -0500 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2012-08-03 13:54:05 -0500 |
commit | f57fb88436464cf72a2a0c7372e2dc0af1870b5f (patch) | |
tree | 9c219d95ffb1f84ae3f12a213364e80824cdc2c4 /net.h | |
parent | 3d0b7b5203fb07847bf13aee567a9c9d7483876b (diff) | |
parent | 011de2b512a83aa5e9f8899ed5bbf2f31995b90e (diff) |
Merge remote-tracking branch 'stefanha/net' into staging
* stefanha/net:
net: add the support for -netdev socket, listen
net: fix the coding style
hub: add the support for hub own flow control
net: determine if packets can be sent before net queue deliver packets
net: cleanup deliver/deliver_iov func pointers
net: Make "info network" output more readable info
net: Rename qemu_del_vlan_client() to qemu_del_net_client()
net: Rename vc local variables to nc
net: Rename VLANClientState to NetClientState
net: Rename non_vlan_clients to net_clients
net: Remove VLANState
net: Remove vlan code from net.c
net: Convert qdev_prop_vlan to peer with hub
net: Drop vlan argument to qemu_new_net_client()
hub: Check that hubs are configured correctly
net: Look up 'vlan' net clients using hubs
net: Use hubs for the vlan feature
net: Add a hub net client
net: Add interface to bridge when SIOCBRADDIF isn't available
Diffstat (limited to 'net.h')
-rw-r--r-- | net.h | 86 |
1 files changed, 43 insertions, 43 deletions
@@ -17,25 +17,24 @@ struct MACAddr { typedef struct NICConf { MACAddr macaddr; - VLANState *vlan; - VLANClientState *peer; + NetClientState *peer; int32_t bootindex; } NICConf; #define DEFINE_NIC_PROPERTIES(_state, _conf) \ DEFINE_PROP_MACADDR("mac", _state, _conf.macaddr), \ - DEFINE_PROP_VLAN("vlan", _state, _conf.vlan), \ + DEFINE_PROP_VLAN("vlan", _state, _conf.peer), \ DEFINE_PROP_NETDEV("netdev", _state, _conf.peer), \ DEFINE_PROP_INT32("bootindex", _state, _conf.bootindex, -1) -/* VLANs support */ +/* Net clients */ -typedef void (NetPoll)(VLANClientState *, bool enable); -typedef int (NetCanReceive)(VLANClientState *); -typedef ssize_t (NetReceive)(VLANClientState *, const uint8_t *, size_t); -typedef ssize_t (NetReceiveIOV)(VLANClientState *, const struct iovec *, int); -typedef void (NetCleanup) (VLANClientState *); -typedef void (LinkStatusChanged)(VLANClientState *); +typedef void (NetPoll)(NetClientState *, bool enable); +typedef int (NetCanReceive)(NetClientState *); +typedef ssize_t (NetReceive)(NetClientState *, const uint8_t *, size_t); +typedef ssize_t (NetReceiveIOV)(NetClientState *, const struct iovec *, int); +typedef void (NetCleanup) (NetClientState *); +typedef void (LinkStatusChanged)(NetClientState *); typedef struct NetClientInfo { NetClientOptionsKind type; @@ -49,12 +48,11 @@ typedef struct NetClientInfo { NetPoll *poll; } NetClientInfo; -struct VLANClientState { +struct NetClientState { NetClientInfo *info; int link_down; - QTAILQ_ENTRY(VLANClientState) next; - struct VLANState *vlan; - VLANClientState *peer; + QTAILQ_ENTRY(NetClientState) next; + NetClientState *peer; NetQueue *send_queue; char *model; char *name; @@ -63,54 +61,57 @@ struct VLANClientState { }; typedef struct NICState { - VLANClientState nc; + NetClientState nc; NICConf *conf; void *opaque; bool peer_deleted; } NICState; -struct VLANState { - int id; - QTAILQ_HEAD(, VLANClientState) clients; - QTAILQ_ENTRY(VLANState) next; - NetQueue *send_queue; -}; - -VLANState *qemu_find_vlan(int id, int allocate); -VLANClientState *qemu_find_netdev(const char *id); -VLANClientState *qemu_new_net_client(NetClientInfo *info, - VLANState *vlan, - VLANClientState *peer, - const char *model, - const char *name); +NetClientState *qemu_find_netdev(const char *id); +NetClientState *qemu_new_net_client(NetClientInfo *info, + NetClientState *peer, + const char *model, + const char *name); NICState *qemu_new_nic(NetClientInfo *info, NICConf *conf, const char *model, const char *name, void *opaque); -void qemu_del_vlan_client(VLANClientState *vc); -VLANClientState *qemu_find_vlan_client_by_name(Monitor *mon, int vlan_id, - const char *client_str); +void qemu_del_net_client(NetClientState *nc); +NetClientState *qemu_find_vlan_client_by_name(Monitor *mon, int vlan_id, + const char *client_str); typedef void (*qemu_nic_foreach)(NICState *nic, void *opaque); void qemu_foreach_nic(qemu_nic_foreach func, void *opaque); -int qemu_can_send_packet(VLANClientState *vc); -ssize_t qemu_sendv_packet(VLANClientState *vc, const struct iovec *iov, +int qemu_can_send_packet(NetClientState *nc); +ssize_t qemu_sendv_packet(NetClientState *nc, const struct iovec *iov, int iovcnt); -ssize_t qemu_sendv_packet_async(VLANClientState *vc, const struct iovec *iov, +ssize_t qemu_sendv_packet_async(NetClientState *nc, 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, +void qemu_send_packet(NetClientState *nc, const uint8_t *buf, int size); +ssize_t qemu_send_packet_raw(NetClientState *nc, const uint8_t *buf, int size); +ssize_t qemu_send_packet_async(NetClientState *nc, const uint8_t *buf, int size, NetPacketSent *sent_cb); -void qemu_purge_queued_packets(VLANClientState *vc); -void qemu_flush_queued_packets(VLANClientState *vc); -void qemu_format_nic_info_str(VLANClientState *vc, uint8_t macaddr[6]); +void qemu_purge_queued_packets(NetClientState *nc); +void qemu_flush_queued_packets(NetClientState *nc); +void qemu_format_nic_info_str(NetClientState *nc, uint8_t macaddr[6]); void qemu_macaddr_default_if_unset(MACAddr *macaddr); int qemu_show_nic_models(const char *arg, const char *const *models); 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); /* NIC info */ @@ -122,8 +123,7 @@ struct NICInfo { char *model; char *name; char *devaddr; - VLANState *vlan; - VLANClientState *netdev; + NetClientState *netdev; int used; /* is this slot in nd_table[] being used? */ int instantiated; /* does this NICInfo correspond to an instantiated NIC? */ int nvectors; |