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 | ... | ... |