mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-07-04 11:06:21 +00:00
test: Add test to verify tc redirect
The test verifies tc filter setup by creating a test veth interface. Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
This commit is contained in:
parent
e20dbd04e0
commit
5da973d465
@ -340,3 +340,41 @@ func TestCreateMacVtap(t *testing.T) {
|
|||||||
err = netHandle.LinkDel(brLink)
|
err = netHandle.LinkDel(brLink)
|
||||||
assert.NoError(err)
|
assert.NoError(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestTcRedirectNetwork(t *testing.T) {
|
||||||
|
if os.Geteuid() != 0 {
|
||||||
|
t.Skip(testDisabledAsNonRoot)
|
||||||
|
}
|
||||||
|
|
||||||
|
assert := assert.New(t)
|
||||||
|
|
||||||
|
netHandle, err := netlink.NewHandle()
|
||||||
|
assert.NoError(err)
|
||||||
|
defer netHandle.Delete()
|
||||||
|
|
||||||
|
// Create a test veth interface.
|
||||||
|
vethName := "foo"
|
||||||
|
veth := &netlink.Veth{LinkAttrs: netlink.LinkAttrs{Name: vethName, TxQLen: 200, MTU: 1400}, PeerName: "bar"}
|
||||||
|
|
||||||
|
err = netlink.LinkAdd(veth)
|
||||||
|
assert.NoError(err)
|
||||||
|
|
||||||
|
endpoint, err := createVethNetworkEndpoint(1, vethName, NetXConnectTCFilterModel)
|
||||||
|
assert.NoError(err)
|
||||||
|
|
||||||
|
link, err := netlink.LinkByName(vethName)
|
||||||
|
assert.NoError(err)
|
||||||
|
|
||||||
|
err = netHandle.LinkSetUp(link)
|
||||||
|
assert.NoError(err)
|
||||||
|
|
||||||
|
err = setupTCFiltering(endpoint, 1, true)
|
||||||
|
assert.NoError(err)
|
||||||
|
|
||||||
|
err = removeTCFiltering(endpoint)
|
||||||
|
assert.NoError(err)
|
||||||
|
|
||||||
|
// Remove the veth created for testing.
|
||||||
|
err = netHandle.LinkDel(link)
|
||||||
|
assert.NoError(err)
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user