Peter Memishian wrote:

> My current implementation treats all incoming DHCP traffic as broadcast as
> long as ill_dhcpinit is set (which the client disables once it has
> obtained a lease).  The current code is here:
> 
>        http://cr.opensolaris.org/~meem/dhcp-sock/
> 
> The core brutality is in ip.c.

Does the DHCP server set the init bit in any cases except the initial 
assignment of the address? For instance, during a renew-type operation?
Reason I'm asking is in that case you end up dropping packets.

Also, I think you'd end up sending ICMP port unreachables to packets 
that are not addressed to your IP address when dhcpinit it set. Or does 
the fact that we end up with an IRE_BROADCAST prevent that? (I don't see 
ll_multicast being checked whether we send ICMP errors.)


I don't understand why you made the bit be protected by the ipsq. There 
is a bit field further down which is protected by ill_lock. Isn't that 
sufficient?

1821         /* Following bit fields protected by ipsq_t */
1822         uint_t
1823                 ill_needs_attach : 1,
1824                 ill_dhcpinit : 1,

    Erik
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to