Skip to content

Commit c3b45b4

Browse files
committed
fix(snmp): support IPv6 in ICMP health check ping
1 parent b70d650 commit c3b45b4

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

inputs/snmp/instances.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,16 @@ func fastPingRtt(ip string, timeout int) (float64, error) {
376376
var rt float64
377377
rt = -1
378378
p := fastping.NewPinger()
379-
ra, err := net.ResolveIPAddr("ip4:icmp", ip)
379+
380+
// Strip brackets from IPv6 addresses (e.g. "[::1]" -> "::1")
381+
host := strings.TrimRight(strings.TrimLeft(ip, "["), "]")
382+
383+
network := "ip4:icmp"
384+
if parsed := net.ParseIP(host); parsed != nil && parsed.To4() == nil {
385+
network = "ip6:ipv6-icmp"
386+
}
387+
388+
ra, err := net.ResolveIPAddr(network, host)
380389
if err != nil {
381390
return -1, err
382391
}

0 commit comments

Comments
 (0)