Description
Hey folks,
I recently ran into an issue trying to build code that imports nclient4
on macOS/BSD-likes:
% GOOS=freebsd go build .
../../go/pkg/mod/github.com/insomniacslk/[email protected]/dhcpv4/nclient4/conn_unix.go:42:59: undefined: unix.ETH_P_IP
dhcp/dhcpv4/nclient4/conn_unix.go
Line 42 in c728f5d
Upon looking this symbol up, I found that it is build-scoped to Linux platforms only: https://cs.opensource.google/go/x/sys/+/master:unix/zerrors_linux.go;drc=5710a32031f3498e357d801987a07d9638c4fa11;l=1091
which kind of conflicts with the build-scoping of the file itself:
dhcp/dhcpv4/nclient4/conn_unix.go
Line 7 in c728f5d
Would it be possible to move this specific function into a Linux build-scoped file?
To give you some context: I'm working on a multi-platform DHCP "swiss knife", and I added support for BSD-likes in my code using the (now deprecated) github.com/mdlayher/raw
module that you migrated off of. I couldn't find anything like it, and it seems like those wanting to use raw BSD network sockets are stuck with it for now.
If you folks happen to be interested in this code even with this caveat, please let me know and I'll work on "upstreaming" BSD support for the DHCPv4 client. :)