netlink

package
v0.0.0-...-846a3b6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 14, 2021 License: GPL-3.0 Imports: 2 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsDelAddr

func IsDelAddr(msg *syscall.NetlinkMessage) bool

IsDelAddr checking message type for syscall.RTM_RTM_DELADDRNEWADDR

func IsNewAddr

func IsNewAddr(msg *syscall.NetlinkMessage) bool

IsNewAddr checking message type for syscall.RTM_NEWADDR

Types

type Listener

type Listener struct {
	// contains filtered or unexported fields
}

Listener provides possibility to listen for a netlink messages

Usage example:

l, err := CreateListener()
if err != nil {
	fmt.Println("Failed to initialize netlink listener: %s", err)
	return
}
for {
	msgs, err := l.ReadMsgs()
	if err != nil {
		fmt.Println("Could not read netlink messages: %s", err)
	}
	for _, m := range msgs {
		if IsNewAddr(&m) || IsDelAddr(&m) {
			fmt.Println("Address changed")
		}
	}
}

func CreateListener

func CreateListener() (*Listener, error)

CreateListener creates new NetlinkListener object

func (*Listener) ReadMsgs

func (l *Listener) ReadMsgs() ([]syscall.NetlinkMessage, error)

ReadMsgs return received messages

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL