diff --git a/dhcpv4/client.go b/dhcpv4/client.go index 67dd4ea..3d6ca68 100644 --- a/dhcpv4/client.go +++ b/dhcpv4/client.go @@ -11,6 +11,7 @@ import ( "net/netip" "github.com/soypat/lneto" + "github.com/soypat/lneto/internal" "github.com/soypat/lneto/ipv4" ) @@ -90,7 +91,7 @@ func (c *Client) BeginRequest(xid uint32, cfg RequestConfig) error { c.state = StateInit c.currentXID = xid c.reqHostname = cfg.Hostname - c.reqIP = addr4{addr: cfg.RequestedAddr, valid: true} + c.reqIP = addr4{addr: cfg.RequestedAddr, valid: !internal.IsZeroed(cfg.RequestedAddr[:]...)} // TODO(pato): what's lighter? Comparing the [4]byte or ...byte c.clientMAC = cfg.ClientHardwareAddr if cfg.ClientID != "" { c.clientID = append(c.clientID[:0], cfg.ClientID...) diff --git a/x/xnet/stack-async.go b/x/xnet/stack-async.go index 9549b2d..5e7469e 100644 --- a/x/xnet/stack-async.go +++ b/x/xnet/stack-async.go @@ -564,8 +564,3 @@ func addr4(addr [4]byte, ok bool) netip.Addr { } return netip.AddrFrom4(addr) } - -func hash(b []byte) uint16 { - var csum lneto.CRC791 - return csum.PayloadSum16(b) -}