Commit cda9046ba7dbba45f3016e5d60caffa2d72960fa
1 parent
463af534
net: re-name vc->fd_read() to vc->receive()
VLANClientState's fd_read() handler doesn't read from file descriptors, it adds a buffer to the client's receive queue. Re-name the handlers to make things a little less confusing. Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Showing
20 changed files
with
57 additions
and
56 deletions
hw/dp8393x.c
... | ... | @@ -409,7 +409,7 @@ static void do_transmit_packets(dp8393xState *s) |
409 | 409 | s->regs[SONIC_TCR] |= SONIC_TCR_CRSL; |
410 | 410 | if (s->vc->fd_can_read(s)) { |
411 | 411 | s->loopback_packet = 1; |
412 | - s->vc->fd_read(s, s->tx_buffer, tx_len); | |
412 | + s->vc->receive(s, s->tx_buffer, tx_len); | |
413 | 413 | } |
414 | 414 | } else { |
415 | 415 | /* Transmit packet */ |
... | ... | @@ -725,7 +725,7 @@ static int receive_filter(dp8393xState *s, const uint8_t * buf, int size) |
725 | 725 | return -1; |
726 | 726 | } |
727 | 727 | |
728 | -static void nic_receive(void *opaque, const uint8_t * buf, int size) | |
728 | +static void nic_receive(void *opaque, const uint8_t * buf, size_t size) | |
729 | 729 | { |
730 | 730 | uint16_t data[10]; |
731 | 731 | dp8393xState *s = opaque; | ... | ... |
hw/e1000.c
... | ... | @@ -600,7 +600,7 @@ e1000_can_receive(void *opaque) |
600 | 600 | } |
601 | 601 | |
602 | 602 | static void |
603 | -e1000_receive(void *opaque, const uint8_t *buf, int size) | |
603 | +e1000_receive(void *opaque, const uint8_t *buf, size_t size) | |
604 | 604 | { |
605 | 605 | E1000State *s = opaque; |
606 | 606 | struct e1000_rx_desc desc; |
... | ... | @@ -614,8 +614,8 @@ e1000_receive(void *opaque, const uint8_t *buf, int size) |
614 | 614 | return; |
615 | 615 | |
616 | 616 | if (size > s->rxbuf_size) { |
617 | - DBGOUT(RX, "packet too large for buffers (%d > %d)\n", size, | |
618 | - s->rxbuf_size); | |
617 | + DBGOUT(RX, "packet too large for buffers (%lu > %d)\n", | |
618 | + (unsigned long)size, s->rxbuf_size); | |
619 | 619 | return; |
620 | 620 | } |
621 | 621 | ... | ... |
hw/eepro100.c
... | ... | @@ -1441,7 +1441,7 @@ static int nic_can_receive(void *opaque) |
1441 | 1441 | //~ return !eepro100_buffer_full(s); |
1442 | 1442 | } |
1443 | 1443 | |
1444 | -static void nic_receive(void *opaque, const uint8_t * buf, int size) | |
1444 | +static void nic_receive(void *opaque, const uint8_t * buf, size_t size) | |
1445 | 1445 | { |
1446 | 1446 | /* TODO: |
1447 | 1447 | * - Magic packets should set bit 30 in power management driver register. | ... | ... |
hw/etraxfs_eth.c
... | ... | @@ -501,7 +501,7 @@ static int eth_can_receive(void *opaque) |
501 | 501 | return 1; |
502 | 502 | } |
503 | 503 | |
504 | -static void eth_receive(void *opaque, const uint8_t *buf, int size) | |
504 | +static void eth_receive(void *opaque, const uint8_t *buf, size_t size) | |
505 | 505 | { |
506 | 506 | unsigned char sa_bcast[6] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; |
507 | 507 | struct fs_eth *eth = opaque; | ... | ... |
hw/mcf_fec.c
... | ... | @@ -353,7 +353,7 @@ static int mcf_fec_can_receive(void *opaque) |
353 | 353 | return s->rx_enabled; |
354 | 354 | } |
355 | 355 | |
356 | -static void mcf_fec_receive(void *opaque, const uint8_t *buf, int size) | |
356 | +static void mcf_fec_receive(void *opaque, const uint8_t *buf, size_t size) | |
357 | 357 | { |
358 | 358 | mcf_fec_state *s = (mcf_fec_state *)opaque; |
359 | 359 | mcf_fec_bd bd; | ... | ... |
hw/mipsnet.c
... | ... | @@ -75,7 +75,7 @@ static int mipsnet_can_receive(void *opaque) |
75 | 75 | return !mipsnet_buffer_full(s); |
76 | 76 | } |
77 | 77 | |
78 | -static void mipsnet_receive(void *opaque, const uint8_t *buf, int size) | |
78 | +static void mipsnet_receive(void *opaque, const uint8_t *buf, size_t size) | |
79 | 79 | { |
80 | 80 | MIPSnetState *s = opaque; |
81 | 81 | ... | ... |
hw/musicpal.c
... | ... | @@ -562,7 +562,7 @@ static int eth_can_receive(void *opaque) |
562 | 562 | return 1; |
563 | 563 | } |
564 | 564 | |
565 | -static void eth_receive(void *opaque, const uint8_t *buf, int size) | |
565 | +static void eth_receive(void *opaque, const uint8_t *buf, size_t size) | |
566 | 566 | { |
567 | 567 | mv88w8618_eth_state *s = opaque; |
568 | 568 | uint32_t desc_addr; | ... | ... |
hw/ne2000.c
... | ... | @@ -224,7 +224,7 @@ static int ne2000_can_receive(void *opaque) |
224 | 224 | |
225 | 225 | #define MIN_BUF_SIZE 60 |
226 | 226 | |
227 | -static void ne2000_receive(void *opaque, const uint8_t *buf, int size) | |
227 | +static void ne2000_receive(void *opaque, const uint8_t *buf, size_t size) | |
228 | 228 | { |
229 | 229 | NE2000State *s = opaque; |
230 | 230 | uint8_t *p; | ... | ... |
hw/pcnet.c
... | ... | @@ -1076,7 +1076,7 @@ static int pcnet_can_receive(void *opaque) |
1076 | 1076 | |
1077 | 1077 | #define MIN_BUF_SIZE 60 |
1078 | 1078 | |
1079 | -static void pcnet_receive(void *opaque, const uint8_t *buf, int size) | |
1079 | +static void pcnet_receive(void *opaque, const uint8_t *buf, size_t size) | |
1080 | 1080 | { |
1081 | 1081 | PCNetState *s = opaque; |
1082 | 1082 | int is_padr = 0, is_bcast = 0, is_ladr = 0; | ... | ... |
hw/qdev.c
... | ... | @@ -258,16 +258,16 @@ void qdev_connect_gpio_out(DeviceState * dev, int n, qemu_irq pin) |
258 | 258 | } |
259 | 259 | |
260 | 260 | VLANClientState *qdev_get_vlan_client(DeviceState *dev, |
261 | - IOCanRWHandler *fd_can_read, | |
262 | - IOReadHandler *fd_read, | |
263 | - IOReadvHandler *fd_readv, | |
261 | + NetCanReceive *can_receive, | |
262 | + NetReceive *receive, | |
263 | + NetReceiveIOV *receive_iov, | |
264 | 264 | NetCleanup *cleanup, |
265 | 265 | void *opaque) |
266 | 266 | { |
267 | 267 | NICInfo *nd = dev->nd; |
268 | 268 | assert(nd); |
269 | - return qemu_new_vlan_client(nd->vlan, nd->model, nd->name, fd_can_read, | |
270 | - fd_read, fd_readv, cleanup, opaque); | |
269 | + return qemu_new_vlan_client(nd->vlan, nd->model, nd->name, can_receive, | |
270 | + receive, receive_iov, cleanup, opaque); | |
271 | 271 | } |
272 | 272 | |
273 | 273 | ... | ... |
hw/rtl8139.c
... | ... | @@ -1158,7 +1158,7 @@ static void rtl8139_do_receive(void *opaque, const uint8_t *buf, int size, int d |
1158 | 1158 | } |
1159 | 1159 | } |
1160 | 1160 | |
1161 | -static void rtl8139_receive(void *opaque, const uint8_t *buf, int size) | |
1161 | +static void rtl8139_receive(void *opaque, const uint8_t *buf, size_t size) | |
1162 | 1162 | { |
1163 | 1163 | rtl8139_do_receive(opaque, buf, size, 1); |
1164 | 1164 | } | ... | ... |
hw/smc91c111.c
... | ... | @@ -602,7 +602,7 @@ static int smc91c111_can_receive(void *opaque) |
602 | 602 | return 1; |
603 | 603 | } |
604 | 604 | |
605 | -static void smc91c111_receive(void *opaque, const uint8_t *buf, int size) | |
605 | +static void smc91c111_receive(void *opaque, const uint8_t *buf, size_t size) | |
606 | 606 | { |
607 | 607 | smc91c111_state *s = (smc91c111_state *)opaque; |
608 | 608 | int status; | ... | ... |
hw/stellaris_enet.c
... | ... | @@ -78,7 +78,7 @@ static void stellaris_enet_update(stellaris_enet_state *s) |
78 | 78 | } |
79 | 79 | |
80 | 80 | /* TODO: Implement MAC address filtering. */ |
81 | -static void stellaris_enet_receive(void *opaque, const uint8_t *buf, int size) | |
81 | +static void stellaris_enet_receive(void *opaque, const uint8_t *buf, size_t size) | |
82 | 82 | { |
83 | 83 | stellaris_enet_state *s = (stellaris_enet_state *)opaque; |
84 | 84 | int n; | ... | ... |
hw/usb-net.c
... | ... | @@ -1369,7 +1369,7 @@ static int usb_net_handle_data(USBDevice *dev, USBPacket *p) |
1369 | 1369 | return ret; |
1370 | 1370 | } |
1371 | 1371 | |
1372 | -static void usbnet_receive(void *opaque, const uint8_t *buf, int size) | |
1372 | +static void usbnet_receive(void *opaque, const uint8_t *buf, size_t size) | |
1373 | 1373 | { |
1374 | 1374 | USBNetState *s = opaque; |
1375 | 1375 | struct rndis_packet_msg_type *msg; | ... | ... |
hw/virtio-net.c
... | ... | @@ -361,7 +361,7 @@ static int receive_filter(VirtIONet *n, const uint8_t *buf, int size) |
361 | 361 | return 0; |
362 | 362 | } |
363 | 363 | |
364 | -static void virtio_net_receive(void *opaque, const uint8_t *buf, int size) | |
364 | +static void virtio_net_receive(void *opaque, const uint8_t *buf, size_t size) | |
365 | 365 | { |
366 | 366 | VirtIONet *n = opaque; |
367 | 367 | struct virtio_net_hdr_mrg_rxbuf *mhdr = NULL; | ... | ... |
hw/xen_nic.c
... | ... | @@ -243,7 +243,7 @@ static int net_rx_ok(void *opaque) |
243 | 243 | return 1; |
244 | 244 | } |
245 | 245 | |
246 | -static void net_rx_packet(void *opaque, const uint8_t *buf, int size) | |
246 | +static void net_rx_packet(void *opaque, const uint8_t *buf, size_t size) | |
247 | 247 | { |
248 | 248 | struct XenNetDev *netdev = opaque; |
249 | 249 | netif_rx_request_t rxreq; |
... | ... | @@ -262,8 +262,8 @@ static void net_rx_packet(void *opaque, const uint8_t *buf, int size) |
262 | 262 | return; |
263 | 263 | } |
264 | 264 | if (size > XC_PAGE_SIZE - NET_IP_ALIGN) { |
265 | - xen_be_printf(&netdev->xendev, 0, "packet too big (%d > %ld)", | |
266 | - size, XC_PAGE_SIZE - NET_IP_ALIGN); | |
265 | + xen_be_printf(&netdev->xendev, 0, "packet too big (%lu > %ld)", | |
266 | + (unsigned long)size, XC_PAGE_SIZE - NET_IP_ALIGN); | |
267 | 267 | return; |
268 | 268 | } |
269 | 269 | ... | ... |
net.c
... | ... | @@ -332,9 +332,9 @@ static char *assign_name(VLANClientState *vc1, const char *model) |
332 | 332 | VLANClientState *qemu_new_vlan_client(VLANState *vlan, |
333 | 333 | const char *model, |
334 | 334 | const char *name, |
335 | - IOCanRWHandler *fd_can_read, | |
336 | - IOReadHandler *fd_read, | |
337 | - IOReadvHandler *fd_readv, | |
335 | + NetCanReceive *can_receive, | |
336 | + NetReceive *receive, | |
337 | + NetReceiveIOV *receive_iov, | |
338 | 338 | NetCleanup *cleanup, |
339 | 339 | void *opaque) |
340 | 340 | { |
... | ... | @@ -345,9 +345,9 @@ VLANClientState *qemu_new_vlan_client(VLANState *vlan, |
345 | 345 | vc->name = strdup(name); |
346 | 346 | else |
347 | 347 | vc->name = assign_name(vc, model); |
348 | - vc->fd_can_read = fd_can_read; | |
349 | - vc->fd_read = fd_read; | |
350 | - vc->fd_readv = fd_readv; | |
348 | + vc->can_receive = can_receive; | |
349 | + vc->receive = receive; | |
350 | + vc->receive_iov = receive_iov; | |
351 | 351 | vc->cleanup = cleanup; |
352 | 352 | vc->opaque = opaque; |
353 | 353 | vc->vlan = vlan; |
... | ... | @@ -401,8 +401,8 @@ int qemu_can_send_packet(VLANClientState *sender) |
401 | 401 | continue; |
402 | 402 | } |
403 | 403 | |
404 | - /* no fd_can_read() handler, they can always receive */ | |
405 | - if (!vc->fd_can_read || vc->fd_can_read(vc->opaque)) { | |
404 | + /* no can_receive() handler, they can always receive */ | |
405 | + if (!vc->can_receive || vc->can_receive(vc->opaque)) { | |
406 | 406 | return 1; |
407 | 407 | } |
408 | 408 | } |
... | ... | @@ -416,7 +416,7 @@ qemu_deliver_packet(VLANClientState *sender, const uint8_t *buf, int size) |
416 | 416 | |
417 | 417 | for (vc = sender->vlan->first_client; vc != NULL; vc = vc->next) { |
418 | 418 | if (vc != sender && !vc->link_down) { |
419 | - vc->fd_read(vc->opaque, buf, size); | |
419 | + vc->receive(vc->opaque, buf, size); | |
420 | 420 | } |
421 | 421 | } |
422 | 422 | } |
... | ... | @@ -467,7 +467,7 @@ static ssize_t vc_sendv_compat(VLANClientState *vc, const struct iovec *iov, |
467 | 467 | offset += len; |
468 | 468 | } |
469 | 469 | |
470 | - vc->fd_read(vc->opaque, buffer, offset); | |
470 | + vc->receive(vc->opaque, buffer, offset); | |
471 | 471 | |
472 | 472 | return offset; |
473 | 473 | } |
... | ... | @@ -519,9 +519,9 @@ ssize_t qemu_sendv_packet(VLANClientState *sender, const struct iovec *iov, |
519 | 519 | } |
520 | 520 | if (vc->link_down) { |
521 | 521 | len = calc_iov_length(iov, iovcnt); |
522 | - } else if (vc->fd_readv) { | |
523 | - len = vc->fd_readv(vc->opaque, iov, iovcnt); | |
524 | - } else if (vc->fd_read) { | |
522 | + } else if (vc->receive_iov) { | |
523 | + len = vc->receive_iov(vc->opaque, iov, iovcnt); | |
524 | + } else if (vc->receive) { | |
525 | 525 | len = vc_sendv_compat(vc, iov, iovcnt); |
526 | 526 | } |
527 | 527 | max_len = MAX(max_len, len); |
... | ... | @@ -593,7 +593,7 @@ int slirp_is_inited(void) |
593 | 593 | return slirp_inited; |
594 | 594 | } |
595 | 595 | |
596 | -static void slirp_receive(void *opaque, const uint8_t *buf, int size) | |
596 | +static void slirp_receive(void *opaque, const uint8_t *buf, size_t size) | |
597 | 597 | { |
598 | 598 | #ifdef DEBUG_SLIRP |
599 | 599 | printf("slirp input:\n"); |
... | ... | @@ -945,7 +945,7 @@ static ssize_t tap_receive_iov(void *opaque, const struct iovec *iov, |
945 | 945 | return len; |
946 | 946 | } |
947 | 947 | |
948 | -static void tap_receive(void *opaque, const uint8_t *buf, int size) | |
948 | +static void tap_receive(void *opaque, const uint8_t *buf, size_t size) | |
949 | 949 | { |
950 | 950 | TAPState *s = opaque; |
951 | 951 | int ret; |
... | ... | @@ -1380,7 +1380,7 @@ typedef struct NetSocketListenState { |
1380 | 1380 | } NetSocketListenState; |
1381 | 1381 | |
1382 | 1382 | /* XXX: we consider we can send the whole packet without blocking */ |
1383 | -static void net_socket_receive(void *opaque, const uint8_t *buf, int size) | |
1383 | +static void net_socket_receive(void *opaque, const uint8_t *buf, size_t size) | |
1384 | 1384 | { |
1385 | 1385 | NetSocketState *s = opaque; |
1386 | 1386 | uint32_t len; |
... | ... | @@ -1390,7 +1390,7 @@ static void net_socket_receive(void *opaque, const uint8_t *buf, int size) |
1390 | 1390 | send_all(s->fd, buf, size); |
1391 | 1391 | } |
1392 | 1392 | |
1393 | -static void net_socket_receive_dgram(void *opaque, const uint8_t *buf, int size) | |
1393 | +static void net_socket_receive_dgram(void *opaque, const uint8_t *buf, size_t size) | |
1394 | 1394 | { |
1395 | 1395 | NetSocketState *s = opaque; |
1396 | 1396 | sendto(s->fd, buf, size, 0, |
... | ... | @@ -1831,7 +1831,7 @@ struct pcap_sf_pkthdr { |
1831 | 1831 | uint32_t len; |
1832 | 1832 | }; |
1833 | 1833 | |
1834 | -static void dump_receive(void *opaque, const uint8_t *buf, int size) | |
1834 | +static void dump_receive(void *opaque, const uint8_t *buf, size_t size) | |
1835 | 1835 | { |
1836 | 1836 | DumpState *s = opaque; |
1837 | 1837 | struct pcap_sf_pkthdr hdr; | ... | ... |
net.h
... | ... | @@ -5,19 +5,20 @@ |
5 | 5 | |
6 | 6 | /* VLANs support */ |
7 | 7 | |
8 | -typedef ssize_t (IOReadvHandler)(void *, const struct iovec *, int); | |
9 | - | |
10 | 8 | typedef struct VLANClientState VLANClientState; |
11 | 9 | |
10 | +typedef int (NetCanReceive)(void *); | |
11 | +typedef void (NetReceive)(void *, const uint8_t *, size_t); | |
12 | +typedef ssize_t (NetReceiveIOV)(void *, const struct iovec *, int); | |
12 | 13 | typedef void (NetCleanup) (VLANClientState *); |
13 | 14 | typedef void (LinkStatusChanged)(VLANClientState *); |
14 | 15 | |
15 | 16 | struct VLANClientState { |
16 | - IOReadHandler *fd_read; | |
17 | - IOReadvHandler *fd_readv; | |
17 | + NetReceive *receive; | |
18 | + NetReceiveIOV *receive_iov; | |
18 | 19 | /* Packets may still be sent if this returns zero. It's used to |
19 | 20 | rate-limit the slirp code. */ |
20 | - IOCanRWHandler *fd_can_read; | |
21 | + NetCanReceive *can_receive; | |
21 | 22 | NetCleanup *cleanup; |
22 | 23 | LinkStatusChanged *link_status_changed; |
23 | 24 | int link_down; |
... | ... | @@ -51,9 +52,9 @@ VLANState *qemu_find_vlan(int id); |
51 | 52 | VLANClientState *qemu_new_vlan_client(VLANState *vlan, |
52 | 53 | const char *model, |
53 | 54 | const char *name, |
54 | - IOCanRWHandler *fd_can_read, | |
55 | - IOReadHandler *fd_read, | |
56 | - IOReadvHandler *fd_readv, | |
55 | + NetCanReceive *can_receive, | |
56 | + NetReceive *receive, | |
57 | + NetReceiveIOV *receive_iov, | |
57 | 58 | NetCleanup *cleanup, |
58 | 59 | void *opaque); |
59 | 60 | void qemu_del_vlan_client(VLANClientState *vc); |
... | ... | @@ -130,9 +131,9 @@ void net_host_device_remove(Monitor *mon, int vlan_id, const char *device); |
130 | 131 | |
131 | 132 | void qdev_get_macaddr(DeviceState *dev, uint8_t *macaddr); |
132 | 133 | VLANClientState *qdev_get_vlan_client(DeviceState *dev, |
133 | - IOCanRWHandler *fd_can_read, | |
134 | - IOReadHandler *fd_read, | |
135 | - IOReadvHandler *fd_readv, | |
134 | + NetCanReceive *can_receive, | |
135 | + NetReceive *receive, | |
136 | + NetReceiveIOV *receive_iov, | |
136 | 137 | NetCleanup *cleanup, |
137 | 138 | void *opaque); |
138 | 139 | ... | ... |
savevm.c
... | ... | @@ -131,7 +131,7 @@ static void qemu_announce_self_once(void *opaque) |
131 | 131 | len = announce_self_create(buf, nd_table[i].macaddr); |
132 | 132 | vlan = nd_table[i].vlan; |
133 | 133 | for(vc = vlan->first_client; vc != NULL; vc = vc->next) { |
134 | - vc->fd_read(vc->opaque, buf, len); | |
134 | + vc->receive(vc->opaque, buf, len); | |
135 | 135 | } |
136 | 136 | } |
137 | 137 | if (count--) { | ... | ... |
tap-win32.c
... | ... | @@ -650,7 +650,7 @@ static void tap_cleanup(VLANClientState *vc) |
650 | 650 | qemu_free(s); |
651 | 651 | } |
652 | 652 | |
653 | -static void tap_receive(void *opaque, const uint8_t *buf, int size) | |
653 | +static void tap_receive(void *opaque, const uint8_t *buf, size_t size) | |
654 | 654 | { |
655 | 655 | TAPState *s = opaque; |
656 | 656 | ... | ... |