mirror of https://gitee.com/openkylin/qemu.git
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
This commit is contained in:
parent
676cff2940
commit
7cb7434b1e
|
@ -1074,10 +1074,7 @@ pci_e1000_init(PCIBus *bus, NICInfo *nd, int devfn)
|
|||
d->vc = qemu_new_vlan_client(nd->vlan, nd->model,
|
||||
e1000_receive, e1000_can_receive, d);
|
||||
|
||||
snprintf(d->vc->info_str, sizeof(d->vc->info_str),
|
||||
"%s macaddr=%02x:%02x:%02x:%02x:%02x:%02x", info_str,
|
||||
d->nd->macaddr[0], d->nd->macaddr[1], d->nd->macaddr[2],
|
||||
d->nd->macaddr[3], d->nd->macaddr[4], d->nd->macaddr[5]);
|
||||
qemu_format_nic_info_str(d->vc, d->nd->macaddr);
|
||||
|
||||
register_savevm(info_str, -1, 2, nic_save, nic_load, d);
|
||||
}
|
||||
|
|
|
@ -1779,11 +1779,7 @@ static void nic_init(PCIBus * bus, NICInfo * nd,
|
|||
s->vc = qemu_new_vlan_client(nd->vlan, nd->model,
|
||||
nic_receive, nic_can_receive, s);
|
||||
|
||||
snprintf(s->vc->info_str, sizeof(s->vc->info_str),
|
||||
"eepro100 pci macaddr=%02x:%02x:%02x:%02x:%02x:%02x",
|
||||
s->macaddr[0],
|
||||
s->macaddr[1],
|
||||
s->macaddr[2], s->macaddr[3], s->macaddr[4], s->macaddr[5]);
|
||||
qemu_format_nic_info_str(s->vc, s->macaddr);
|
||||
|
||||
qemu_register_reset(nic_reset, s);
|
||||
|
||||
|
|
|
@ -256,14 +256,7 @@ void mipsnet_init (int base, qemu_irq irq, NICInfo *nd)
|
|||
s->vc = NULL;
|
||||
}
|
||||
|
||||
snprintf(s->vc->info_str, sizeof(s->vc->info_str),
|
||||
"mipsnet macaddr=%02x:%02x:%02x:%02x:%02x:%02x",
|
||||
s->nd->macaddr[0],
|
||||
s->nd->macaddr[1],
|
||||
s->nd->macaddr[2],
|
||||
s->nd->macaddr[3],
|
||||
s->nd->macaddr[4],
|
||||
s->nd->macaddr[5]);
|
||||
qemu_format_nic_info_str(s->vc, s->nd->macaddr);
|
||||
|
||||
mipsnet_reset(s);
|
||||
register_savevm("mipsnet", 0, 0, mipsnet_save, mipsnet_load, s);
|
||||
|
|
18
hw/ne2000.c
18
hw/ne2000.c
|
@ -744,14 +744,7 @@ void isa_ne2000_init(int base, qemu_irq irq, NICInfo *nd)
|
|||
s->vc = qemu_new_vlan_client(nd->vlan, nd->model,
|
||||
ne2000_receive, ne2000_can_receive, s);
|
||||
|
||||
snprintf(s->vc->info_str, sizeof(s->vc->info_str),
|
||||
"ne2000 macaddr=%02x:%02x:%02x:%02x:%02x:%02x",
|
||||
s->macaddr[0],
|
||||
s->macaddr[1],
|
||||
s->macaddr[2],
|
||||
s->macaddr[3],
|
||||
s->macaddr[4],
|
||||
s->macaddr[5]);
|
||||
qemu_format_nic_info_str(s->vc, s->macaddr);
|
||||
|
||||
register_savevm("ne2000", -1, 2, ne2000_save, ne2000_load, s);
|
||||
}
|
||||
|
@ -814,14 +807,7 @@ void pci_ne2000_init(PCIBus *bus, NICInfo *nd, int devfn)
|
|||
s->vc = qemu_new_vlan_client(nd->vlan, nd->model,
|
||||
ne2000_receive, ne2000_can_receive, s);
|
||||
|
||||
snprintf(s->vc->info_str, sizeof(s->vc->info_str),
|
||||
"ne2000 pci macaddr=%02x:%02x:%02x:%02x:%02x:%02x",
|
||||
s->macaddr[0],
|
||||
s->macaddr[1],
|
||||
s->macaddr[2],
|
||||
s->macaddr[3],
|
||||
s->macaddr[4],
|
||||
s->macaddr[5]);
|
||||
qemu_format_nic_info_str(s->vc, s->macaddr);
|
||||
|
||||
register_savevm("ne2000", -1, 3, ne2000_save, ne2000_load, s);
|
||||
}
|
||||
|
|
|
@ -1939,14 +1939,7 @@ static void pcnet_common_init(PCNetState *d, NICInfo *nd, const char *info_str)
|
|||
d->vc = qemu_new_vlan_client(nd->vlan, nd->model,
|
||||
pcnet_receive, pcnet_can_receive, d);
|
||||
|
||||
snprintf(d->vc->info_str, sizeof(d->vc->info_str),
|
||||
"pcnet macaddr=%02x:%02x:%02x:%02x:%02x:%02x",
|
||||
d->nd->macaddr[0],
|
||||
d->nd->macaddr[1],
|
||||
d->nd->macaddr[2],
|
||||
d->nd->macaddr[3],
|
||||
d->nd->macaddr[4],
|
||||
d->nd->macaddr[5]);
|
||||
qemu_format_nic_info_str(d->vc, d->nd->macaddr);
|
||||
} else {
|
||||
d->vc = NULL;
|
||||
}
|
||||
|
|
|
@ -3441,14 +3441,7 @@ void pci_rtl8139_init(PCIBus *bus, NICInfo *nd, int devfn)
|
|||
s->vc = qemu_new_vlan_client(nd->vlan, nd->model,
|
||||
rtl8139_receive, rtl8139_can_receive, s);
|
||||
|
||||
snprintf(s->vc->info_str, sizeof(s->vc->info_str),
|
||||
"rtl8139 pci macaddr=%02x:%02x:%02x:%02x:%02x:%02x",
|
||||
s->macaddr[0],
|
||||
s->macaddr[1],
|
||||
s->macaddr[2],
|
||||
s->macaddr[3],
|
||||
s->macaddr[4],
|
||||
s->macaddr[5]);
|
||||
qemu_format_nic_info_str(s->vc, s->macaddr);
|
||||
|
||||
s->cplus_txbuffer = NULL;
|
||||
s->cplus_txbuffer_len = 0;
|
||||
|
|
|
@ -1456,14 +1456,12 @@ USBDevice *usb_net_init(NICInfo *nd)
|
|||
s->vc = qemu_new_vlan_client(nd->vlan, nd->model,
|
||||
usbnet_receive, usbnet_can_receive, s);
|
||||
|
||||
qemu_format_nic_info_str(s->vc, s->mac);
|
||||
|
||||
snprintf(s->usbstring_mac, sizeof(s->usbstring_mac),
|
||||
"%02x%02x%02x%02x%02x%02x",
|
||||
0x40, s->mac[1], s->mac[2],
|
||||
s->mac[3], s->mac[4], s->mac[5]);
|
||||
snprintf(s->vc->info_str, sizeof(s->vc->info_str),
|
||||
"usbnet macaddr=%02x:%02x:%02x:%02x:%02x:%02x",
|
||||
s->mac[0], s->mac[1], s->mac[2],
|
||||
s->mac[3], s->mac[4], s->mac[5]);
|
||||
fprintf(stderr, "usbnet: initialized mac %02x:%02x:%02x:%02x:%02x:%02x\n",
|
||||
s->mac[0], s->mac[1], s->mac[2],
|
||||
s->mac[3], s->mac[4], s->mac[5]);
|
||||
|
|
22
net.c
22
net.c
|
@ -296,6 +296,14 @@ static int parse_unix_path(struct sockaddr_un *uaddr, const char *str)
|
|||
}
|
||||
#endif
|
||||
|
||||
void qemu_format_nic_info_str(VLANClientState *vc, uint8_t macaddr[6])
|
||||
{
|
||||
snprintf(vc->info_str, sizeof(vc->info_str),
|
||||
"macaddr=%02x:%02x:%02x:%02x:%02x:%02x",
|
||||
macaddr[0], macaddr[1], macaddr[2],
|
||||
macaddr[3], macaddr[4], macaddr[5]);
|
||||
}
|
||||
|
||||
static char *assign_name(VLANClientState *vc1, const char *model)
|
||||
{
|
||||
VLANState *vlan;
|
||||
|
@ -474,7 +482,7 @@ static int net_slirp_init(VLANState *vlan, const char *model)
|
|||
}
|
||||
slirp_vc = qemu_new_vlan_client(vlan, model,
|
||||
slirp_receive, NULL, NULL);
|
||||
snprintf(slirp_vc->info_str, sizeof(slirp_vc->info_str), "user redirector");
|
||||
slirp_vc->info_str[0] = '\0';
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -699,7 +707,7 @@ static TAPState *net_tap_fd_init(VLANState *vlan, const char *model, int fd)
|
|||
s->vc->fd_readv = tap_receive_iov;
|
||||
#endif
|
||||
qemu_set_fd_handler(s->fd, tap_send, NULL, s);
|
||||
snprintf(s->vc->info_str, sizeof(s->vc->info_str), "tap: fd=%d", fd);
|
||||
snprintf(s->vc->info_str, sizeof(s->vc->info_str), "fd=%d", fd);
|
||||
return s;
|
||||
}
|
||||
|
||||
|
@ -954,7 +962,8 @@ static int net_tap_init(VLANState *vlan, const char *model, const char *ifname1,
|
|||
if (!s)
|
||||
return -1;
|
||||
snprintf(s->vc->info_str, sizeof(s->vc->info_str),
|
||||
"tap: ifname=%s setup_script=%s", ifname, setup_script);
|
||||
"ifname=%s,script=%s,downscript=%s",
|
||||
ifname, setup_script, down_script);
|
||||
if (down_script && strcmp(down_script, "no"))
|
||||
snprintf(s->down_script, sizeof(s->down_script), "%s", down_script);
|
||||
return 0;
|
||||
|
@ -1016,7 +1025,7 @@ static int net_vde_init(VLANState *vlan, const char *model, const char *sock,
|
|||
}
|
||||
s->vc = qemu_new_vlan_client(vlan, model, vde_from_qemu, NULL, s);
|
||||
qemu_set_fd_handler(vde_datafd(s->vde), vde_to_qemu, NULL, s);
|
||||
snprintf(s->vc->info_str, sizeof(s->vc->info_str), "vde: sock=%s fd=%d",
|
||||
snprintf(s->vc->info_str, sizeof(s->vc->info_str), "sock=%s,fd=%d",
|
||||
sock, vde_datafd(s->vde));
|
||||
return 0;
|
||||
}
|
||||
|
@ -1639,7 +1648,7 @@ void do_info_network(void)
|
|||
for(vlan = first_vlan; vlan != NULL; vlan = vlan->next) {
|
||||
term_printf("VLAN %d devices:\n", vlan->id);
|
||||
for(vc = vlan->first_client; vc != NULL; vc = vc->next)
|
||||
term_printf(" %s\n", vc->info_str);
|
||||
term_printf(" %s: %s\n", vc->name, vc->info_str);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1657,7 +1666,8 @@ void net_cleanup(void)
|
|||
char ifname[64];
|
||||
TAPState *s = vc->opaque;
|
||||
|
||||
if (sscanf(vc->info_str, "tap: ifname=%63s ", ifname) == 1 &&
|
||||
if (strcmp(vc->model, "tap") == 0 &&
|
||||
sscanf(vc->info_str, "ifname=%63s ", ifname) == 1 &&
|
||||
s->down_script[0])
|
||||
launch_script(s->down_script, ifname, s->fd);
|
||||
}
|
||||
|
|
1
net.h
1
net.h
|
@ -41,6 +41,7 @@ int qemu_can_send_packet(VLANClientState *vc);
|
|||
ssize_t qemu_sendv_packet(VLANClientState *vc, const struct iovec *iov,
|
||||
int iovcnt);
|
||||
void qemu_send_packet(VLANClientState *vc, const uint8_t *buf, int size);
|
||||
void qemu_format_nic_info_str(VLANClientState *vc, uint8_t macaddr[6]);
|
||||
void qemu_handler_true(void *opaque);
|
||||
|
||||
void do_info_network(void);
|
||||
|
|
Loading…
Reference in New Issue