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]