mirror of
https://github.com/fumiama/WireGold.git
synced 2026-06-06 00:10:25 +08:00
23 lines
692 B
Go
23 lines
692 B
Go
//go:build linux
|
|
// +build linux
|
|
|
|
package lower
|
|
|
|
func (n *NIC) Up() {
|
|
execute("/sbin/ip", "link", "set", "dev", n.ifce.Name(), "mtu", n.mtu)
|
|
execute("/sbin/ip", "addr", "add", n.ip, "dev", n.ifce.Name())
|
|
execute("/sbin/ip", "link", "set", "dev", n.ifce.Name(), "up")
|
|
execute("/sbin/ip", "route", "add", n.subnet, "dev", n.ifce.Name())
|
|
for _, c := range n.cidrs {
|
|
execute("/sbin/ip", "route", "add", c, "dev", n.ifce.Name())
|
|
}
|
|
}
|
|
|
|
func (n *NIC) Down() {
|
|
execute("/sbin/ip", "route", "del", n.subnet, "dev", n.ifce.Name())
|
|
for _, c := range n.cidrs {
|
|
execute("/sbin/ip", "route", "del", c, "dev", n.ifce.Name())
|
|
}
|
|
execute("/sbin/ip", "link", "set", "dev", n.ifce.Name(), "down")
|
|
}
|