Skip to content

Commit 2340189

Browse files
authored
Bridged networking: bring up the TAP interface (#33)
Otherwise we'll get an I/O error when attempting to read or write from that TAP interface from Cloud Hypervisor.
1 parent 3d985f5 commit 2340189

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

Diff for: internal/network/bridged/bridged.go

+8-2
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,18 @@ func New(bridgeName string) (*Network, error) {
3030
// Locate the TAP interface
3131
tapLink, err := netlink.LinkByName(tapName)
3232
if err != nil {
33-
return nil, fmt.Errorf("bridge %q not found: %v", bridgeName, err)
33+
return nil, fmt.Errorf("failed to find the TAP interface %q that we've just created: %v",
34+
tapName, err)
35+
}
36+
37+
// Bring the TAP interface up
38+
if err := netlink.LinkSetUp(tapLink); err != nil {
39+
return nil, fmt.Errorf("failed to bring the TAP interface %q up: %v", tapName, err)
3440
}
3541

3642
// Attach the TAP interface to the bridge
3743
if err := netlink.LinkSetMaster(tapLink, bridgeLink); err != nil {
38-
return nil, fmt.Errorf("failed to attach TAP interface %q to the bridge interface %q: %v",
44+
return nil, fmt.Errorf("failed to attach the TAP interface %q to the bridge %q: %v",
3945
tapName, bridgeName, err)
4046
}
4147

0 commit comments

Comments
 (0)