Greetings,

while working on my bachelor's thesis (HelenOS packet filter), I noticed that 
on a machine with two NICs DHCP fails to configure the second one. I found 
that this is caused by dhcp_transport_fini() not being called after finishing 
negotiation. Because the address is still in use, the second negotiation fails 
to bind the address.

I attached a patch for this. However, this causes dhcp_recv_msg() to end with 
an error, because the socket it wants to read from is closed. The 
configuration seems to work fine, though. Is there a better place for the 
dhcp_transport_fini()? Or should I fix this some other way?

JB
=== modified file 'uspace/srv/net/dhcp/dhcp.c'
--- uspace/srv/net/dhcp/dhcp.c	2014-07-13 14:06:23 +0000
+++ uspace/srv/net/dhcp/dhcp.c	2015-04-29 12:15:55 +0000
@@ -534,6 +534,8 @@
 		return;
 	}
 
+	dhcp_transport_fini(&dlink->dt);
+
 	log_msg(LOG_DEFAULT, LVL_NOTE, "%s: Successfully configured.",
 	    dlink->link_info.name);
 }

_______________________________________________
HelenOS-devel mailing list
[email protected]
http://lists.modry.cz/listinfo/helenos-devel

Reply via email to