github.com/mdlayher/socket.netlink.AttributeDecoder and netlink.AttributeEncoder types now have
methods for dealing with signed integers: Int8, Int16, Int32, and
Int64. These are necessary for working with rtnetlink's XDP APIs. Thanks
@fbegyn.github.com/google/go-cmp is no longer a (non-test) dependency of this module.netlink.OpError now has Message and Offset fields which are populated
when the kernel returns netlink extended acknowledgement data along with an
error code. The caller can turn on this option by using
netlink.Conn.SetOption(netlink.ExtendedAcknowledge, true).netlink.GetStrictCheck option can be used to tell the kernel to be more
strict when parsing requests. This enables more safety checks and can allow
the kernel to perform more advanced request filtering in subsystems such as
route netlink.netlink.SetBPF will no longer panic if an empty BPF filter is set.This is the first release of package netlink that only supports Go 1.12+. Users on older versions must use v1.1.1.
netlink.Conn no longer requires a locked OS thread for the vast majority of
operations, which should result in a significant speedup for highly concurrent
callers. Thanks @ti-mo.netlink.Conn.Close are now able to unblock concurrent calls to
netlink.Conn.Receive and other blocking operations.This is the last release of package netlink that supports Go 1.11.
netlink.Conn SetReadBuffer and SetWriteBuffer methods now attempt the
SO_*BUFFORCE socket options to possibly ignore system limits given elevated
caller permissions. Thanks @MarkusBauer.netlink.Conn.Close has had a long-standing bug
#162 related to internal
concurrency handling where a call to Close is not sufficient to unblock
pending reads. To effectively fix this issue, it is necessary to drop support
for Go 1.11 and below. This will be fixed in a future release, but a
workaround is noted in the method documentation as of now.netlink.AttributeDecoder.TypeFlags method enables retrieval of the type bits
stored in a netlink attribute's type field, because the existing Type method
masks away these bits. Thanks @ti-mo!netlink.AttributeDecoder
now decodes netlink attributes on demand, enabling callers who only need a
limited number of attributes to exit early from decoding loops. Thanks @ti-mo!netlink.Conn
system calls are now ready for Go 1.14+'s changes to goroutine preemption.
See the PR for details.