Files
openlan/pkg/network/iputils_linux.go
2025-04-20 09:22:04 +08:00

78 lines
1.8 KiB
Go
Executable File

package network
import (
"os/exec"
)
func LinkAdd(name string, opts ...string) ([]byte, error) {
args := append([]string{
"link", "add", name,
}, opts...)
return exec.Command("ip", args...).CombinedOutput()
}
func LinkSet(name string, opts ...string) ([]byte, error) {
args := append([]string{
"link", "set", name,
}, opts...)
return exec.Command("ip", args...).CombinedOutput()
}
func LinkDel(name string, opts ...string) ([]byte, error) {
args := append([]string{
"link", "del", name,
}, opts...)
return exec.Command("ip", args...).CombinedOutput()
}
func LinkUp(name string) ([]byte, error) {
args := []string{
"link", "set", "dev", name, "up",
}
return exec.Command("ip", args...).CombinedOutput()
}
func LinkDown(name string) ([]byte, error) {
args := []string{
"link", "set", "dev", name, "down",
}
return exec.Command("ip", args...).CombinedOutput()
}
func AddrAdd(name, addr string, opts ...string) ([]byte, error) {
args := append([]string{
"address", "add", addr, "dev", name,
}, opts...)
return exec.Command("ip", args...).CombinedOutput()
}
func AddrDel(name, addr string) ([]byte, error) {
args := []string{
"address", "del", addr, "dev", name,
}
return exec.Command("ip", args...).CombinedOutput()
}
func AddrShow(name string) []string {
return nil
}
func RouteAdd(name, prefix, nexthop string, opts ...string) ([]byte, error) {
args := []string{
"route", "replace", prefix, "via", nexthop,
}
args = append(args, opts...)
return exec.Command("ip", args...).CombinedOutput()
}
func RouteDel(name, prefix, nexthop string, opts ...string) ([]byte, error) {
args := []string{
"route", "del", prefix, "via", nexthop,
}
return exec.Command("ip", args...).CombinedOutput()
}
func RouteShow(name string) []string {
return nil
}