const char *name,
NetCanReceive *can_receive,
NetReceive *receive,
+ NetReceive *receive_raw,
NetReceiveIOV *receive_iov,
NetCleanup *cleanup,
void *opaque)
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;
s->vc = qemu_new_vlan_client(NET_CLIENT_TYPE_SLIRP,
vlan, NULL, model, name, NULL,
- slirp_receive, NULL,
+ slirp_receive, NULL, NULL,
net_slirp_cleanup, s);
snprintf(s->vc->info_str, sizeof(s->vc->info_str),
"net=%s, restricted=%c", inet_ntoa(net), restricted ? 'y' : 'n');
s->using_vnet_hdr = 0;
s->vc = qemu_new_vlan_client(NET_CLIENT_TYPE_TAP,
vlan, NULL, model, name, NULL,
- tap_receive, tap_receive_iov,
+ tap_receive, NULL, tap_receive_iov,
tap_cleanup, s);
tap_read_poll(s, 1);
return s;
}
s->vc = qemu_new_vlan_client(NET_CLIENT_TYPE_VDE,
vlan, NULL, model, name, NULL,
- vde_receive, NULL,
+ vde_receive, NULL, NULL,
vde_cleanup, s);
qemu_set_fd_handler(vde_datafd(s->vde), vde_to_qemu, NULL, s);
snprintf(s->vc->info_str, sizeof(s->vc->info_str), "sock=%s,fd=%d",
s->vc = qemu_new_vlan_client(NET_CLIENT_TYPE_SOCKET,
vlan, NULL, model, name, NULL,
- net_socket_receive_dgram, NULL,
+ net_socket_receive_dgram, NULL, NULL,
net_socket_cleanup, s);
qemu_set_fd_handler(s->fd, net_socket_send_dgram, NULL, s);
s->fd = fd;
s->vc = qemu_new_vlan_client(NET_CLIENT_TYPE_SOCKET,
vlan, NULL, model, name, NULL,
- net_socket_receive, NULL,
+ net_socket_receive, NULL, NULL,
net_socket_cleanup, s);
snprintf(s->vc->info_str, sizeof(s->vc->info_str),
"socket: fd=%d", fd);
s->pcap_vc = qemu_new_vlan_client(NET_CLIENT_TYPE_DUMP,
vlan, NULL, device, name, NULL,
- dump_receive, NULL,
+ dump_receive, NULL, NULL,
net_dump_cleanup, s);
snprintf(s->pcap_vc->info_str, sizeof(s->pcap_vc->info_str),
"dump to %s (len=%d)", filename, len);