func New() (*Client, bool, error) {
	c, err := genetlink.Dial(nil)
	if err != nil {
		return nil, false, err
	}
	return initClient(c)
}
New creates a new Client and returns whether or not the generic netlink
interface is available.
package wglinux
import (
	"errors"
	"fmt"
	"os"
	"syscall"
	"github.com/mdlayher/genetlink"
	"github.com/mdlayher/netlink"
	"github.com/mdlayher/netlink/nlenc"
	"golang.org/x/sys/unix"
	"golang.zx2c4.com/wireguard/wgctrl/internal/wginternal"
	"golang.zx2c4.com/wireguard/wgctrl/internal/wglinux/internal/wgh"
	"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
)
var _ wginternal.Client = &Client{}
type Client struct {
	c      *genetlink.Conn
	family genetlink.Family
	interfaces func() ([]string, error)
}