mirror of
https://github.com/cloudnativelabs/kube-router.git
synced 2025-10-13 19:01:05 +02:00
22 lines
362 B
Go
22 lines
362 B
Go
package rtlink
|
|
|
|
import (
|
|
"github.com/hkwi/nlgo"
|
|
"syscall"
|
|
)
|
|
|
|
type RtSock nlgo.NlSock
|
|
|
|
func Open() (*RtSock, error) {
|
|
sk := nlgo.NlSocketAlloc()
|
|
if err := nlgo.NlConnect(sk, syscall.NETLINK_ROUTE); err != nil {
|
|
nlgo.NlSocketFree(sk)
|
|
return nil, err
|
|
}
|
|
return (*RtSock)(sk), nil
|
|
}
|
|
|
|
func (sock *RtSock) Close() {
|
|
nlgo.NlSocketFree((*nlgo.NlSock)(sock))
|
|
}
|