Skip to content

Commit 1a30688

Browse files
committed
add some testcases about invalid MTUs
Signed-off-by: Bruce Ma <brucema19901024@gmail.com>
1 parent bee8d6c commit 1a30688

1 file changed

Lines changed: 71 additions & 0 deletions

File tree

plugins/main/vlan/vlan_test.go

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -408,4 +408,75 @@ var _ = Describe("vlan Operations", func() {
408408
})
409409
Expect(err).NotTo(HaveOccurred())
410410
})
411+
412+
Describe("fails to create vlan link with invalid MTU", func() {
413+
conf := `{
414+
"cniVersion": "0.3.1",
415+
"name": "mynet",
416+
"type": "vlan",
417+
"master": "%s",
418+
"mtu": %d,
419+
"ipam": {
420+
"type": "host-local",
421+
"subnet": "10.1.2.0/24"
422+
}
423+
}`
424+
BeforeEach(func() {
425+
var err error
426+
err = originalNS.Do(func(ns.NetNS) error {
427+
defer GinkgoRecover()
428+
429+
// set master link's MTU to 1500
430+
link, err := netlink.LinkByName(MASTER_NAME)
431+
Expect(err).NotTo(HaveOccurred())
432+
err = netlink.LinkSetMTU(link, 1500)
433+
Expect(err).NotTo(HaveOccurred())
434+
435+
return nil
436+
})
437+
Expect(err).NotTo(HaveOccurred())
438+
})
439+
440+
It("fails to create vlan link with greater MTU than master interface", func() {
441+
var err error
442+
443+
args := &skel.CmdArgs{
444+
ContainerID: "dummy",
445+
Netns: "/var/run/netns/test",
446+
IfName: "eth0",
447+
StdinData: []byte(fmt.Sprintf(conf, MASTER_NAME, 1600)),
448+
}
449+
450+
_ = originalNS.Do(func(netNS ns.NetNS) error {
451+
defer GinkgoRecover()
452+
453+
_, _, err = testutils.CmdAddWithArgs(args, func() error {
454+
return cmdAdd(args)
455+
})
456+
Expect(err).To(Equal(fmt.Errorf("invalid MTU 1600, must be [0, master MTU(1500)]")))
457+
return nil
458+
})
459+
})
460+
461+
It("fails to create vlan link with negative MTU", func() {
462+
var err error
463+
464+
args := &skel.CmdArgs{
465+
ContainerID: "dummy",
466+
Netns: "/var/run/netns/test",
467+
IfName: "eth0",
468+
StdinData: []byte(fmt.Sprintf(conf, MASTER_NAME, -100)),
469+
}
470+
471+
_ = originalNS.Do(func(netNS ns.NetNS) error {
472+
defer GinkgoRecover()
473+
474+
_, _, err = testutils.CmdAddWithArgs(args, func() error {
475+
return cmdAdd(args)
476+
})
477+
Expect(err).To(Equal(fmt.Errorf("invalid MTU -100, must be [0, master MTU(1500)]")))
478+
return nil
479+
})
480+
})
481+
})
411482
})

0 commit comments

Comments
 (0)