feature-25 #26

Manually merged
nicolas.boufideline merged 21 commits from feature-25 into main 2026-05-18 17:44:48 +00:00
2 changed files with 37 additions and 0 deletions
Showing only changes of commit bf9f871fe1 - Show all commits

f-25: netif: Add tap handle

Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
GnomeZworc 2026-04-26 16:28:54 +02:00
Signed by: nicolas.boufideline
GPG key ID: 4406BBBF8845D632

View file

@ -0,0 +1,28 @@
//go:build linux
package netif
import (
"fmt"
"git.g3e.fr/syonad/two/internal/netns"
"github.com/vishvananda/netlink"
)
func CreateTap(tapID int, bridgeName, vpcName string) error {
name := fmt.Sprintf("tap%d", tapID)
return netns.Call(vpcName, func() error {
tap := &netlink.Tuntap{
LinkAttrs: netlink.LinkAttrs{Name: name},
Mode: netlink.TUNTAP_MODE_TAP,
}
if err := netlink.LinkAdd(tap); err != nil {
return err
}
if err := BridgeSetMaster(name, bridgeName); err != nil {
return err
}
return LinkSetUp(name)
})
}

View file

@ -0,0 +1,9 @@
//go:build !linux
package netif
import "errors"
func CreateTap(_ int, _, _ string) error {
return errors.New("netif: tap not supported on this platform")
}