summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorroyger <royger@FreeBSD.org>2015-05-21 10:28:33 +0000
committerroyger <royger@FreeBSD.org>2015-05-21 10:28:33 +0000
commit227f0f0c838082926a83b466f2f7c3d028281c4d (patch)
tree6cdd8be715b0dabc4ddf59fd345c2b5bcf77cd13
parent66c1c10ecbc89594d2a78688d1b27fb7d3c8cf22 (diff)
downloadFreeBSD-src-227f0f0c838082926a83b466f2f7c3d028281c4d.zip
FreeBSD-src-227f0f0c838082926a83b466f2f7c3d028281c4d.tar.gz
MFC: r282908
netfront: wait for backend to connect before sending ARP Sponsored by: Citrix Systems R&D
-rw-r--r--sys/dev/xen/netfront/netfront.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/dev/xen/netfront/netfront.c b/sys/dev/xen/netfront/netfront.c
index 3c7636f..26378cf 100644
--- a/sys/dev/xen/netfront/netfront.c
+++ b/sys/dev/xen/netfront/netfront.c
@@ -683,7 +683,6 @@ netfront_backend_changed(device_t dev, XenbusState newstate)
switch (newstate) {
case XenbusStateInitialising:
case XenbusStateInitialised:
- case XenbusStateConnected:
case XenbusStateUnknown:
case XenbusStateClosed:
case XenbusStateReconfigured:
@@ -695,13 +694,15 @@ netfront_backend_changed(device_t dev, XenbusState newstate)
if (network_connect(sc) != 0)
break;
xenbus_set_state(dev, XenbusStateConnected);
-#ifdef INET
- netfront_send_fake_arp(dev, sc);
-#endif
break;
case XenbusStateClosing:
xenbus_set_state(dev, XenbusStateClosed);
break;
+ case XenbusStateConnected:
+#ifdef INET
+ netfront_send_fake_arp(dev, sc);
+#endif
+ break;
}
}
OpenPOWER on IntegriCloud