engine, io: more caching + optimizations

This commit is contained in:
2026-05-12 13:31:19 +00:00
parent 4d70520e43
commit dc16b979e7
2 changed files with 36 additions and 19 deletions
+2 -6
View File
@@ -343,17 +343,13 @@ func lookupNeighborMACNetlink(target net.IP) (net.HardwareAddr, bool) {
func readIPv6NeighCommand() map[string]net.HardwareAddr {
commands := [][]string{
{"ip", "-6", "neigh", "show"},
{"/sbin/ip", "-6", "neigh", "show"},
{"/usr/sbin/ip", "-6", "neigh", "show"},
{"busybox", "ip", "-6", "neigh", "show"},
{"/bin/busybox", "ip", "-6", "neigh", "show"},
}
m := make(map[string]net.HardwareAddr)
for _, cmd := range commands {
out, err := exec.Command(cmd[0], cmd[1:]...).Output()
if err != nil || len(out) == 0 {
continue
}
m := make(map[string]net.HardwareAddr)
for _, line := range strings.Split(string(out), "\n") {
ip, mac, ok := parseNeighborLine(line)
if !ok {
@@ -365,7 +361,7 @@ func readIPv6NeighCommand() map[string]net.HardwareAddr {
return m
}
}
return map[string]net.HardwareAddr{}
return m
}
func parseNeighborLine(line string) (string, net.HardwareAddr, bool) {