ipn/local: don't print packet filter every single time.
It's extremely noisy right now for domains with complex ACLs.pull/220/head
parent
a56e853b72
commit
4336de0d98
|
@ -37,6 +37,7 @@ type LocalBackend struct {
|
||||||
backendLogID string
|
backendLogID string
|
||||||
portpoll *portlist.Poller // may be nil
|
portpoll *portlist.Poller // may be nil
|
||||||
newDecompressor func() (controlclient.Decompressor, error)
|
newDecompressor func() (controlclient.Decompressor, error)
|
||||||
|
lastFilterPrint time.Time
|
||||||
|
|
||||||
// The mutex protects the following elements.
|
// The mutex protects the following elements.
|
||||||
mu sync.Mutex
|
mu sync.Mutex
|
||||||
|
@ -310,7 +311,15 @@ func (b *LocalBackend) updateFilter(netMap *controlclient.NetworkMap) {
|
||||||
// Not configured yet, block everything
|
// Not configured yet, block everything
|
||||||
b.e.SetFilter(filter.NewAllowNone())
|
b.e.SetFilter(filter.NewAllowNone())
|
||||||
} else {
|
} else {
|
||||||
|
// TODO(apenwarr): don't replace filter at all if unchanged.
|
||||||
|
// TODO(apenwarr): print a diff instead of full filter.
|
||||||
|
now := time.Now()
|
||||||
|
if now.Sub(b.lastFilterPrint) > 1*time.Minute {
|
||||||
b.logf("netmap packet filter: %v\n", b.netMapCache.PacketFilter)
|
b.logf("netmap packet filter: %v\n", b.netMapCache.PacketFilter)
|
||||||
|
b.lastFilterPrint = now
|
||||||
|
} else {
|
||||||
|
b.logf("netmap packet filter: (suppressed)\n")
|
||||||
|
}
|
||||||
b.e.SetFilter(filter.New(netMap.PacketFilter))
|
b.e.SetFilter(filter.New(netMap.PacketFilter))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue