make linter happy
This commit is contained in:
parent
17bc5b2a45
commit
3205e30083
14
main.go
14
main.go
|
@ -16,6 +16,7 @@ import (
|
||||||
"golang.org/x/sys/unix"
|
"golang.org/x/sys/unix"
|
||||||
|
|
||||||
"github.com/jsimonetti/rtnetlink"
|
"github.com/jsimonetti/rtnetlink"
|
||||||
|
"github.com/lemmi/closer"
|
||||||
"github.com/mdlayher/netlink"
|
"github.com/mdlayher/netlink"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -66,7 +67,7 @@ func newRouteStats() *routeStats {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func DstIPNet(rm rtnetlink.RouteMessage) *net.IPNet {
|
func dstIPNet(rm rtnetlink.RouteMessage) *net.IPNet {
|
||||||
var zeros int
|
var zeros int
|
||||||
switch rm.Family {
|
switch rm.Family {
|
||||||
case unix.AF_INET:
|
case unix.AF_INET:
|
||||||
|
@ -86,17 +87,19 @@ func (rs *routeStats) add(rm rtnetlink.RouteMessage) {
|
||||||
rs.Lock()
|
rs.Lock()
|
||||||
defer rs.Unlock()
|
defer rs.Unlock()
|
||||||
|
|
||||||
dst := DstIPNet(rm)
|
dst := dstIPNet(rm)
|
||||||
key := dst.String()
|
key := dst.String()
|
||||||
r := rs.stats[key]
|
r := rs.stats[key]
|
||||||
if r == nil {
|
if r == nil {
|
||||||
r = &route{Dst: dst}
|
r = &route{Dst: dst}
|
||||||
}
|
}
|
||||||
|
|
||||||
r.Counter++
|
r.Counter++
|
||||||
if r.UnreachableSince == nil {
|
if r.UnreachableSince == nil {
|
||||||
t := time.Now()
|
t := time.Now()
|
||||||
r.UnreachableSince = &t
|
r.UnreachableSince = &t
|
||||||
}
|
}
|
||||||
|
|
||||||
rs.stats[key] = r
|
rs.stats[key] = r
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,15 +107,16 @@ func (rs *routeStats) del(rm rtnetlink.RouteMessage) {
|
||||||
rs.Lock()
|
rs.Lock()
|
||||||
defer rs.Unlock()
|
defer rs.Unlock()
|
||||||
|
|
||||||
dst := DstIPNet(rm)
|
dst := dstIPNet(rm)
|
||||||
key := dst.String()
|
key := dst.String()
|
||||||
r := rs.stats[key]
|
r := rs.stats[key]
|
||||||
if r == nil {
|
if r == nil {
|
||||||
r = &route{Dst: dst}
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
r.UnreachableDuration += time.Since(*r.UnreachableSince)
|
r.UnreachableDuration += time.Since(*r.UnreachableSince)
|
||||||
r.UnreachableSince = nil
|
r.UnreachableSince = nil
|
||||||
|
|
||||||
rs.stats[key] = r
|
rs.stats[key] = r
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -157,7 +161,7 @@ func monitor(done <-chan struct{}, rs *routeStats) {
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
<-done
|
<-done
|
||||||
c.Close()
|
closer.Do(c)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
if err = c.SetReadBuffer(16 * 1048576); err != nil {
|
if err = c.SetReadBuffer(16 * 1048576); err != nil {
|
||||||
|
|
Loading…
Reference in New Issue