28 lines
501 B
Go
28 lines
501 B
Go
package netlink
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/vishvananda/netlink"
|
|
)
|
|
|
|
//nolint:revive
|
|
const (
|
|
FAMILY_ALL = netlink.FAMILY_ALL
|
|
FAMILY_V4 = netlink.FAMILY_V4
|
|
FAMILY_V6 = netlink.FAMILY_V6
|
|
)
|
|
|
|
func (n *NetLink) IsWireguardSupported() (ok bool, err error) {
|
|
families, err := netlink.GenlFamilyList()
|
|
if err != nil {
|
|
return false, fmt.Errorf("listing gen 1 families: %w", err)
|
|
}
|
|
for _, family := range families {
|
|
if family.Name == "wireguard" {
|
|
return true, nil
|
|
}
|
|
}
|
|
return false, nil
|
|
}
|