mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
net: introduce qemu_new_net_client()
A replacement for qemu_new_vlan_client(), using NetClientInfo to replace most arguments. Signed-off-by: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
3ed79cc949
commit
45460d1a53
2 changed files with 54 additions and 21 deletions
70
net.c
70
net.c
|
@ -248,34 +248,31 @@ static ssize_t qemu_deliver_packet_iov(VLANClientState *sender,
|
|||
int iovcnt,
|
||||
void *opaque);
|
||||
|
||||
VLANClientState *qemu_new_vlan_client(net_client_type type,
|
||||
VLANState *vlan,
|
||||
VLANClientState *peer,
|
||||
const char *model,
|
||||
const char *name,
|
||||
NetCanReceive *can_receive,
|
||||
NetReceive *receive,
|
||||
NetReceive *receive_raw,
|
||||
NetReceiveIOV *receive_iov,
|
||||
NetCleanup *cleanup,
|
||||
void *opaque)
|
||||
VLANClientState *qemu_new_net_client(NetClientInfo *info,
|
||||
VLANState *vlan,
|
||||
VLANClientState *peer,
|
||||
const char *model,
|
||||
const char *name)
|
||||
{
|
||||
VLANClientState *vc;
|
||||
|
||||
vc = qemu_mallocz(sizeof(VLANClientState));
|
||||
assert(info->size >= sizeof(VLANClientState));
|
||||
|
||||
vc->type = type;
|
||||
vc = qemu_mallocz(info->size);
|
||||
|
||||
vc->type = info->type;
|
||||
vc->model = qemu_strdup(model);
|
||||
if (name)
|
||||
if (name) {
|
||||
vc->name = qemu_strdup(name);
|
||||
else
|
||||
} else {
|
||||
vc->name = assign_name(vc, model);
|
||||
vc->can_receive = can_receive;
|
||||
vc->receive = receive;
|
||||
vc->receive_raw = receive_raw;
|
||||
vc->receive_iov = receive_iov;
|
||||
vc->cleanup = cleanup;
|
||||
vc->opaque = opaque;
|
||||
}
|
||||
vc->can_receive = info->can_receive;
|
||||
vc->receive = info->receive;
|
||||
vc->receive_raw = info->receive_raw;
|
||||
vc->receive_iov = info->receive_iov;
|
||||
vc->cleanup = info->cleanup;
|
||||
vc->link_status_changed = info->link_status_changed;
|
||||
|
||||
if (vlan) {
|
||||
assert(!peer);
|
||||
|
@ -296,6 +293,37 @@ VLANClientState *qemu_new_vlan_client(net_client_type type,
|
|||
return vc;
|
||||
}
|
||||
|
||||
VLANClientState *qemu_new_vlan_client(net_client_type type,
|
||||
VLANState *vlan,
|
||||
VLANClientState *peer,
|
||||
const char *model,
|
||||
const char *name,
|
||||
NetCanReceive *can_receive,
|
||||
NetReceive *receive,
|
||||
NetReceive *receive_raw,
|
||||
NetReceiveIOV *receive_iov,
|
||||
NetCleanup *cleanup,
|
||||
void *opaque)
|
||||
{
|
||||
VLANClientState *ret;
|
||||
NetClientInfo info;
|
||||
|
||||
info.type = type;
|
||||
info.size = sizeof(VLANClientState);
|
||||
info.can_receive = can_receive;
|
||||
info.receive = receive;
|
||||
info.receive_raw = receive_raw;
|
||||
info.receive_iov = receive_iov;
|
||||
info.cleanup = cleanup;
|
||||
info.link_status_changed = NULL;
|
||||
|
||||
ret = qemu_new_net_client(&info, vlan, peer, model, name);
|
||||
|
||||
ret->opaque = opaque;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
void qemu_del_vlan_client(VLANClientState *vc)
|
||||
{
|
||||
if (vc->vlan) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue