Kaynağa Gözat

Size send failure heads from the header length and tolerate a missing lighthouse

JackDoan 16 saat önce
ebeveyn
işleme
44e3365d4f
2 değiştirilmiş dosya ile 7 ekleme ve 3 silme
  1. 1 1
      hostmap.go
  2. 6 2
      overlay/batch/tx_batch.go

+ 1 - 1
hostmap.go

@@ -783,7 +783,7 @@ func (i *HostInfo) remoteUnreachable(ifce *Interface, dead netip.AddrPort) {
 		// Nothing to probe with, or we already moved on from the remote that failed
 		return
 	}
-	if ifce.lightHouse.amLighthouse {
+	if ifce.lightHouse == nil || ifce.lightHouse.amLighthouse {
 		// A lighthouse hands out the address it reaches a client on, it must not go roaming its clients itself
 		return
 	}

+ 6 - 2
overlay/batch/tx_batch.go

@@ -1,11 +1,15 @@
 package batch
 
-import "net/netip"
+import (
+	"net/netip"
+
+	"github.com/slackhq/nebula/header"
+)
 
 const SendBatchCap = 128
 
 // FailureHeadLen is how much of a refused packet a Failure keeps, nebula's header, which says whose packet it was
-const FailureHeadLen = 16
+const FailureHeadLen = header.Len
 
 // batchWriter is the minimal subset of udp.Conn needed by SendBatch to flush.
 type batchWriter interface {