Commit 7cb7434b1e4aee549b55536208abe56e35159763

Authored by aliguori
1 parent 676cff29

Add qemu_format_nic_info_str() (Mark McLoughlin)

Factor out a simple little function for formatting a NIC's
info_str and make all NICs use it.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6218 c046a42c-6fe2-441c-8c8c-71466251a162
hw/e1000.c
... ... @@ -1074,10 +1074,7 @@ pci_e1000_init(PCIBus *bus, NICInfo *nd, int devfn)
1074 1074 d->vc = qemu_new_vlan_client(nd->vlan, nd->model,
1075 1075 e1000_receive, e1000_can_receive, d);
1076 1076  
1077   - snprintf(d->vc->info_str, sizeof(d->vc->info_str),
1078   - "%s macaddr=%02x:%02x:%02x:%02x:%02x:%02x", info_str,
1079   - d->nd->macaddr[0], d->nd->macaddr[1], d->nd->macaddr[2],
1080   - d->nd->macaddr[3], d->nd->macaddr[4], d->nd->macaddr[5]);
  1077 + qemu_format_nic_info_str(d->vc, d->nd->macaddr);
1081 1078  
1082 1079 register_savevm(info_str, -1, 2, nic_save, nic_load, d);
1083 1080 }
... ...
hw/eepro100.c
... ... @@ -1779,11 +1779,7 @@ static void nic_init(PCIBus * bus, NICInfo * nd,
1779 1779 s->vc = qemu_new_vlan_client(nd->vlan, nd->model,
1780 1780 nic_receive, nic_can_receive, s);
1781 1781  
1782   - snprintf(s->vc->info_str, sizeof(s->vc->info_str),
1783   - "eepro100 pci macaddr=%02x:%02x:%02x:%02x:%02x:%02x",
1784   - s->macaddr[0],
1785   - s->macaddr[1],
1786   - s->macaddr[2], s->macaddr[3], s->macaddr[4], s->macaddr[5]);
  1782 + qemu_format_nic_info_str(s->vc, s->macaddr);
1787 1783  
1788 1784 qemu_register_reset(nic_reset, s);
1789 1785  
... ...
hw/mipsnet.c
... ... @@ -256,14 +256,7 @@ void mipsnet_init (int base, qemu_irq irq, NICInfo *nd)
256 256 s->vc = NULL;
257 257 }
258 258  
259   - snprintf(s->vc->info_str, sizeof(s->vc->info_str),
260   - "mipsnet macaddr=%02x:%02x:%02x:%02x:%02x:%02x",
261   - s->nd->macaddr[0],
262   - s->nd->macaddr[1],
263   - s->nd->macaddr[2],
264   - s->nd->macaddr[3],
265   - s->nd->macaddr[4],
266   - s->nd->macaddr[5]);
  259 + qemu_format_nic_info_str(s->vc, s->nd->macaddr);
267 260  
268 261 mipsnet_reset(s);
269 262 register_savevm("mipsnet", 0, 0, mipsnet_save, mipsnet_load, s);
... ...
hw/ne2000.c
... ... @@ -744,14 +744,7 @@ void isa_ne2000_init(int base, qemu_irq irq, NICInfo *nd)
744 744 s->vc = qemu_new_vlan_client(nd->vlan, nd->model,
745 745 ne2000_receive, ne2000_can_receive, s);
746 746  
747   - snprintf(s->vc->info_str, sizeof(s->vc->info_str),
748   - "ne2000 macaddr=%02x:%02x:%02x:%02x:%02x:%02x",
749   - s->macaddr[0],
750   - s->macaddr[1],
751   - s->macaddr[2],
752   - s->macaddr[3],
753   - s->macaddr[4],
754   - s->macaddr[5]);
  747 + qemu_format_nic_info_str(s->vc, s->macaddr);
755 748  
756 749 register_savevm("ne2000", -1, 2, ne2000_save, ne2000_load, s);
757 750 }
... ... @@ -814,14 +807,7 @@ void pci_ne2000_init(PCIBus *bus, NICInfo *nd, int devfn)
814 807 s->vc = qemu_new_vlan_client(nd->vlan, nd->model,
815 808 ne2000_receive, ne2000_can_receive, s);
816 809  
817   - snprintf(s->vc->info_str, sizeof(s->vc->info_str),
818   - "ne2000 pci macaddr=%02x:%02x:%02x:%02x:%02x:%02x",
819   - s->macaddr[0],
820   - s->macaddr[1],
821   - s->macaddr[2],
822   - s->macaddr[3],
823   - s->macaddr[4],
824   - s->macaddr[5]);
  810 + qemu_format_nic_info_str(s->vc, s->macaddr);
825 811  
826 812 register_savevm("ne2000", -1, 3, ne2000_save, ne2000_load, s);
827 813 }
... ...
hw/pcnet.c
... ... @@ -1939,14 +1939,7 @@ static void pcnet_common_init(PCNetState *d, NICInfo *nd, const char *info_str)
1939 1939 d->vc = qemu_new_vlan_client(nd->vlan, nd->model,
1940 1940 pcnet_receive, pcnet_can_receive, d);
1941 1941  
1942   - snprintf(d->vc->info_str, sizeof(d->vc->info_str),
1943   - "pcnet macaddr=%02x:%02x:%02x:%02x:%02x:%02x",
1944   - d->nd->macaddr[0],
1945   - d->nd->macaddr[1],
1946   - d->nd->macaddr[2],
1947   - d->nd->macaddr[3],
1948   - d->nd->macaddr[4],
1949   - d->nd->macaddr[5]);
  1942 + qemu_format_nic_info_str(d->vc, d->nd->macaddr);
1950 1943 } else {
1951 1944 d->vc = NULL;
1952 1945 }
... ...
hw/rtl8139.c
... ... @@ -3441,14 +3441,7 @@ void pci_rtl8139_init(PCIBus *bus, NICInfo *nd, int devfn)
3441 3441 s->vc = qemu_new_vlan_client(nd->vlan, nd->model,
3442 3442 rtl8139_receive, rtl8139_can_receive, s);
3443 3443  
3444   - snprintf(s->vc->info_str, sizeof(s->vc->info_str),
3445   - "rtl8139 pci macaddr=%02x:%02x:%02x:%02x:%02x:%02x",
3446   - s->macaddr[0],
3447   - s->macaddr[1],
3448   - s->macaddr[2],
3449   - s->macaddr[3],
3450   - s->macaddr[4],
3451   - s->macaddr[5]);
  3444 + qemu_format_nic_info_str(s->vc, s->macaddr);
3452 3445  
3453 3446 s->cplus_txbuffer = NULL;
3454 3447 s->cplus_txbuffer_len = 0;
... ...
hw/usb-net.c
... ... @@ -1456,14 +1456,12 @@ USBDevice *usb_net_init(NICInfo *nd)
1456 1456 s->vc = qemu_new_vlan_client(nd->vlan, nd->model,
1457 1457 usbnet_receive, usbnet_can_receive, s);
1458 1458  
  1459 + qemu_format_nic_info_str(s->vc, s->mac);
  1460 +
1459 1461 snprintf(s->usbstring_mac, sizeof(s->usbstring_mac),
1460 1462 "%02x%02x%02x%02x%02x%02x",
1461 1463 0x40, s->mac[1], s->mac[2],
1462 1464 s->mac[3], s->mac[4], s->mac[5]);
1463   - snprintf(s->vc->info_str, sizeof(s->vc->info_str),
1464   - "usbnet macaddr=%02x:%02x:%02x:%02x:%02x:%02x",
1465   - s->mac[0], s->mac[1], s->mac[2],
1466   - s->mac[3], s->mac[4], s->mac[5]);
1467 1465 fprintf(stderr, "usbnet: initialized mac %02x:%02x:%02x:%02x:%02x:%02x\n",
1468 1466 s->mac[0], s->mac[1], s->mac[2],
1469 1467 s->mac[3], s->mac[4], s->mac[5]);
... ...
... ... @@ -296,6 +296,14 @@ static int parse_unix_path(struct sockaddr_un *uaddr, const char *str)
296 296 }
297 297 #endif
298 298  
  299 +void qemu_format_nic_info_str(VLANClientState *vc, uint8_t macaddr[6])
  300 +{
  301 + snprintf(vc->info_str, sizeof(vc->info_str),
  302 + "macaddr=%02x:%02x:%02x:%02x:%02x:%02x",
  303 + macaddr[0], macaddr[1], macaddr[2],
  304 + macaddr[3], macaddr[4], macaddr[5]);
  305 +}
  306 +
299 307 static char *assign_name(VLANClientState *vc1, const char *model)
300 308 {
301 309 VLANState *vlan;
... ... @@ -474,7 +482,7 @@ static int net_slirp_init(VLANState *vlan, const char *model)
474 482 }
475 483 slirp_vc = qemu_new_vlan_client(vlan, model,
476 484 slirp_receive, NULL, NULL);
477   - snprintf(slirp_vc->info_str, sizeof(slirp_vc->info_str), "user redirector");
  485 + slirp_vc->info_str[0] = '\0';
478 486 return 0;
479 487 }
480 488  
... ... @@ -699,7 +707,7 @@ static TAPState *net_tap_fd_init(VLANState *vlan, const char *model, int fd)
699 707 s->vc->fd_readv = tap_receive_iov;
700 708 #endif
701 709 qemu_set_fd_handler(s->fd, tap_send, NULL, s);
702   - snprintf(s->vc->info_str, sizeof(s->vc->info_str), "tap: fd=%d", fd);
  710 + snprintf(s->vc->info_str, sizeof(s->vc->info_str), "fd=%d", fd);
703 711 return s;
704 712 }
705 713  
... ... @@ -954,7 +962,8 @@ static int net_tap_init(VLANState *vlan, const char *model, const char *ifname1,
954 962 if (!s)
955 963 return -1;
956 964 snprintf(s->vc->info_str, sizeof(s->vc->info_str),
957   - "tap: ifname=%s setup_script=%s", ifname, setup_script);
  965 + "ifname=%s,script=%s,downscript=%s",
  966 + ifname, setup_script, down_script);
958 967 if (down_script && strcmp(down_script, "no"))
959 968 snprintf(s->down_script, sizeof(s->down_script), "%s", down_script);
960 969 return 0;
... ... @@ -1016,7 +1025,7 @@ static int net_vde_init(VLANState *vlan, const char *model, const char *sock,
1016 1025 }
1017 1026 s->vc = qemu_new_vlan_client(vlan, model, vde_from_qemu, NULL, s);
1018 1027 qemu_set_fd_handler(vde_datafd(s->vde), vde_to_qemu, NULL, s);
1019   - snprintf(s->vc->info_str, sizeof(s->vc->info_str), "vde: sock=%s fd=%d",
  1028 + snprintf(s->vc->info_str, sizeof(s->vc->info_str), "sock=%s,fd=%d",
1020 1029 sock, vde_datafd(s->vde));
1021 1030 return 0;
1022 1031 }
... ... @@ -1639,7 +1648,7 @@ void do_info_network(void)
1639 1648 for(vlan = first_vlan; vlan != NULL; vlan = vlan->next) {
1640 1649 term_printf("VLAN %d devices:\n", vlan->id);
1641 1650 for(vc = vlan->first_client; vc != NULL; vc = vc->next)
1642   - term_printf(" %s\n", vc->info_str);
  1651 + term_printf(" %s: %s\n", vc->name, vc->info_str);
1643 1652 }
1644 1653 }
1645 1654  
... ... @@ -1657,7 +1666,8 @@ void net_cleanup(void)
1657 1666 char ifname[64];
1658 1667 TAPState *s = vc->opaque;
1659 1668  
1660   - if (sscanf(vc->info_str, "tap: ifname=%63s ", ifname) == 1 &&
  1669 + if (strcmp(vc->model, "tap") == 0 &&
  1670 + sscanf(vc->info_str, "ifname=%63s ", ifname) == 1 &&
1661 1671 s->down_script[0])
1662 1672 launch_script(s->down_script, ifname, s->fd);
1663 1673 }
... ...
... ... @@ -41,6 +41,7 @@ int qemu_can_send_packet(VLANClientState *vc);
41 41 ssize_t qemu_sendv_packet(VLANClientState *vc, const struct iovec *iov,
42 42 int iovcnt);
43 43 void qemu_send_packet(VLANClientState *vc, const uint8_t *buf, int size);
  44 +void qemu_format_nic_info_str(VLANClientState *vc, uint8_t macaddr[6]);
44 45 void qemu_handler_true(void *opaque);
45 46  
46 47 void do_info_network(void);
... ...