rtnetlink/driver/driver.go
Jeroen Simonetti 5c41262525
Implement additional drivers (#280)
Add drivers for bridge, macvlan, vlan, vxlan and add helpers to
LinkService to use them (SetMaster, RemoveMaster)

Signed-off-by: Jeroen Simonetti <jeroen@simonetti.nl>
2025-10-30 22:55:44 +01:00

29 lines
726 B
Go

// Package driver provides link type specific decoding and encoding types
// for use with the rtnetlink library.
package driver
import (
"github.com/jsimonetti/rtnetlink/v2"
)
// init registers predefined drivers with the rtnetlink package.
//
// Currently, registering driver implementations that conflict with existing ones isn't supported.
// Since most users don't need this feature, we'll keep it as is.
// If required, we could consider implementing rtnetlink.UnregisterDriver to address this.
func init() {
for _, drv := range []rtnetlink.LinkDriver{
&Bond{},
&BondSlave{},
&Bridge{},
&BridgePort{},
&Macvlan{},
&Netkit{},
&Veth{},
&Vlan{},
&Vxlan{},
} {
_ = rtnetlink.RegisterDriver(drv)
}
}