feature-14 #17
1 changed files with 38 additions and 0 deletions
f-14: code: add create bridge code #14
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
commit
9420a9f7b4
38
internal/netif/bridge.go
Normal file
38
internal/netif/bridge.go
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
package netif
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/vishvananda/netlink"
|
||||
)
|
||||
|
||||
func setBridgeSTP(bridge string, enable bool) error {
|
||||
path := fmt.Sprintf("/sys/class/net/%s/bridge/stp_state", bridge)
|
||||
|
||||
val := "0"
|
||||
if enable {
|
||||
val = "1"
|
||||
}
|
||||
|
||||
return os.WriteFile(path, []byte(val), 0644)
|
||||
}
|
||||
|
||||
func CreateBridge(name string, mtu int, stp bool) error {
|
||||
br := &netlink.Bridge{
|
||||
LinkAttrs: netlink.LinkAttrs{
|
||||
Name: name,
|
||||
MTU: mtu,
|
||||
},
|
||||
}
|
||||
|
||||
if err := netlink.LinkAdd(br); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := netlink.LinkSetUp(br); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return setBridgeSTP(name, stp)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue