Skip to content
This repository has been archived by the owner on May 12, 2021. It is now read-only.

Commit

Permalink
tests: Add additional network tests to verifu link creation functions
Browse files Browse the repository at this point in the history
Add tests to verify bridge, tap and macvtap link creation.

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
  • Loading branch information
amshinde committed Oct 3, 2018
1 parent 378191a commit 3c7cf58
Showing 1 changed file with 93 additions and 0 deletions.
93 changes: 93 additions & 0 deletions virtcontainers/network_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -706,3 +706,96 @@ func TestGenerateRandomPrivateMacAdd(t *testing.T) {

assert.NotEqual(addr1, addr2)
}

func TestCreateGetBridgeLink(t *testing.T) {
if os.Geteuid() != 0 {
t.Skip(testDisabledAsNonRoot)
}

assert := assert.New(t)

netHandle, err := netlink.NewHandle()
defer netHandle.Delete()

assert.NoError(err)

brName := "testbr0"
brLink, _, err := createLink(netHandle, brName, &netlink.Bridge{}, 1)
assert.NoError(err)
assert.NotNil(brLink)

brLink, err = getLinkByName(netHandle, brName, &netlink.Bridge{})
assert.NoError(err)

err = netHandle.LinkDel(brLink)
assert.NoError(err)
}

func TestCreateGetTunTapLink(t *testing.T) {
if os.Geteuid() != 0 {
t.Skip(testDisabledAsNonRoot)
}

assert := assert.New(t)

netHandle, err := netlink.NewHandle()
defer netHandle.Delete()

assert.NoError(err)

tapName := "testtap0"
tapLink, fds, err := createLink(netHandle, tapName, &netlink.Tuntap{}, 1)
assert.NoError(err)
assert.NotNil(tapLink)
assert.NotZero(len(fds))

tapLink, err = getLinkByName(netHandle, tapName, &netlink.Tuntap{})
assert.NoError(err)

err = netHandle.LinkDel(tapLink)
assert.NoError(err)
}

func TestCreateMacVtap(t *testing.T) {
if os.Geteuid() != 0 {
t.Skip(testDisabledAsNonRoot)
}

assert := assert.New(t)

netHandle, err := netlink.NewHandle()
defer netHandle.Delete()

assert.NoError(err)

brName := "testbr0"
brLink, _, err := createLink(netHandle, brName, &netlink.Bridge{}, 1)
assert.NoError(err)

attrs := brLink.Attrs()

mcLink := &netlink.Macvtap{
Macvlan: netlink.Macvlan{
LinkAttrs: netlink.LinkAttrs{
TxQLen: attrs.TxQLen,
ParentIndex: attrs.Index,
},
},
}

macvtapName := "testmc0"
_, err = createMacVtap(netHandle, macvtapName, mcLink, 1)
assert.NoError(err)

macvtapLink, err := getLinkByName(netHandle, macvtapName, &netlink.Macvtap{})
assert.NoError(err)

err = netHandle.LinkDel(macvtapLink)
assert.NoError(err)

brLink, err = getLinkByName(netHandle, brName, &netlink.Bridge{})
assert.NoError(err)

err = netHandle.LinkDel(brLink)
assert.NoError(err)
}

0 comments on commit 3c7cf58

Please sign in to comment.