const FAMILY_ALL …
const FAMILY_V4 …
const FAMILY_V6 …
const FAMILY_MPLS …
const RECEIVE_BUFFER_SIZE …
const PidKernel …
const SizeofCnMsgOp …
var SupportedNlFamilies …
var nextSeqNr …
var SocketTimeoutTv …
var EnableErrorMessageReporting …
func GetIPFamily(ip net.IP) int { … }
var nativeEndian …
func NativeEndian() binary.ByteOrder { … }
func Swap16(i uint16) uint16 { … }
func Swap32(i uint32) uint32 { … }
const NLMSGERR_ATTR_UNUSED …
const NLMSGERR_ATTR_MSG …
const NLMSGERR_ATTR_OFFS …
const NLMSGERR_ATTR_COOKIE …
const NLMSGERR_ATTR_POLICY …
type NetlinkRequestData …
const PROC_CN_MCAST_LISTEN …
const PROC_CN_MCAST_IGNORE …
type CbID …
type CnMsg …
type CnMsgOp …
func NewCnMsg(idx, val, op uint32) *CnMsgOp { … }
func (msg *CnMsgOp) Serialize() []byte { … }
func DeserializeCnMsgOp(b []byte) *CnMsgOp { … }
func (msg *CnMsgOp) Len() int { … }
type IfInfomsg …
func NewIfInfomsg(family int) *IfInfomsg { … }
func DeserializeIfInfomsg(b []byte) *IfInfomsg { … }
func (msg *IfInfomsg) Serialize() []byte { … }
func (msg *IfInfomsg) Len() int { … }
func (msg *IfInfomsg) EncapType() string { … }
func nlmAlignOf(msglen int) int { … }
func rtaAlignOf(attrlen int) int { … }
func NewIfInfomsgChild(parent *RtAttr, family int) *IfInfomsg { … }
type Uint32Bitfield …
func (a *Uint32Bitfield) Serialize() []byte { … }
func DeserializeUint32Bitfield(data []byte) *Uint32Bitfield { … }
type Uint32Attribute …
func (a *Uint32Attribute) Serialize() []byte { … }
func (a *Uint32Attribute) Len() int { … }
type RtAttr …
func NewRtAttr(attrType int, data []byte) *RtAttr { … }
func NewRtAttrChild(parent *RtAttr, attrType int, data []byte) *RtAttr { … }
func (a *RtAttr) AddRtAttr(attrType int, data []byte) *RtAttr { … }
func (a *RtAttr) AddChild(attr NetlinkRequestData) { … }
func (a *RtAttr) Len() int { … }
func (a *RtAttr) Serialize() []byte { … }
type NetlinkRequest …
func (req *NetlinkRequest) Serialize() []byte { … }
func (req *NetlinkRequest) AddData(data NetlinkRequestData) { … }
func (req *NetlinkRequest) AddRawData(data []byte) { … }
func (req *NetlinkRequest) Execute(sockType int, resType uint16) ([][]byte, error) { … }
func (req *NetlinkRequest) ExecuteIter(sockType int, resType uint16, f func(msg []byte) bool) error { … }
func dummyMsgIterFunc(msg []byte) bool { … }
func NewNetlinkRequest(proto, flags int) *NetlinkRequest { … }
type NetlinkSocket …
func getNetlinkSocket(protocol int) (*NetlinkSocket, error) { … }
func GetNetlinkSocketAt(newNs, curNs netns.NsHandle, protocol int) (*NetlinkSocket, error) { … }
func executeInNetns(newNs, curNs netns.NsHandle) (func(), error) { … }
func Subscribe(protocol int, groups ...uint) (*NetlinkSocket, error) { … }
func SubscribeAt(newNs, curNs netns.NsHandle, protocol int, groups ...uint) (*NetlinkSocket, error) { … }
func (s *NetlinkSocket) Close() { … }
func (s *NetlinkSocket) GetFd() int { … }
func (s *NetlinkSocket) GetTimeouts() (send, receive time.Duration) { … }
func (s *NetlinkSocket) Send(request *NetlinkRequest) error { … }
func (s *NetlinkSocket) Receive() ([]syscall.NetlinkMessage, *unix.SockaddrNetlink, error) { … }
func (s *NetlinkSocket) SetSendTimeout(timeout *unix.Timeval) error { … }
func (s *NetlinkSocket) SetReceiveTimeout(timeout *unix.Timeval) error { … }
func (s *NetlinkSocket) SetReceiveBufferSize(size int, force bool) error { … }
func (s *NetlinkSocket) SetExtAck(enable bool) error { … }
func (s *NetlinkSocket) GetPid() (uint32, error) { … }
func ZeroTerminated(s string) []byte { … }
func NonZeroTerminated(s string) []byte { … }
func BytesToString(b []byte) string { … }
func Uint8Attr(v uint8) []byte { … }
func Uint16Attr(v uint16) []byte { … }
func BEUint16Attr(v uint16) []byte { … }
func Uint32Attr(v uint32) []byte { … }
func BEUint32Attr(v uint32) []byte { … }
func Uint64Attr(v uint64) []byte { … }
func BEUint64Attr(v uint64) []byte { … }
func ParseRouteAttr(b []byte) ([]syscall.NetlinkRouteAttr, error) { … }
func ParseRouteAttrAsMap(b []byte) (map[uint16]syscall.NetlinkRouteAttr, error) { … }
func netlinkRouteAttrAndValue(b []byte) (*unix.RtAttr, []byte, int, error) { … }
type SocketHandle …
func (sh *SocketHandle) Close() { … }