2023-05-29 07:16:50 +00:00
|
|
|
//go:build linux
|
|
|
|
|
|
2023-05-29 06:55:54 +00:00
|
|
|
package netlink
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"fmt"
|
|
|
|
|
|
|
|
|
|
"github.com/vishvananda/netlink"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
}
|