Index: src/servers/net/DHCPClient.cpp
===================================================================
--- src/servers/net/DHCPClient.cpp	(revision 28736)
+++ src/servers/net/DHCPClient.cpp	(working copy)
@@ -21,6 +21,8 @@
 #include <sys/time.h>
 
 
+#define LND do { ktrace_printf("DHCP: %s: %s: %d\n", __FILE__, __func__, __LINE__); } while(0)
+
 // See RFC 2131 for DHCP, see RFC 1533 for BOOTP/DHCP options
 
 #define DHCP_CLIENT_PORT	68
@@ -336,22 +338,27 @@
 	fRunner(NULL),
 	fLeaseTime(0)
 {
+	LND;
 	fStartTime = system_time();
 	fTransactionID = (uint32)fStartTime;
 
 	fStatus = get_mac_address(device, fMAC);
-	if (fStatus < B_OK)
+	if (fStatus < B_OK) {
+		LND;
 		return;
+	}
 
 	memset(&fServer, 0, sizeof(struct sockaddr_in));
 	fServer.sin_family = AF_INET;
 	fServer.sin_len = sizeof(struct sockaddr_in);
 	fServer.sin_port = htons(DHCP_SERVER_PORT);
+	LND;
 }
 
 
 DHCPClient::~DHCPClient()
 {
+	LND;
 	if (fStatus != B_OK)
 		return;
 
@@ -374,6 +381,7 @@
 status_t
 DHCPClient::Initialize()
 {
+	LND;
 	fStatus = _Negotiate(INIT);
 	printf("DHCP for %s, status: %s\n", fDevice.String(), strerror(fStatus));
 	return fStatus;
@@ -383,6 +391,7 @@
 status_t
 DHCPClient::_Negotiate(dhcp_state state)
 {
+	LND;
 	int socket = ::socket(AF_INET, SOCK_DGRAM, 0);
 	if (socket < 0)
 		return errno;
@@ -453,7 +462,10 @@
 
 	// receive loop until we've got an offer and acknowledged it
 
+	LND;
+
 	while (state != ACKNOWLEDGED) {
+		LND;
 		char buffer[2048];
 		ssize_t bytesReceived = recvfrom(socket, buffer, sizeof(buffer),
 			0, NULL, NULL);
@@ -559,6 +571,7 @@
 				break;
 		}
 	}
+	LND;
 
 	close(socket);
 
@@ -582,6 +595,7 @@
 		fRenewalTime = (fLeaseTime - now) * 2/3 + now;
 		fRebindingTime = (fLeaseTime - now) * 5/6 + now;
 	}
+	LND;
 
 	return status;
 }
@@ -819,6 +833,7 @@
 			dhcp_state state = _CurrentState();
 
 			bigtime_t next;
+			LND;
 			if (_Negotiate(state) == B_OK) {
 				switch (state) {
 					case RENEWAL:
Index: src/servers/net/NetServer.cpp
===================================================================
--- src/servers/net/NetServer.cpp	(revision 28736)
+++ src/servers/net/NetServer.cpp	(working copy)
@@ -37,7 +37,9 @@
 #include <string.h>
 #include <unistd.h>
 
+#define LND do { ktrace_printf("DHCP: %s: %s: %d\n", __FILE__, __func__, __LINE__); } while(0)
 
+
 static const char *kSignature = "application/x-vnd.haiku-net_server";
 
 
@@ -485,6 +487,8 @@
 status_t
 NetServer::_ConfigureInterface(int socket, BMessage& interface, bool fromMessage)
 {
+	LND;
+
 	const char *device;
 	if (interface.FindString("device", &device) != B_OK)
 		return B_BAD_VALUE;
@@ -675,8 +679,10 @@
 		}
 	}
 
+	LND;
 	if (startAutoConfig) {
 		// start auto configuration
+		LND;
 		AutoconfigLooper* looper = new AutoconfigLooper(this, device);
 		looper->Run();
 
@@ -725,6 +731,8 @@
 	address.AddBool("auto config", true);
 	interface.AddMessage("address", &address);
 
+	LND;
+
 	return _ConfigureInterface(socket, interface);
 }
 
@@ -746,6 +754,7 @@
 			continue;
 
 		if (S_ISBLK(stat.st_mode) || S_ISCHR(stat.st_mode)) {
+			LND;
 			if (suggestedInterface != NULL
 				&& suggestedInterface->RemoveName("device") == B_OK
 				&& suggestedInterface->AddString("device", path.Path()) == B_OK
@@ -782,6 +791,7 @@
 			}
 		}
 
+		LND;
 		_ConfigureInterface(socket, interface);
 	}
 }
@@ -817,6 +827,7 @@
 		address.AddString("address", "127.0.0.1");
 		interface.AddMessage("address", &address);
 
+		LND;
 		_ConfigureInterface(socket, interface);
 	}
 
Index: src/servers/net/AutoconfigLooper.cpp
===================================================================
--- src/servers/net/AutoconfigLooper.cpp	(revision 28736)
+++ src/servers/net/AutoconfigLooper.cpp	(working copy)
@@ -18,7 +18,9 @@
 #include <sys/socket.h>
 #include <sys/sockio.h>
 
+#define LND do { ktrace_printf("DHCP: %s: %s: %d\n", __FILE__, __func__, __LINE__); } while(0)
 
+
 static const uint32 kMsgReadyToRun = 'rdyr';
 
 
@@ -27,6 +29,7 @@
 	fTarget(target),
 	fDevice(device)
 {
+	LND;
 	BMessage ready(kMsgReadyToRun);
 	PostMessage(&ready);
 }
@@ -40,9 +43,11 @@
 void
 AutoconfigLooper::_ReadyToRun()
 {
+	LND;
 	ifreq request;
 	if (!prepare_request(request, fDevice.String()))
 		return;
+	LND;
 
 	// set IFF_CONFIGURING flag on interface
 
@@ -58,6 +63,7 @@
 	close(socket);
 
 	// start with DHCP
+	LND;
 
 	DHCPClient* client = new DHCPClient(fTarget, fDevice.String());
 	AddHandler(client);
