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,10 +1074,7 @@ pci_e1000_init(PCIBus *bus, NICInfo *nd, int devfn)
1074 d->vc = qemu_new_vlan_client(nd->vlan, nd->model, 1074 d->vc = qemu_new_vlan_client(nd->vlan, nd->model,
1075 e1000_receive, e1000_can_receive, d); 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 register_savevm(info_str, -1, 2, nic_save, nic_load, d); 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,11 +1779,7 @@ static void nic_init(PCIBus * bus, NICInfo * nd,
1779 s->vc = qemu_new_vlan_client(nd->vlan, nd->model, 1779 s->vc = qemu_new_vlan_client(nd->vlan, nd->model,
1780 nic_receive, nic_can_receive, s); 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 qemu_register_reset(nic_reset, s); 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,14 +256,7 @@ void mipsnet_init (int base, qemu_irq irq, NICInfo *nd)
256 s->vc = NULL; 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 mipsnet_reset(s); 261 mipsnet_reset(s);
269 register_savevm("mipsnet", 0, 0, mipsnet_save, mipsnet_load, s); 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,14 +744,7 @@ void isa_ne2000_init(int base, qemu_irq irq, NICInfo *nd)
744 s->vc = qemu_new_vlan_client(nd->vlan, nd->model, 744 s->vc = qemu_new_vlan_client(nd->vlan, nd->model,
745 ne2000_receive, ne2000_can_receive, s); 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 register_savevm("ne2000", -1, 2, ne2000_save, ne2000_load, s); 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,14 +807,7 @@ void pci_ne2000_init(PCIBus *bus, NICInfo *nd, int devfn)
814 s->vc = qemu_new_vlan_client(nd->vlan, nd->model, 807 s->vc = qemu_new_vlan_client(nd->vlan, nd->model,
815 ne2000_receive, ne2000_can_receive, s); 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 register_savevm("ne2000", -1, 3, ne2000_save, ne2000_load, s); 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,14 +1939,7 @@ static void pcnet_common_init(PCNetState *d, NICInfo *nd, const char *info_str)
1939 d->vc = qemu_new_vlan_client(nd->vlan, nd->model, 1939 d->vc = qemu_new_vlan_client(nd->vlan, nd->model,
1940 pcnet_receive, pcnet_can_receive, d); 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 } else { 1943 } else {
1951 d->vc = NULL; 1944 d->vc = NULL;
1952 } 1945 }
hw/rtl8139.c
@@ -3441,14 +3441,7 @@ void pci_rtl8139_init(PCIBus *bus, NICInfo *nd, int devfn) @@ -3441,14 +3441,7 @@ void pci_rtl8139_init(PCIBus *bus, NICInfo *nd, int devfn)
3441 s->vc = qemu_new_vlan_client(nd->vlan, nd->model, 3441 s->vc = qemu_new_vlan_client(nd->vlan, nd->model,
3442 rtl8139_receive, rtl8139_can_receive, s); 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 s->cplus_txbuffer = NULL; 3446 s->cplus_txbuffer = NULL;
3454 s->cplus_txbuffer_len = 0; 3447 s->cplus_txbuffer_len = 0;
hw/usb-net.c
@@ -1456,14 +1456,12 @@ USBDevice *usb_net_init(NICInfo *nd) @@ -1456,14 +1456,12 @@ USBDevice *usb_net_init(NICInfo *nd)
1456 s->vc = qemu_new_vlan_client(nd->vlan, nd->model, 1456 s->vc = qemu_new_vlan_client(nd->vlan, nd->model,
1457 usbnet_receive, usbnet_can_receive, s); 1457 usbnet_receive, usbnet_can_receive, s);
1458 1458
  1459 + qemu_format_nic_info_str(s->vc, s->mac);
  1460 +
1459 snprintf(s->usbstring_mac, sizeof(s->usbstring_mac), 1461 snprintf(s->usbstring_mac, sizeof(s->usbstring_mac),
1460 "%02x%02x%02x%02x%02x%02x", 1462 "%02x%02x%02x%02x%02x%02x",
1461 0x40, s->mac[1], s->mac[2], 1463 0x40, s->mac[1], s->mac[2],
1462 s->mac[3], s->mac[4], s->mac[5]); 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 fprintf(stderr, "usbnet: initialized mac %02x:%02x:%02x:%02x:%02x:%02x\n", 1465 fprintf(stderr, "usbnet: initialized mac %02x:%02x:%02x:%02x:%02x:%02x\n",
1468 s->mac[0], s->mac[1], s->mac[2], 1466 s->mac[0], s->mac[1], s->mac[2],
1469 s->mac[3], s->mac[4], s->mac[5]); 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,6 +296,14 @@ static int parse_unix_path(struct sockaddr_un *uaddr, const char *str)
296 } 296 }
297 #endif 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 static char *assign_name(VLANClientState *vc1, const char *model) 307 static char *assign_name(VLANClientState *vc1, const char *model)
300 { 308 {
301 VLANState *vlan; 309 VLANState *vlan;
@@ -474,7 +482,7 @@ static int net_slirp_init(VLANState *vlan, const char *model) @@ -474,7 +482,7 @@ static int net_slirp_init(VLANState *vlan, const char *model)
474 } 482 }
475 slirp_vc = qemu_new_vlan_client(vlan, model, 483 slirp_vc = qemu_new_vlan_client(vlan, model,
476 slirp_receive, NULL, NULL); 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 return 0; 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,7 +707,7 @@ static TAPState *net_tap_fd_init(VLANState *vlan, const char *model, int fd)
699 s->vc->fd_readv = tap_receive_iov; 707 s->vc->fd_readv = tap_receive_iov;
700 #endif 708 #endif
701 qemu_set_fd_handler(s->fd, tap_send, NULL, s); 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 return s; 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,7 +962,8 @@ static int net_tap_init(VLANState *vlan, const char *model, const char *ifname1,
954 if (!s) 962 if (!s)
955 return -1; 963 return -1;
956 snprintf(s->vc->info_str, sizeof(s->vc->info_str), 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 if (down_script && strcmp(down_script, "no")) 967 if (down_script && strcmp(down_script, "no"))
959 snprintf(s->down_script, sizeof(s->down_script), "%s", down_script); 968 snprintf(s->down_script, sizeof(s->down_script), "%s", down_script);
960 return 0; 969 return 0;
@@ -1016,7 +1025,7 @@ static int net_vde_init(VLANState *vlan, const char *model, const char *sock, @@ -1016,7 +1025,7 @@ static int net_vde_init(VLANState *vlan, const char *model, const char *sock,
1016 } 1025 }
1017 s->vc = qemu_new_vlan_client(vlan, model, vde_from_qemu, NULL, s); 1026 s->vc = qemu_new_vlan_client(vlan, model, vde_from_qemu, NULL, s);
1018 qemu_set_fd_handler(vde_datafd(s->vde), vde_to_qemu, NULL, s); 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 sock, vde_datafd(s->vde)); 1029 sock, vde_datafd(s->vde));
1021 return 0; 1030 return 0;
1022 } 1031 }
@@ -1639,7 +1648,7 @@ void do_info_network(void) @@ -1639,7 +1648,7 @@ void do_info_network(void)
1639 for(vlan = first_vlan; vlan != NULL; vlan = vlan->next) { 1648 for(vlan = first_vlan; vlan != NULL; vlan = vlan->next) {
1640 term_printf("VLAN %d devices:\n", vlan->id); 1649 term_printf("VLAN %d devices:\n", vlan->id);
1641 for(vc = vlan->first_client; vc != NULL; vc = vc->next) 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,7 +1666,8 @@ void net_cleanup(void)
1657 char ifname[64]; 1666 char ifname[64];
1658 TAPState *s = vc->opaque; 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 s->down_script[0]) 1671 s->down_script[0])
1662 launch_script(s->down_script, ifname, s->fd); 1672 launch_script(s->down_script, ifname, s->fd);
1663 } 1673 }
@@ -41,6 +41,7 @@ int qemu_can_send_packet(VLANClientState *vc); @@ -41,6 +41,7 @@ int qemu_can_send_packet(VLANClientState *vc);
41 ssize_t qemu_sendv_packet(VLANClientState *vc, const struct iovec *iov, 41 ssize_t qemu_sendv_packet(VLANClientState *vc, const struct iovec *iov,
42 int iovcnt); 42 int iovcnt);
43 void qemu_send_packet(VLANClientState *vc, const uint8_t *buf, int size); 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 void qemu_handler_true(void *opaque); 45 void qemu_handler_true(void *opaque);
45 46
46 void do_info_network(void); 47 void do_info_network(void);