diff --git a/vl.c b/vl.c index 97eddbf499..8d1fa3747d 100644 --- a/vl.c +++ b/vl.c @@ -1926,7 +1926,7 @@ static VLANClientState *slirp_vc; int slirp_can_output(void) { - return qemu_can_send_packet(slirp_vc); + return !slirp_vc || qemu_can_send_packet(slirp_vc); } void slirp_output(const uint8_t *pkt, int pkt_len) @@ -1935,6 +1935,8 @@ void slirp_output(const uint8_t *pkt, int pkt_len) printf("slirp output:\n"); hex_dump(stdout, pkt, pkt_len); #endif + if (!slirp_vc) + return; qemu_send_packet(slirp_vc, pkt, pkt_len); }