github.com/cilium/cilium@v1.16.2/pkg/datapath/linux/ethtool/ethtool_linux_test.go (about) 1 // SPDX-License-Identifier: Apache-2.0 2 // Copyright Authors of Cilium 3 4 package ethtool 5 6 import ( 7 "testing" 8 9 "github.com/vishvananda/netlink" 10 11 "github.com/cilium/cilium/pkg/testutils" 12 "github.com/cilium/cilium/pkg/testutils/netns" 13 ) 14 15 func TestIsVirtualDriver(t *testing.T) { 16 testutils.PrivilegedTest(t) 17 18 ns := netns.NewNetNS(t) 19 20 ns.Do(func() error { 21 name := "veth0" 22 veth := &netlink.Veth{ 23 LinkAttrs: netlink.LinkAttrs{Name: name}, 24 PeerName: "veth1", 25 } 26 err := netlink.LinkAdd(veth) 27 if err != nil { 28 t.Fatalf("failed to create veth link: %v", err) 29 } 30 defer netlink.LinkDel(veth) 31 32 isVirtual, err := IsVirtualDriver(name) 33 if err != nil { 34 t.Fatalf("error checking veth link %q: %v", name, err) 35 } else if !isVirtual { 36 t.Errorf("IsVirtualDriver(%q) = %t, want true", name, isVirtual) 37 } 38 return nil 39 }) 40 }