github.com/cilium/cilium@v1.16.2/pkg/datapath/linux/ethtool/ethtool_linux.go (about) 1 // SPDX-License-Identifier: Apache-2.0 2 // Copyright Authors of Cilium 3 4 package ethtool 5 6 import ( 7 "bytes" 8 9 "golang.org/x/sys/unix" 10 ) 11 12 func IsVirtualDriver(iface string) (bool, error) { 13 fd, err := unix.Socket(unix.AF_INET, unix.SOCK_DGRAM, unix.IPPROTO_IP) 14 if err != nil { 15 return false, err 16 } 17 defer unix.Close(fd) 18 19 info, err := unix.IoctlGetEthtoolDrvinfo(fd, iface) 20 if err != nil { 21 return false, err 22 } 23 return string(bytes.TrimRight(info.Driver[:], "\x00")) == "veth", nil 24 }