Revision 62112d18 net.c
b/net.c | ||
---|---|---|
812 | 812 |
} |
813 | 813 |
|
814 | 814 |
nd->used = 1; |
815 |
if (vlan) { |
|
816 |
nd->vlan->nb_guest_devs++; |
|
817 |
} |
|
818 | 815 |
nb_nics++; |
819 | 816 |
|
820 | 817 |
return idx; |
... | ... | |
1278 | 1275 |
void net_check_clients(void) |
1279 | 1276 |
{ |
1280 | 1277 |
VLANState *vlan; |
1278 |
VLANClientState *vc; |
|
1279 |
int has_nic, has_host_dev; |
|
1281 | 1280 |
|
1282 | 1281 |
QTAILQ_FOREACH(vlan, &vlans, next) { |
1283 |
if (vlan->nb_guest_devs == 0 && vlan->nb_host_devs == 0) |
|
1284 |
continue; |
|
1285 |
if (vlan->nb_guest_devs == 0) |
|
1282 |
QTAILQ_FOREACH(vc, &vlan->clients, next) { |
|
1283 |
switch (vc->info->type) { |
|
1284 |
case NET_CLIENT_TYPE_NIC: |
|
1285 |
has_nic = 1; |
|
1286 |
break; |
|
1287 |
case NET_CLIENT_TYPE_SLIRP: |
|
1288 |
case NET_CLIENT_TYPE_TAP: |
|
1289 |
case NET_CLIENT_TYPE_SOCKET: |
|
1290 |
case NET_CLIENT_TYPE_VDE: |
|
1291 |
has_host_dev = 1; |
|
1292 |
break; |
|
1293 |
default: ; |
|
1294 |
} |
|
1295 |
} |
|
1296 |
if (has_host_dev && !has_nic) |
|
1286 | 1297 |
fprintf(stderr, "Warning: vlan %d with no nics\n", vlan->id); |
1287 |
if (vlan->nb_host_devs == 0)
|
|
1298 |
if (has_nic && !has_host_dev)
|
|
1288 | 1299 |
fprintf(stderr, |
1289 | 1300 |
"Warning: vlan %d is not connected to host network\n", |
1290 | 1301 |
vlan->id); |
Also available in: Unified diff