-
Notifications
You must be signed in to change notification settings - Fork 679
handle gracefully add/delete of vethwedu dummy interface #3459
base: master
Are you sure you want to change the base?
Conversation
net/bridge.go
Outdated
| } | ||
| defer func() { | ||
| var dummyIf netlink.Link | ||
| dummyIf, err = netlink.LinkByName(WeaveDummyIfName) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we just use dummy here ?
net/bridge.go
Outdated
| } | ||
| defer func() { | ||
| var dummy netlink.Link | ||
| dummy, err = netlink.LinkByName(WeaveDummyIfName) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we just re-use the dummy variable that was initialized earlier, instead of creating a new one?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you don't even have to assign to it - the initialization earlier leaves dummy in a state where you can just use it. Unless I'm missing something?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right. I changed the logic to re-use dummy. PTAL
aa6db6c to
7f85a01
Compare
| } | ||
| defer func() { | ||
| if err = netlink.LinkDel(dummy); err != nil { | ||
| err = errors.Wrap(err, "deleting dummy interface") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think assigning to the local variable err at this point has no effect.
If err is made a named return value from initPrep it would work, but suppose both LinkSetMTU and LinkDel fail, we'd only see one error.
Maybe use a different err to record the LinkDel() result and use Wrap() to add the previous error (if any).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, Wrap() can only wrap one error. Maybe just add the text of this one to the previous one, if it exists.
use
LinkAddIfNotExistto add dummy interface, and delete dummy interface indeferblockfixes #3414