|
|
@@ -172,6 +172,7 @@ func (t *TunnelRunner) txLoopSecure() {
|
|
|
atomic.AddUint64(&t.compressedPackets, compressed)
|
|
|
atomic.AddUint64(&t.savedBytes, savedBytes)
|
|
|
atomic.AddUint64(&t.rawPackets, raw)
|
|
|
+ t.clearError()
|
|
|
}
|
|
|
sent += n
|
|
|
if err != nil || n == 0 {
|
|
|
@@ -198,6 +199,9 @@ func (t *TunnelRunner) allowedSource(b []byte) bool {
|
|
|
copy(ip[:], b[8:24])
|
|
|
src = netip.AddrFrom16(ip)
|
|
|
}
|
|
|
+ if src.IsLinkLocalUnicast() {
|
|
|
+ return true
|
|
|
+ }
|
|
|
for _, prefix := range t.allowed {
|
|
|
if prefix.Contains(src) {
|
|
|
return true
|
|
|
@@ -336,6 +340,7 @@ func (t *TunnelRunner) rxLoopSecure() {
|
|
|
atomic.AddUint64(&t.rxBytes, uint64(wrote))
|
|
|
atomic.AddUint64(&t.rawBytesIn, uint64(wrote))
|
|
|
atomic.AddUint64(&t.packetsRx, 1)
|
|
|
+ t.clearError()
|
|
|
}
|
|
|
}
|
|
|
}
|