package main /* import ( // "os" // "os/exec" // "log" // "net" // "unix" "github.com/vishvananda/netlink" "github.com/jsimonetti/rtnetlink" // "git.wit.org/wit/gui" // "github.com/davecgh/go-spew/spew" ) // In golang, write a function to register with netlink to detect changes to any network interface Use tab indentation. Do not include example usage. func registerNetlink() error { // Create netlink socket sock, err := netlink.Socket(rtnetlink.NETLINK_ROUTE, 0) if err != nil { return err } // Register for interface change events err = netlink.AddMembership(sock, netlink.RTNLGRP_LINK) if err != nil { return err } // Close the socket defer sock.Close() // Handle incoming notifications for { msgs, _, err := sock.Receive() if err != nil { return err } for _, msg := range msgs { switch msg.Header.Type { case unix.RTM_NEWLINK: // Do something with new link case unix.RTM_DELLINK: // Do something with deleted link } } } return nil } */