rtnetlink/rtnl/conn.go
Ben Kochie 8026e5db33
Fix Go mod path (#226)
In order to update to v2.0.0, we need to update the module path per the
Go module documentation.
* https://go.dev/doc/modules/major-version

Fixes: https://github.com/jsimonetti/rtnetlink/issues/225

This can be released as v2.0.1

Signed-off-by: SuperQ <superq@gmail.com>
2024-05-10 16:40:56 +02:00

34 lines
790 B
Go

// Package rtnl provides a convenient API on top of the rtnetlink library.
package rtnl
import (
"github.com/jsimonetti/rtnetlink/v2"
"github.com/mdlayher/netlink"
)
// Conn represents the underlying netlink connection
type Conn struct {
Conn *rtnetlink.Conn // a route netlink connection
}
// Dial the netlink socket. Establishes a new connection. The typical initialisation is:
//
// conn, err := rtnl.Dial(nil)
// if err != nil {
// log.Fatal("can't establish netlink connection: ", err)
// }
// defer conn.Close()
// // use conn for your calls
func Dial(cfg *netlink.Config) (*Conn, error) {
conn, err := rtnetlink.Dial(cfg)
if err != nil {
return nil, err
}
return &Conn{Conn: conn}, nil
}
// Close the connection.
func (c *Conn) Close() error {
return c.Conn.Close()
}