1
0
mirror of https://github.com/fumiama/WireGold.git synced 2026-06-26 13:57:47 +08:00

optimize(lower): nic route setting

This commit is contained in:
源文雨
2024-07-17 14:08:59 +09:00
parent 04a3c9a10b
commit 58cb7e09a8
5 changed files with 38 additions and 26 deletions

View File

@@ -3,17 +3,24 @@
package lower
import "net"
func (n *NIC) Up() {
execute("ifconfig", n.ifce.Name(), "mtu", n.mtu) // max: 9159
execute("ifconfig", n.ifce.Name(), "inet", n.ip, n.ip, "up")
execute("route", "add", n.subnet, "-interface", n.ifce.Name())
execute(
"ifconfig", n.ifce.Name(),
"inet", n.ip.String(), n.ip.String(),
"netmask", (net.IP)(n.subnet.Mask).String(),
"up",
)
execute("route", "add", n.subnet.String(), "-interface", n.ifce.Name())
for _, c := range n.cidrs {
execute("route", "add", c, "-interface", n.ifce.Name())
}
}
func (n *NIC) Down() {
execute("route", "delete", n.subnet, "-interface", n.ifce.Name())
execute("route", "delete", n.subnet.String(), "-interface", n.ifce.Name())
for _, c := range n.cidrs {
execute("route", "delete", c, "-interface", n.ifce.Name())
}