Loading net.c +19 −9 Original line number Diff line number Diff line Loading @@ -951,21 +951,31 @@ static void tap_receive(void *opaque, const uint8_t *buf, int size) } } static void tap_send(void *opaque) { TAPState *s = opaque; uint8_t buf[4096]; int size; #ifdef __sun__ static ssize_t tap_read_packet(int tapfd, uint8_t *buf, int maxlen) { struct strbuf sbuf; int f = 0; sbuf.maxlen = sizeof(buf); sbuf.maxlen = maxlen; sbuf.buf = (char *)buf; size = getmsg(s->fd, NULL, &sbuf, &f) >=0 ? sbuf.len : -1; return getmsg(tapfd, NULL, &sbuf, &f) >= 0 ? sbuf.len : -1; } #else size = read(s->fd, buf, sizeof(buf)); static ssize_t tap_read_packet(int tapfd, uint8_t *buf, int maxlen) { return read(tapfd, buf, maxlen); } #endif static void tap_send(void *opaque) { TAPState *s = opaque; uint8_t buf[4096]; int size; size = tap_read_packet(s->fd, buf, sizeof(buf)); if (size > 0) { qemu_send_packet(s->vc, buf, size); } Loading Loading
net.c +19 −9 Original line number Diff line number Diff line Loading @@ -951,21 +951,31 @@ static void tap_receive(void *opaque, const uint8_t *buf, int size) } } static void tap_send(void *opaque) { TAPState *s = opaque; uint8_t buf[4096]; int size; #ifdef __sun__ static ssize_t tap_read_packet(int tapfd, uint8_t *buf, int maxlen) { struct strbuf sbuf; int f = 0; sbuf.maxlen = sizeof(buf); sbuf.maxlen = maxlen; sbuf.buf = (char *)buf; size = getmsg(s->fd, NULL, &sbuf, &f) >=0 ? sbuf.len : -1; return getmsg(tapfd, NULL, &sbuf, &f) >= 0 ? sbuf.len : -1; } #else size = read(s->fd, buf, sizeof(buf)); static ssize_t tap_read_packet(int tapfd, uint8_t *buf, int maxlen) { return read(tapfd, buf, maxlen); } #endif static void tap_send(void *opaque) { TAPState *s = opaque; uint8_t buf[4096]; int size; size = tap_read_packet(s->fd, buf, sizeof(buf)); if (size > 0) { qemu_send_packet(s->vc, buf, size); } Loading