Skip to content

Commit 1f33fb7

Browse files
authored
Merge pull request #438 from tnqn/vlan-multi-del
Fix vlan plugin returning error when device is already removed
2 parents 754e153 + db7e6cf commit 1f33fb7

2 files changed

Lines changed: 14 additions & 1 deletion

File tree

plugins/main/vlan/vlan.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ func cmdDel(args *skel.CmdArgs) error {
207207

208208
err = ns.WithNetNSPath(args.Netns, func(_ ns.NetNS) error {
209209
err = ip.DelLinkByName(args.IfName)
210-
if err != nil && err != ip.ErrLinkNotFound {
210+
if err != nil && err == ip.ErrLinkNotFound {
211211
return nil
212212
}
213213
return err

plugins/main/vlan/vlan_test.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,19 @@ var _ = Describe("vlan Operations", func() {
292292
return nil
293293
})
294294
Expect(err).NotTo(HaveOccurred())
295+
296+
// DEL can be called multiple times, make sure no error is returned
297+
// if the device is already removed.
298+
err = originalNS.Do(func(ns.NetNS) error {
299+
defer GinkgoRecover()
300+
301+
err = testutils.CmdDelWithArgs(args, func() error {
302+
return cmdDel(args)
303+
})
304+
Expect(err).NotTo(HaveOccurred())
305+
return nil
306+
})
307+
Expect(err).NotTo(HaveOccurred())
295308
})
296309

297310
It("configures and deconfigures an CNI V4 vlan link with ADD/CHECK/DEL", func() {

0 commit comments

Comments
 (0)