SYMBOL INDEX (1912 symbols across 162 files) FILE: allow_list.go type AllowList (line 12) | type AllowList struct method Allow (line 239) | func (al *AllowList) Allow(addr netip.Addr) bool { type RemoteAllowList (line 17) | type RemoteAllowList struct method AllowUnknownVpnAddr (line 270) | func (al *RemoteAllowList) AllowUnknownVpnAddr(vpnAddr netip.Addr) bool { method Allow (line 277) | func (al *RemoteAllowList) Allow(vpnAddr netip.Addr, udpAddr netip.Add... method AllowAll (line 284) | func (al *RemoteAllowList) AllowAll(vpnAddrs []netip.Addr, udpAddr net... method getInsideAllowList (line 298) | func (al *RemoteAllowList) getInsideAllowList(vpnAddr netip.Addr) *All... type LocalAllowList (line 25) | type LocalAllowList struct method Allow (line 248) | func (al *LocalAllowList) Allow(udpAddr netip.Addr) bool { method AllowName (line 255) | func (al *LocalAllowList) AllowName(name string) bool { type AllowListNameRule (line 32) | type AllowListNameRule struct function NewLocalAllowListFromConfig (line 37) | func NewLocalAllowListFromConfig(c *config.C, k string) (*LocalAllowList... function NewRemoteAllowListFromConfig (line 59) | func NewRemoteAllowListFromConfig(c *config.C, k, rangesKey string) (*Re... function newAllowListFromConfig (line 73) | func newAllowListFromConfig(c *config.C, k string, handleKey func(key st... function newAllowList (line 84) | func newAllowList(k string, raw any, handleKey func(key string, value an... function getAllowListInterfaces (line 171) | func getAllowListInterfaces(k string, v any) ([]AllowListNameRule, error) { function getRemoteAllowRanges (line 210) | func getRemoteAllowRanges(c *config.C, k string) (*bart.Table[*AllowList... FILE: allow_list_test.go function TestNewAllowListFromConfig (line 15) | func TestNewAllowListFromConfig(t *testing.T) { function TestAllowList_Allow (line 101) | func TestAllowList_Allow(t *testing.T) { function TestLocalAllowList_AllowName (line 124) | func TestLocalAllowList_AllowName(t *testing.T) { FILE: bits.go type Bits (line 8) | type Bits struct method Check (line 33) | func (b *Bits) Check(l *logrus.Logger, i uint64) bool { method Update (line 51) | func (b *Bits) Update(l *logrus.Logger, i uint64) bool { function NewBits (line 17) | func NewBits(bits uint64) *Bits { FILE: bits_test.go function TestBits (line 10) | func TestBits(t *testing.T) { function TestBitsLargeJumps (line 73) | func TestBitsLargeJumps(t *testing.T) { function TestBitsDupeCounter (line 90) | func TestBitsDupeCounter(t *testing.T) { function TestBitsOutOfWindowCounter (line 115) | func TestBitsOutOfWindowCounter(t *testing.T) { function TestBitsLostCounter (line 144) | func TestBitsLostCounter(t *testing.T) { function TestBitsLostCounterIssue1 (line 224) | func TestBitsLostCounterIssue1(t *testing.T) { function BenchmarkBits (line 280) | func BenchmarkBits(b *testing.B) { FILE: calculated_remote.go type calculatedRemote (line 18) | type calculatedRemote struct method String (line 41) | func (c *calculatedRemote) String() string { method ApplyV4 (line 45) | func (c *calculatedRemote) ApplyV4(addr netip.Addr) *V4AddrPort { method ApplyV6 (line 59) | func (c *calculatedRemote) ApplyV6(addr netip.Addr) *V6AddrPort { function newCalculatedRemote (line 24) | func newCalculatedRemote(cidr, maskCidr netip.Prefix, port int) (*calcul... function NewCalculatedRemotesFromConfig (line 79) | func NewCalculatedRemotesFromConfig(c *config.C, k string) (*bart.Table[... function newCalculatedRemotesListFromConfig (line 108) | func newCalculatedRemotesListFromConfig(cidr netip.Prefix, raw any) ([]*... function newCalculatedRemotesEntryFromConfig (line 126) | func newCalculatedRemotesEntryFromConfig(cidr netip.Prefix, raw any) (*c... FILE: calculated_remote_test.go function TestCalculatedRemoteApply (line 11) | func TestCalculatedRemoteApply(t *testing.T) { function Test_newCalculatedRemote (line 65) | func Test_newCalculatedRemote(t *testing.T) { FILE: cert/asn1.go function readOptionalASN1Boolean (line 10) | func readOptionalASN1Boolean(b *cryptobyte.String, out *bool, tag asn1.T... function readOptionalASN1Byte (line 33) | func readOptionalASN1Byte(b *cryptobyte.String, out *byte, tag asn1.Tag,... FILE: cert/ca_pool.go type CAPool (line 12) | type CAPool struct method AddCAFromPEM (line 59) | func (ncp *CAPool) AddCAFromPEM(pemBytes []byte) ([]byte, error) { method AddCA (line 74) | func (ncp *CAPool) AddCA(c Certificate) error { method BlocklistFingerprint (line 108) | func (ncp *CAPool) BlocklistFingerprint(f string) { method ResetCertBlocklist (line 113) | func (ncp *CAPool) ResetCertBlocklist() { method IsBlocklisted (line 119) | func (ncp *CAPool) IsBlocklisted(fingerprint string) bool { method VerifyCertificate (line 130) | func (ncp *CAPool) VerifyCertificate(now time.Time, c Certificate) (*C... method VerifyCachedCertificate (line 173) | func (ncp *CAPool) VerifyCachedCertificate(now time.Time, c *CachedCer... method verify (line 183) | func (ncp *CAPool) verify(c Certificate, now time.Time, certFp string,... method GetCAForCert (line 223) | func (ncp *CAPool) GetCAForCert(c Certificate) (*CachedCertificate, er... method GetFingerprints (line 238) | func (ncp *CAPool) GetFingerprints() []string { function NewCAPool (line 18) | func NewCAPool() *CAPool { function NewCAPoolFromPEM (line 31) | func NewCAPoolFromPEM(caPEMs []byte) (*CAPool, error) { function CheckCAConstraints (line 251) | func CheckCAConstraints(signer Certificate, sub Certificate) error { function checkCAConstraints (line 256) | func checkCAConstraints(signer Certificate, notBefore, notAfter time.Tim... FILE: cert/ca_pool_test.go function TestNewCAPoolFromBytes (line 13) | func TestNewCAPoolFromBytes(t *testing.T) { function TestCertificateV1_Verify (line 115) | func TestCertificateV1_Verify(t *testing.T) { function TestCertificateV1_VerifyP256 (line 160) | func TestCertificateV1_VerifyP256(t *testing.T) { function TestCertificateV1_Verify_IPs (line 223) | func TestCertificateV1_Verify_IPs(t *testing.T) { function TestCertificateV1_Verify_Subnets (line 290) | func TestCertificateV1_Verify_Subnets(t *testing.T) { function TestCertificateV2_Verify (line 358) | func TestCertificateV2_Verify(t *testing.T) { function TestCertificateV2_VerifyP256 (line 403) | func TestCertificateV2_VerifyP256(t *testing.T) { function TestCertificateV2_Verify_IPs (line 466) | func TestCertificateV2_Verify_IPs(t *testing.T) { function TestCertificateV2_Verify_Subnets (line 533) | func TestCertificateV2_Verify_Subnets(t *testing.T) { FILE: cert/cert.go type Version (line 11) | type Version constant VersionPre1 (line 14) | VersionPre1 Version = 0 constant Version1 (line 15) | Version1 Version = 1 constant Version2 (line 16) | Version2 Version = 2 type Certificate (line 19) | type Certificate interface type CachedCertificate (line 110) | type CachedCertificate struct method String (line 120) | func (cc *CachedCertificate) String() string { function Recombine (line 128) | func Recombine(v Version, rawCertBytes, publicKey []byte, curve Curve) (... function CalculateAlternateFingerprint (line 163) | func CalculateAlternateFingerprint(c Certificate) (string, error) { FILE: cert/cert_v1.go constant publicKeyLen (line 23) | publicKeyLen = 32 type certificateV1 (line 25) | type certificateV1 struct method Version (line 46) | func (c *certificateV1) Version() Version { method Curve (line 50) | func (c *certificateV1) Curve() Curve { method Groups (line 54) | func (c *certificateV1) Groups() []string { method IsCA (line 58) | func (c *certificateV1) IsCA() bool { method Issuer (line 62) | func (c *certificateV1) Issuer() string { method Name (line 66) | func (c *certificateV1) Name() string { method Networks (line 70) | func (c *certificateV1) Networks() []netip.Prefix { method NotAfter (line 74) | func (c *certificateV1) NotAfter() time.Time { method NotBefore (line 78) | func (c *certificateV1) NotBefore() time.Time { method PublicKey (line 82) | func (c *certificateV1) PublicKey() []byte { method MarshalPublicKeyPEM (line 86) | func (c *certificateV1) MarshalPublicKeyPEM() []byte { method Signature (line 90) | func (c *certificateV1) Signature() []byte { method UnsafeNetworks (line 94) | func (c *certificateV1) UnsafeNetworks() []netip.Prefix { method Fingerprint (line 98) | func (c *certificateV1) Fingerprint() (string, error) { method CheckSignature (line 108) | func (c *certificateV1) CheckSignature(key []byte) bool { method Expired (line 128) | func (c *certificateV1) Expired(t time.Time) bool { method VerifyPrivateKey (line 132) | func (c *certificateV1) VerifyPrivateKey(curve Curve, key []byte) error { method getRawDetails (line 187) | func (c *certificateV1) getRawDetails() *RawNebulaCertificateDetails { method String (line 216) | func (c *certificateV1) String() string { method MarshalForHandshakes (line 224) | func (c *certificateV1) MarshalForHandshakes() ([]byte, error) { method Marshal (line 235) | func (c *certificateV1) Marshal() ([]byte, error) { method MarshalPEM (line 244) | func (c *certificateV1) MarshalPEM() ([]byte, error) { method MarshalJSON (line 252) | func (c *certificateV1) MarshalJSON() ([]byte, error) { method marshalJSON (line 256) | func (c *certificateV1) marshalJSON() m { method Copy (line 277) | func (c *certificateV1) Copy() Certificate { method fromTBSCertificate (line 312) | func (c *certificateV1) fromTBSCertificate(t *TBSCertificate) error { method validate (line 329) | func (c *certificateV1) validate() error { method marshalForSigning (line 381) | func (c *certificateV1) marshalForSigning() ([]byte, error) { method setSignature (line 389) | func (c *certificateV1) setSignature(b []byte) error { type detailsV1 (line 30) | type detailsV1 struct function unmarshalCertificateV1 (line 399) | func unmarshalCertificateV1(b []byte, publicKey []byte) (*certificateV1,... function ip2int (line 480) | func ip2int(ip []byte) uint32 { function int2ip (line 487) | func int2ip(nn uint32) net.IP { function addr2int (line 493) | func addr2int(addr netip.Addr) uint32 { function int2addr (line 498) | func int2addr(nn uint32) netip.Addr { FILE: cert/cert_v1.pb.go constant _ (line 18) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 20) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Curve (line 23) | type Curve method Enum (line 42) | func (x Curve) Enum() *Curve { method String (line 48) | func (x Curve) String() string { method Descriptor (line 52) | func (Curve) Descriptor() protoreflect.EnumDescriptor { method Type (line 56) | func (Curve) Type() protoreflect.EnumType { method Number (line 60) | func (x Curve) Number() protoreflect.EnumNumber { method EnumDescriptor (line 65) | func (Curve) EnumDescriptor() ([]byte, []int) { constant Curve_CURVE25519 (line 26) | Curve_CURVE25519 Curve = 0 constant Curve_P256 (line 27) | Curve_P256 Curve = 1 type RawNebulaCertificate (line 69) | type RawNebulaCertificate struct method Reset (line 78) | func (x *RawNebulaCertificate) Reset() { method String (line 87) | func (x *RawNebulaCertificate) String() string { method ProtoMessage (line 91) | func (*RawNebulaCertificate) ProtoMessage() {} method ProtoReflect (line 93) | func (x *RawNebulaCertificate) ProtoReflect() protoreflect.Message { method Descriptor (line 106) | func (*RawNebulaCertificate) Descriptor() ([]byte, []int) { method GetDetails (line 110) | func (x *RawNebulaCertificate) GetDetails() *RawNebulaCertificateDetai... method GetSignature (line 117) | func (x *RawNebulaCertificate) GetSignature() []byte { type RawNebulaCertificateDetails (line 124) | type RawNebulaCertificateDetails struct method Reset (line 143) | func (x *RawNebulaCertificateDetails) Reset() { method String (line 152) | func (x *RawNebulaCertificateDetails) String() string { method ProtoMessage (line 156) | func (*RawNebulaCertificateDetails) ProtoMessage() {} method ProtoReflect (line 158) | func (x *RawNebulaCertificateDetails) ProtoReflect() protoreflect.Mess... method Descriptor (line 171) | func (*RawNebulaCertificateDetails) Descriptor() ([]byte, []int) { method GetName (line 175) | func (x *RawNebulaCertificateDetails) GetName() string { method GetIps (line 182) | func (x *RawNebulaCertificateDetails) GetIps() []uint32 { method GetSubnets (line 189) | func (x *RawNebulaCertificateDetails) GetSubnets() []uint32 { method GetGroups (line 196) | func (x *RawNebulaCertificateDetails) GetGroups() []string { method GetNotBefore (line 203) | func (x *RawNebulaCertificateDetails) GetNotBefore() int64 { method GetNotAfter (line 210) | func (x *RawNebulaCertificateDetails) GetNotAfter() int64 { method GetPublicKey (line 217) | func (x *RawNebulaCertificateDetails) GetPublicKey() []byte { method GetIsCA (line 224) | func (x *RawNebulaCertificateDetails) GetIsCA() bool { method GetIssuer (line 231) | func (x *RawNebulaCertificateDetails) GetIssuer() []byte { method GetCurve (line 238) | func (x *RawNebulaCertificateDetails) GetCurve() Curve { type RawNebulaEncryptedData (line 245) | type RawNebulaEncryptedData struct method Reset (line 254) | func (x *RawNebulaEncryptedData) Reset() { method String (line 263) | func (x *RawNebulaEncryptedData) String() string { method ProtoMessage (line 267) | func (*RawNebulaEncryptedData) ProtoMessage() {} method ProtoReflect (line 269) | func (x *RawNebulaEncryptedData) ProtoReflect() protoreflect.Message { method Descriptor (line 282) | func (*RawNebulaEncryptedData) Descriptor() ([]byte, []int) { method GetEncryptionMetadata (line 286) | func (x *RawNebulaEncryptedData) GetEncryptionMetadata() *RawNebulaEnc... method GetCiphertext (line 293) | func (x *RawNebulaEncryptedData) GetCiphertext() []byte { type RawNebulaEncryptionMetadata (line 300) | type RawNebulaEncryptionMetadata struct method Reset (line 309) | func (x *RawNebulaEncryptionMetadata) Reset() { method String (line 318) | func (x *RawNebulaEncryptionMetadata) String() string { method ProtoMessage (line 322) | func (*RawNebulaEncryptionMetadata) ProtoMessage() {} method ProtoReflect (line 324) | func (x *RawNebulaEncryptionMetadata) ProtoReflect() protoreflect.Mess... method Descriptor (line 337) | func (*RawNebulaEncryptionMetadata) Descriptor() ([]byte, []int) { method GetEncryptionAlgorithm (line 341) | func (x *RawNebulaEncryptionMetadata) GetEncryptionAlgorithm() string { method GetArgon2Parameters (line 348) | func (x *RawNebulaEncryptionMetadata) GetArgon2Parameters() *RawNebula... type RawNebulaArgon2Parameters (line 355) | type RawNebulaArgon2Parameters struct method Reset (line 367) | func (x *RawNebulaArgon2Parameters) Reset() { method String (line 376) | func (x *RawNebulaArgon2Parameters) String() string { method ProtoMessage (line 380) | func (*RawNebulaArgon2Parameters) ProtoMessage() {} method ProtoReflect (line 382) | func (x *RawNebulaArgon2Parameters) ProtoReflect() protoreflect.Message { method Descriptor (line 395) | func (*RawNebulaArgon2Parameters) Descriptor() ([]byte, []int) { method GetVersion (line 399) | func (x *RawNebulaArgon2Parameters) GetVersion() int32 { method GetMemory (line 406) | func (x *RawNebulaArgon2Parameters) GetMemory() uint32 { method GetParallelism (line 413) | func (x *RawNebulaArgon2Parameters) GetParallelism() uint32 { method GetIterations (line 420) | func (x *RawNebulaArgon2Parameters) GetIterations() uint32 { method GetSalt (line 427) | func (x *RawNebulaArgon2Parameters) GetSalt() []byte { function file_cert_v1_proto_rawDescGZIP (line 505) | func file_cert_v1_proto_rawDescGZIP() []byte { function init (line 534) | func init() { file_cert_v1_proto_init() } function file_cert_v1_proto_init (line 535) | func file_cert_v1_proto_init() { FILE: cert/cert_v1_test.go function TestCertificateV1_Marshal (line 16) | func TestCertificateV1_Marshal(t *testing.T) { function TestCertificateV1_Unmarshal (line 65) | func TestCertificateV1_Unmarshal(t *testing.T) { function TestCertificateV1_PublicKeyPem (line 121) | func TestCertificateV1_PublicKeyPem(t *testing.T) { function TestCertificateV1_Expired (line 179) | func TestCertificateV1_Expired(t *testing.T) { function TestCertificateV1_MarshalJSON (line 192) | func TestCertificateV1_MarshalJSON(t *testing.T) { function TestCertificateV1_VerifyPrivateKey (line 226) | func TestCertificateV1_VerifyPrivateKey(t *testing.T) { function TestCertificateV1_VerifyPrivateKeyP256 (line 249) | func TestCertificateV1_VerifyPrivateKeyP256(t *testing.T) { function TestMarshalingCertificateV1Consistency (line 274) | func TestMarshalingCertificateV1Consistency(t *testing.T) { function TestCertificateV1_Copy (line 309) | func TestCertificateV1_Copy(t *testing.T) { function TestUnmarshalCertificateV1 (line 316) | func TestUnmarshalCertificateV1(t *testing.T) { function appendByteSlices (line 323) | func appendByteSlices(b ...[]byte) []byte { function mustParsePrefixUnmapped (line 331) | func mustParsePrefixUnmapped(s string) netip.Prefix { FILE: cert/cert_v2.go constant classConstructed (line 24) | classConstructed = 0x20 constant classContextSpecific (line 25) | classContextSpecific = 0x80 constant TagCertDetails (line 27) | TagCertDetails = 0 | classConstructed | classContextSpecific constant TagCertCurve (line 28) | TagCertCurve = 1 | classContextSpecific constant TagCertPublicKey (line 29) | TagCertPublicKey = 2 | classContextSpecific constant TagCertSignature (line 30) | TagCertSignature = 3 | classContextSpecific constant TagDetailsName (line 32) | TagDetailsName = 0 | classContextSpecific constant TagDetailsNetworks (line 33) | TagDetailsNetworks = 1 | classConstructed | classContextSpecific constant TagDetailsUnsafeNetworks (line 34) | TagDetailsUnsafeNetworks = 2 | classConstructed | classContextSpecific constant TagDetailsGroups (line 35) | TagDetailsGroups = 3 | classConstructed | classContextSpecific constant TagDetailsIsCA (line 36) | TagDetailsIsCA = 4 | classContextSpecific constant TagDetailsNotBefore (line 37) | TagDetailsNotBefore = 5 | classContextSpecific constant TagDetailsNotAfter (line 38) | TagDetailsNotAfter = 6 | classContextSpecific constant TagDetailsIssuer (line 39) | TagDetailsIssuer = 7 | classContextSpecific constant MaxCertificateSize (line 44) | MaxCertificateSize = 65536 constant MaxNameLength (line 47) | MaxNameLength = 253 constant MaxNetworkLength (line 51) | MaxNetworkLength = 17 type certificateV2 (line 54) | type certificateV2 struct method Version (line 77) | func (c *certificateV2) Version() Version { method Curve (line 81) | func (c *certificateV2) Curve() Curve { method Groups (line 85) | func (c *certificateV2) Groups() []string { method IsCA (line 89) | func (c *certificateV2) IsCA() bool { method Issuer (line 93) | func (c *certificateV2) Issuer() string { method Name (line 97) | func (c *certificateV2) Name() string { method Networks (line 101) | func (c *certificateV2) Networks() []netip.Prefix { method NotAfter (line 105) | func (c *certificateV2) NotAfter() time.Time { method NotBefore (line 109) | func (c *certificateV2) NotBefore() time.Time { method PublicKey (line 113) | func (c *certificateV2) PublicKey() []byte { method MarshalPublicKeyPEM (line 117) | func (c *certificateV2) MarshalPublicKeyPEM() []byte { method Signature (line 121) | func (c *certificateV2) Signature() []byte { method UnsafeNetworks (line 125) | func (c *certificateV2) UnsafeNetworks() []netip.Prefix { method Fingerprint (line 129) | func (c *certificateV2) Fingerprint() (string, error) { method CheckSignature (line 143) | func (c *certificateV2) CheckSignature(key []byte) bool { method Expired (line 167) | func (c *certificateV2) Expired(t time.Time) bool { method VerifyPrivateKey (line 171) | func (c *certificateV2) VerifyPrivateKey(curve Curve, key []byte) error { method String (line 225) | func (c *certificateV2) String() string { method MarshalForHandshakes (line 238) | func (c *certificateV2) MarshalForHandshakes() ([]byte, error) { method Marshal (line 260) | func (c *certificateV2) Marshal() ([]byte, error) { method MarshalPEM (line 294) | func (c *certificateV2) MarshalPEM() ([]byte, error) { method MarshalJSON (line 302) | func (c *certificateV2) MarshalJSON() ([]byte, error) { method marshalJSON (line 310) | func (c *certificateV2) marshalJSON() (m, error) { method Copy (line 335) | func (c *certificateV2) Copy() Certificate { method fromTBSCertificate (line 372) | func (c *certificateV2) fromTBSCertificate(t *TBSCertificate) error { method validate (line 388) | func (c *certificateV2) validate() error { method marshalForSigning (line 459) | func (c *certificateV2) marshalForSigning() ([]byte, error) { method setSignature (line 473) | func (c *certificateV2) setSignature(b []byte) error { type detailsV2 (line 66) | type detailsV2 struct method Marshal (line 481) | func (d *detailsV2) Marshal() ([]byte, error) { function unmarshalCertificateV2 (line 567) | func unmarshalCertificateV2(b []byte, publicKey []byte, curve Curve) (*c... function unmarshalDetails (line 638) | func unmarshalDetails(b cryptobyte.String) (detailsV2, error) { FILE: cert/cert_v2_test.go function TestCertificateV2_Marshal (line 17) | func TestCertificateV2_Marshal(t *testing.T) { function TestCertificateV2_Unmarshal (line 79) | func TestCertificateV2_Unmarshal(t *testing.T) { function TestCertificateV2_PublicKeyPem (line 131) | func TestCertificateV2_PublicKeyPem(t *testing.T) { function TestCertificateV2_Expired (line 190) | func TestCertificateV2_Expired(t *testing.T) { function TestCertificateV2_MarshalJSON (line 203) | func TestCertificateV2_MarshalJSON(t *testing.T) { function TestCertificateV2_VerifyPrivateKey (line 244) | func TestCertificateV2_VerifyPrivateKey(t *testing.T) { function TestCertificateV2_VerifyPrivateKeyP256 (line 305) | func TestCertificateV2_VerifyPrivateKeyP256(t *testing.T) { function TestCertificateV2_Copy (line 328) | func TestCertificateV2_Copy(t *testing.T) { function TestUnmarshalCertificateV2 (line 335) | func TestUnmarshalCertificateV2(t *testing.T) { function TestCertificateV2_marshalForSigningStability (line 341) | func TestCertificateV2_marshalForSigningStability(t *testing.T) { FILE: cert/crypto.go type NebulaEncryptedData (line 17) | type NebulaEncryptedData struct type NebulaEncryptionMetadata (line 22) | type NebulaEncryptionMetadata struct type Argon2Parameters (line 28) | type Argon2Parameters struct function NewArgon2Parameters (line 37) | func NewArgon2Parameters(memory uint32, parallelism uint8, iterations ui... function aes256Encrypt (line 47) | func aes256Encrypt(passphrase []byte, kdfParams *Argon2Parameters, data ... function aes256Decrypt (line 82) | func aes256Decrypt(passphrase []byte, kdfParams *Argon2Parameters, data ... function aes256DeriveKey (line 111) | func aes256DeriveKey(passphrase []byte, params *Argon2Parameters) ([]byt... function deriveKey (line 129) | func deriveKey(passphrase []byte, keySize uint32, params *Argon2Paramete... function joinNonceCiphertext (line 146) | func joinNonceCiphertext(nonce []byte, ciphertext []byte) []byte { function splitNonceCiphertext (line 151) | func splitNonceCiphertext(blob []byte, nonceSize int) ([]byte, []byte, e... function EncryptAndMarshalSigningPrivateKey (line 160) | func EncryptAndMarshalSigningPrivateKey(curve Curve, b []byte, passphras... function UnmarshalNebulaEncryptedData (line 195) | func UnmarshalNebulaEncryptedData(b []byte) (*NebulaEncryptedData, error) { function unmarshalArgon2Parameters (line 229) | func unmarshalArgon2Parameters(params *RawNebulaArgon2Parameters) (*Argo... function DecryptAndUnmarshalSigningPrivateKey (line 255) | func DecryptAndUnmarshalSigningPrivateKey(passphrase, b []byte) (Curve, ... FILE: cert/crypto_test.go function TestNewArgon2Parameters (line 11) | func TestNewArgon2Parameters(t *testing.T) { function TestDecryptAndUnmarshalSigningPrivateKey (line 28) | func TestDecryptAndUnmarshalSigningPrivateKey(t *testing.T) { function TestEncryptAndMarshalSigningPrivateKey (line 96) | func TestEncryptAndMarshalSigningPrivateKey(t *testing.T) { FILE: cert/errors.go type ErrInvalidCertificateProperties (line 41) | type ErrInvalidCertificateProperties struct method Error (line 49) | func (e *ErrInvalidCertificateProperties) Error() string { function NewErrInvalidCertificateProperties (line 45) | func NewErrInvalidCertificateProperties(format string, a ...any) error { FILE: cert/helper_test.go function NewTestCaCert (line 17) | func NewTestCaCert(version Version, curve Curve, before, after time.Time... function NewTestCert (line 71) | func NewTestCert(v Version, curve Curve, ca Certificate, key []byte, nam... function X25519Keypair (line 120) | func X25519Keypair() ([]byte, []byte) { function P256Keypair (line 134) | func P256Keypair() ([]byte, []byte) { FILE: cert/p256/p256.go function init (line 17) | func init() { function IsNormalized (line 25) | func IsNormalized(sig []byte) (bool, error) { function checkLowS (line 33) | func checkLowS(_, s []byte) bool { function swap (line 39) | func swap(r, s []byte) ([]byte, []byte, error) { function Normalize (line 50) | func Normalize(sig []byte) ([]byte, error) { function Swap (line 69) | func Swap(sig []byte) ([]byte, error) { function parseSignature (line 84) | func parseSignature(sig []byte) (r, s []byte, err error) { function encodeSignature (line 97) | func encodeSignature(r, s []byte) ([]byte, error) { function addASN1IntBytes (line 108) | func addASN1IntBytes(b *cryptobyte.Builder, bytes []byte) { FILE: cert/p256/p256_test.go function TestFlipping (line 12) | func TestFlipping(t *testing.T) { FILE: cert/pem.go constant CertificateBanner (line 11) | CertificateBanner = "NEBULA CERTIFICATE" constant CertificateV2Banner (line 12) | CertificateV2Banner = "NEBULA CERTIFICATE V2" constant X25519PrivateKeyBanner (line 16) | X25519PrivateKeyBanner = "NEBULA X25519 PRIVATE KEY" constant X25519PublicKeyBanner (line 17) | X25519PublicKeyBanner = "NEBULA X25519 PUBLIC KEY" constant P256PrivateKeyBanner (line 18) | P256PrivateKeyBanner = "NEBULA P256 PRIVATE KEY" constant P256PublicKeyBanner (line 19) | P256PublicKeyBanner = "NEBULA P256 PUBLIC KEY" constant EncryptedECDSAP256PrivateKeyBanner (line 24) | EncryptedECDSAP256PrivateKeyBanner = "NEBULA ECDSA P256 ENCRYPTED PRIVAT... constant ECDSAP256PrivateKeyBanner (line 25) | ECDSAP256PrivateKeyBanner = "NEBULA ECDSA P256 PRIVATE KEY" constant ECDSAP256PublicKeyBanner (line 26) | ECDSAP256PublicKeyBanner = "NEBULA ECDSA P256 PUBLIC KEY" constant EncryptedEd25519PrivateKeyBanner (line 27) | EncryptedEd25519PrivateKeyBanner = "NEBULA ED25519 ENCRYPTED PRIVATE KEY" constant Ed25519PrivateKeyBanner (line 28) | Ed25519PrivateKeyBanner = "NEBULA ED25519 PRIVATE KEY" constant Ed25519PublicKeyBanner (line 29) | Ed25519PublicKeyBanner = "NEBULA ED25519 PUBLIC KEY" function UnmarshalCertificateFromPEM (line 34) | func UnmarshalCertificateFromPEM(b []byte) (Certificate, []byte, error) { function marshalCertPublicKeyToPEM (line 61) | func marshalCertPublicKeyToPEM(c Certificate) []byte { function MarshalPublicKeyToPEM (line 71) | func MarshalPublicKeyToPEM(curve Curve, b []byte) []byte { function MarshalSigningPublicKeyToPEM (line 84) | func MarshalSigningPublicKeyToPEM(curve Curve, b []byte) []byte { function UnmarshalPublicKeyFromPEM (line 95) | func UnmarshalPublicKeyFromPEM(b []byte) ([]byte, []byte, Curve, error) { function MarshalPrivateKeyToPEM (line 119) | func MarshalPrivateKeyToPEM(curve Curve, b []byte) []byte { function MarshalSigningPrivateKeyToPEM (line 130) | func MarshalSigningPrivateKeyToPEM(curve Curve, b []byte) []byte { function UnmarshalPrivateKeyFromPEM (line 143) | func UnmarshalPrivateKeyFromPEM(b []byte) ([]byte, []byte, Curve, error) { function UnmarshalSigningPrivateKeyFromPEM (line 166) | func UnmarshalSigningPrivateKeyFromPEM(b []byte) ([]byte, []byte, Curve,... FILE: cert/pem_test.go function TestUnmarshalCertificateFromPEM (line 10) | func TestUnmarshalCertificateFromPEM(t *testing.T) { function TestUnmarshalSigningPrivateKeyFromPEM (line 55) | func TestUnmarshalSigningPrivateKeyFromPEM(t *testing.T) { function TestUnmarshalPrivateKeyFromPEM (line 117) | func TestUnmarshalPrivateKeyFromPEM(t *testing.T) { function TestUnmarshalPublicKeyFromPEM (line 179) | func TestUnmarshalPublicKeyFromPEM(t *testing.T) { function TestUnmarshalX25519PublicKey (line 233) | func TestUnmarshalX25519PublicKey(t *testing.T) { FILE: cert/sign.go type TBSCertificate (line 18) | type TBSCertificate struct method Sign (line 49) | func (t *TBSCertificate) Sign(signer Certificate, curve Curve, key []b... method SignWith (line 77) | func (t *TBSCertificate) SignWith(signer Certificate, curve Curve, sp ... type beingSignedCertificate (line 32) | type beingSignedCertificate interface type SignerLambda (line 44) | type SignerLambda function comparePrefix (line 151) | func comparePrefix(a, b netip.Prefix) int { function findDuplicatePrefix (line 160) | func findDuplicatePrefix(sortedPrefixes []netip.Prefix) error { FILE: cert/sign_test.go function TestCertificateV1_Sign (line 17) | func TestCertificateV1_Sign(t *testing.T) { function TestCertificateV1_SignP256 (line 53) | func TestCertificateV1_SignP256(t *testing.T) { function TestCertificate_SignP256_AlwaysNormalized (line 94) | func TestCertificate_SignP256_AlwaysNormalized(t *testing.T) { FILE: cert_test/cert.go function NewTestCaCert (line 18) | func NewTestCaCert(version cert.Version, curve cert.Curve, before, after... function NewTestCert (line 72) | func NewTestCert(v cert.Version, curve cert.Curve, ca cert.Certificate, ... function NewTestCertDifferentVersion (line 117) | func NewTestCertDifferentVersion(c cert.Certificate, v cert.Version, ca ... function X25519Keypair (line 144) | func X25519Keypair() ([]byte, []byte) { function P256Keypair (line 158) | func P256Keypair() ([]byte, []byte) { FILE: cmd/nebula-cert/ca.go type caFlags (line 22) | type caFlags struct function newCaFlags (line 46) | func newCaFlags() *caFlags { function parseArgonParameters (line 70) | func parseArgonParameters(memory uint, parallelism uint, iterations uint... function ca (line 84) | func ca(args []string, out io.Writer, errOut io.Writer, pr PasswordReade... function caSummary (line 328) | func caSummary() string { function caHelp (line 332) | func caHelp(out io.Writer) { FILE: cmd/nebula-cert/ca_test.go function Test_caSummary (line 20) | func Test_caSummary(t *testing.T) { function Test_caHelp (line 24) | func Test_caHelp(t *testing.T) { function Test_ca (line 67) | func Test_ca(t *testing.T) { FILE: cmd/nebula-cert/keygen.go type keygenFlags (line 14) | type keygenFlags struct function newKeygenFlags (line 22) | func newKeygenFlags() *keygenFlags { function keygen (line 32) | func keygen(args []string, out io.Writer, errOut io.Writer) error { function keygenSummary (line 98) | func keygenSummary() string { function keygenHelp (line 102) | func keygenHelp(out io.Writer) { FILE: cmd/nebula-cert/keygen_test.go function Test_keygenSummary (line 13) | func Test_keygenSummary(t *testing.T) { function Test_keygenHelp (line 17) | func Test_keygenHelp(t *testing.T) { function Test_keygen (line 34) | func Test_keygen(t *testing.T) { FILE: cmd/nebula-cert/main.go function init (line 19) | func init() { type helpError (line 30) | type helpError struct method Error (line 34) | func (he *helpError) Error() string { function newHelpErrorf (line 38) | func newHelpErrorf(s string, v ...any) error { function main (line 42) | func main() { function handleError (line 101) | func handleError(mode string, e error, out io.Writer) int { function help (line 131) | func help(err string, out io.Writer) { function mustFlagString (line 152) | func mustFlagString(name string, val *string) error { FILE: cmd/nebula-cert/main_test.go function Test_help (line 15) | func Test_help(t *testing.T) { function Test_handleError (line 49) | func Test_handleError(t *testing.T) { function assertHelpError (line 75) | func assertHelpError(t *testing.T, err error, msg string) { function optionalPkcs11String (line 86) | func optionalPkcs11String(msg string) string { FILE: cmd/nebula-cert/p11_cgo.go function p11Supported (line 9) | func p11Supported() bool { function p11Flag (line 13) | func p11Flag(set *flag.FlagSet) *string { FILE: cmd/nebula-cert/p11_stub.go function p11Supported (line 9) | func p11Supported() bool { function p11Flag (line 13) | func p11Flag(set *flag.FlagSet) *string { FILE: cmd/nebula-cert/passwords.go type PasswordReader (line 13) | type PasswordReader interface type StdinPasswordReader (line 17) | type StdinPasswordReader struct method ReadPassword (line 19) | func (pr StdinPasswordReader) ReadPassword() ([]byte, error) { FILE: cmd/nebula-cert/passwords_test.go type StubPasswordReader (line 3) | type StubPasswordReader struct method ReadPassword (line 8) | func (pr *StubPasswordReader) ReadPassword() ([]byte, error) { FILE: cmd/nebula-cert/print.go type printFlags (line 15) | type printFlags struct function newPrintFlags (line 22) | func newPrintFlags() *printFlags { function printCert (line 32) | func printCert(args []string, out io.Writer, errOut io.Writer) error { function printSummary (line 103) | func printSummary() string { function printHelp (line 107) | func printHelp(out io.Writer) { FILE: cmd/nebula-cert/print_test.go function Test_printSummary (line 18) | func Test_printSummary(t *testing.T) { function Test_printHelp (line 22) | func Test_printHelp(t *testing.T) { function Test_printCert (line 38) | func Test_printCert(t *testing.T) { function NewTestCaCert (line 184) | func NewTestCaCert(name string, pubKey, privKey []byte, before, after ti... function NewTestCert (line 213) | func NewTestCert(ca cert.Certificate, signerKey []byte, name string, bef... FILE: cmd/nebula-cert/sign.go type signFlags (line 21) | type signFlags struct function newSignFlags (line 43) | func newSignFlags() *signFlags { function signCert (line 65) | func signCert(args []string, out io.Writer, errOut io.Writer, pr Passwor... function newKeypair (line 402) | func newKeypair(curve cert.Curve) ([]byte, []byte) { function x25519Keypair (line 413) | func x25519Keypair() ([]byte, []byte) { function p256Keypair (line 427) | func p256Keypair() ([]byte, []byte) { function signSummary (line 436) | func signSummary() string { function signHelp (line 440) | func signHelp(out io.Writer) { FILE: cmd/nebula-cert/sign_test.go function Test_signSummary (line 20) | func Test_signSummary(t *testing.T) { function Test_signHelp (line 24) | func Test_signHelp(t *testing.T) { function Test_signCert (line 63) | func Test_signCert(t *testing.T) { FILE: cmd/nebula-cert/test_darwin.go constant NoSuchFileError (line 3) | NoSuchFileError = "no such file or directory" constant NoSuchDirError (line 4) | NoSuchDirError = "no such file or directory" FILE: cmd/nebula-cert/test_linux.go constant NoSuchFileError (line 3) | NoSuchFileError = "no such file or directory" constant NoSuchDirError (line 4) | NoSuchDirError = "no such file or directory" FILE: cmd/nebula-cert/test_windows.go constant NoSuchFileError (line 3) | NoSuchFileError = "The system cannot find the file specified." constant NoSuchDirError (line 4) | NoSuchDirError = "The system cannot find the path specified." FILE: cmd/nebula-cert/verify.go type verifyFlags (line 15) | type verifyFlags struct function newVerifyFlags (line 21) | func newVerifyFlags() *verifyFlags { function verify (line 29) | func verify(args []string, out io.Writer, errOut io.Writer) error { function verifySummary (line 88) | func verifySummary() string { function verifyHelp (line 92) | func verifyHelp(out io.Writer) { FILE: cmd/nebula-cert/verify_test.go function Test_verifySummary (line 16) | func Test_verifySummary(t *testing.T) { function Test_verifyHelp (line 20) | func Test_verifyHelp(t *testing.T) { function Test_verify (line 34) | func Test_verify(t *testing.T) { FILE: cmd/nebula-service/logs_generic.go function HookLogger (line 8) | func HookLogger(l *logrus.Logger) { FILE: cmd/nebula-service/logs_windows.go function HookLogger (line 14) | func HookLogger(l *logrus.Logger) { type logHook (line 19) | type logHook struct method Fire (line 27) | func (h *logHook) Fire(entry *logrus.Entry) error { method Levels (line 52) | func (h *logHook) Levels() []logrus.Level { function newLogHook (line 23) | func newLogHook(sl service.Logger) *logHook { FILE: cmd/nebula-service/main.go function init (line 23) | func init() { function main (line 34) | func main() { FILE: cmd/nebula-service/service.go type program (line 17) | type program struct method Start (line 24) | func (p *program) Start(s service.Service) error { method Stop (line 46) | func (p *program) Stop(s service.Service) error { function fileExists (line 52) | func fileExists(filename string) bool { function doService (line 60) | func doService(configPath *string, configTest *bool, build string, servi... FILE: cmd/nebula/main.go function init (line 23) | func init() { function main (line 34) | func main() { FILE: cmd/nebula/notify_linux.go constant SdNotifyReady (line 14) | SdNotifyReady = "READY=1" function notifyReady (line 16) | func notifyReady(l *logrus.Logger) { FILE: cmd/nebula/notify_notlinux.go function notifyReady (line 8) | func notifyReady(_ *logrus.Logger) { FILE: config/config.go type C (line 23) | type C struct method Load (line 41) | func (c *C) Load(path string) error { method LoadString (line 64) | func (c *C) LoadString(raw string) error { method RegisterReloadCallback (line 75) | func (c *C) RegisterReloadCallback(f func(*C)) { method InitialLoad (line 80) | func (c *C) InitialLoad() bool { method HasChanged (line 89) | func (c *C) HasChanged(k string) bool { method CatchHUP (line 123) | func (c *C) CatchHUP(ctx context.Context) { method ReloadConfig (line 146) | func (c *C) ReloadConfig() { method ReloadConfigString (line 166) | func (c *C) ReloadConfigString(raw string) error { method GetString (line 188) | func (c *C) GetString(k, d string) string { method GetStringSlice (line 198) | func (c *C) GetStringSlice(k string, d []string) []string { method GetMap (line 218) | func (c *C) GetMap(k string, d map[string]any) map[string]any { method GetInt (line 233) | func (c *C) GetInt(k string, d int) int { method GetUint32 (line 244) | func (c *C) GetUint32(k string, d uint32) uint32 { method GetBool (line 253) | func (c *C) GetBool(k string, d bool) bool { method GetDuration (line 286) | func (c *C) GetDuration(k string, d time.Duration) time.Duration { method Get (line 295) | func (c *C) Get(k string) any { method IsSet (line 299) | func (c *C) IsSet(k string) bool { method get (line 303) | func (c *C) get(k string, v any) any { method resolve (line 322) | func (c *C) resolve(path string, direct bool) error { method addFile (line 348) | func (c *C) addFile(path string, direct bool) error { method parseRaw (line 364) | func (c *C) parseRaw(b []byte) error { method parse (line 376) | func (c *C) parse() error { function NewC (line 33) | func NewC(l *logrus.Logger) *C { function AsBool (line 269) | func AsBool(v any) (value bool, ok bool) { function readDirNames (line 404) | func readDirNames(path string) ([]string, error) { FILE: config/config_test.go function TestConfig_Load (line 16) | func TestConfig_Load(t *testing.T) { function TestConfig_Get (line 43) | func TestConfig_Get(t *testing.T) { function TestConfig_GetStringSlice (line 59) | func TestConfig_GetStringSlice(t *testing.T) { function TestConfig_GetBool (line 66) | func TestConfig_GetBool(t *testing.T) { function TestConfig_HasChanged (line 94) | func TestConfig_HasChanged(t *testing.T) { function TestConfig_ReloadConfig (line 116) | func TestConfig_ReloadConfig(t *testing.T) { function TestConfig_MergoMerge (line 153) | func TestConfig_MergoMerge(t *testing.T) { FILE: connection_manager.go type trafficDecision (line 20) | type trafficDecision constant doNothing (line 23) | doNothing trafficDecision = 0 constant deleteTunnel (line 24) | deleteTunnel trafficDecision = 1 constant closeTunnel (line 25) | closeTunnel trafficDecision = 2 constant swapPrimary (line 26) | swapPrimary trafficDecision = 3 constant migrateRelays (line 27) | migrateRelays trafficDecision = 4 constant tryRehandshake (line 28) | tryRehandshake trafficDecision = 5 constant sendTestPacket (line 29) | sendTestPacket trafficDecision = 6 type connectionManager (line 32) | type connectionManager struct method reload (line 71) | func (cm *connectionManager) reload(c *config.C, initial bool) { method getInactivityTimeout (line 105) | func (cm *connectionManager) getInactivityTimeout() time.Duration { method In (line 109) | func (cm *connectionManager) In(h *HostInfo) { method Out (line 113) | func (cm *connectionManager) Out(h *HostInfo) { method RelayUsed (line 117) | func (cm *connectionManager) RelayUsed(localIndex uint32) { method getAndResetTrafficCheck (line 132) | func (cm *connectionManager) getAndResetTrafficCheck(h *HostInfo, now ... method AddTrafficWatch (line 143) | func (cm *connectionManager) AddTrafficWatch(h *HostInfo) { method Start (line 149) | func (cm *connectionManager) Start(ctx context.Context) { method doTrafficCheck (line 176) | func (cm *connectionManager) doTrafficCheck(localIndex uint32, p, nb, ... method resetRelayTrafficCheck (line 206) | func (cm *connectionManager) resetRelayTrafficCheck(hostinfo *HostInfo) { method migrateRelayUsed (line 217) | func (cm *connectionManager) migrateRelayUsed(oldhostinfo, newhostinfo... method makeTrafficDecision (line 321) | func (cm *connectionManager) makeTrafficDecision(localIndex uint32, no... method isInactive (line 433) | func (cm *connectionManager) isInactive(hostinfo *HostInfo, now time.T... method shouldSwapPrimary (line 449) | func (cm *connectionManager) shouldSwapPrimary(current *HostInfo) bool { method swapPrimary (line 472) | func (cm *connectionManager) swapPrimary(current, primary *HostInfo) { method isInvalidCertificate (line 484) | func (cm *connectionManager) isInvalidCertificate(now time.Time, hosti... method sendPunch (line 511) | func (cm *connectionManager) sendPunch(hostinfo *HostInfo) { method tryRehandshake (line 536) | func (cm *connectionManager) tryRehandshake(hostinfo *HostInfo) { function newConnectionManagerFromConfig (line 53) | func newConnectionManagerFromConfig(l *logrus.Logger, c *config.C, hm *H... FILE: connection_manager_test.go function newTestLighthouse (line 19) | func newTestLighthouse() *LightHouse { function Test_NewConnectionManagerTest (line 34) | func Test_NewConnectionManagerTest(t *testing.T) { function Test_NewConnectionManagerTest2 (line 117) | func Test_NewConnectionManagerTest2(t *testing.T) { function Test_NewConnectionManager_DisconnectInactive (line 203) | func Test_NewConnectionManager_DisconnectInactive(t *testing.T) { function Test_NewConnectionManagerTest_DisconnectInvalid (line 300) | func Test_NewConnectionManagerTest_DisconnectInvalid(t *testing.T) { type dummyCert (line 394) | type dummyCert struct method Version (line 409) | func (d *dummyCert) Version() cert.Version { method Curve (line 413) | func (d *dummyCert) Curve() cert.Curve { method Groups (line 417) | func (d *dummyCert) Groups() []string { method IsCA (line 421) | func (d *dummyCert) IsCA() bool { method Issuer (line 425) | func (d *dummyCert) Issuer() string { method Name (line 429) | func (d *dummyCert) Name() string { method Networks (line 433) | func (d *dummyCert) Networks() []netip.Prefix { method NotAfter (line 437) | func (d *dummyCert) NotAfter() time.Time { method NotBefore (line 441) | func (d *dummyCert) NotBefore() time.Time { method PublicKey (line 445) | func (d *dummyCert) PublicKey() []byte { method MarshalPublicKeyPEM (line 449) | func (d *dummyCert) MarshalPublicKeyPEM() []byte { method Signature (line 453) | func (d *dummyCert) Signature() []byte { method UnsafeNetworks (line 457) | func (d *dummyCert) UnsafeNetworks() []netip.Prefix { method MarshalForHandshakes (line 461) | func (d *dummyCert) MarshalForHandshakes() ([]byte, error) { method Sign (line 465) | func (d *dummyCert) Sign(curve cert.Curve, key []byte) error { method CheckSignature (line 469) | func (d *dummyCert) CheckSignature(key []byte) bool { method Expired (line 473) | func (d *dummyCert) Expired(t time.Time) bool { method CheckRootConstraints (line 477) | func (d *dummyCert) CheckRootConstraints(signer cert.Certificate) error { method VerifyPrivateKey (line 481) | func (d *dummyCert) VerifyPrivateKey(curve cert.Curve, key []byte) err... method String (line 485) | func (d *dummyCert) String() string { method Marshal (line 489) | func (d *dummyCert) Marshal() ([]byte, error) { method MarshalPEM (line 493) | func (d *dummyCert) MarshalPEM() ([]byte, error) { method Fingerprint (line 497) | func (d *dummyCert) Fingerprint() (string, error) { method MarshalJSON (line 501) | func (d *dummyCert) MarshalJSON() ([]byte, error) { method Copy (line 505) | func (d *dummyCert) Copy() cert.Certificate { FILE: connection_state.go constant ReplayWindow (line 16) | ReplayWindow = 1024 type ConnectionState (line 18) | type ConnectionState struct method MarshalJSON (line 81) | func (cs *ConnectionState) MarshalJSON() ([]byte, error) { method Curve (line 89) | func (cs *ConnectionState) Curve() cert.Curve { function NewConnectionState (line 30) | func NewConnectionState(l *logrus.Logger, cs *CertState, crt cert.Certif... FILE: control.go type controlEach (line 19) | type controlEach type controlHostLister (line 21) | type controlHostLister interface type Control (line 28) | type Control struct method Start (line 53) | func (c *Control) Start() { method Context (line 78) | func (c *Control) Context() context.Context { method Stop (line 83) | func (c *Control) Stop() { method ShutdownBlock (line 96) | func (c *Control) ShutdownBlock() { method RebindUDPServer (line 108) | func (c *Control) RebindUDPServer() { method ListHostmapHosts (line 119) | func (c *Control) ListHostmapHosts(pendingMap bool) []ControlHostInfo { method ListHostmapIndexes (line 128) | func (c *Control) ListHostmapIndexes(pendingMap bool) []ControlHostInfo { method GetCertByVpnIp (line 137) | func (c *Control) GetCertByVpnIp(vpnIp netip.Addr) cert.Certificate { method CreateTunnel (line 151) | func (c *Control) CreateTunnel(vpnIp netip.Addr) { method PrintTunnel (line 156) | func (c *Control) PrintTunnel(vpnIp netip.Addr) *ControlHostInfo { method QueryLighthouse (line 166) | func (c *Control) QueryLighthouse(vpnIp netip.Addr) *CacheMap { method GetHostInfoByVpnAddr (line 176) | func (c *Control) GetHostInfoByVpnAddr(vpnAddr netip.Addr, pending boo... method SetRemoteForTunnel (line 195) | func (c *Control) SetRemoteForTunnel(vpnIp netip.Addr, addr netip.Addr... method CloseTunnel (line 208) | func (c *Control) CloseTunnel(vpnIp netip.Addr, localOnly bool) bool { method CloseAllTunnels (line 232) | func (c *Control) CloseAllTunnels(excludeLighthouses bool) (closed int) { method Device (line 273) | func (c *Control) Device() overlay.Device { type ControlHostInfo (line 40) | type ControlHostInfo struct function copyHostInfo (line 277) | func copyHostInfo(h *HostInfo, preferredRanges []netip.Prefix) ControlHo... function listHostMapHosts (line 303) | func listHostMapHosts(hl controlHostLister) []ControlHostInfo { function listHostMapIndexes (line 312) | func listHostMapIndexes(hl controlHostLister) []ControlHostInfo { FILE: control_test.go function TestControl_GetHostInfoByVpnIp (line 15) | func TestControl_GetHostInfoByVpnIp(t *testing.T) { function assertFields (line 113) | func assertFields(t *testing.T, expected []string, actualStruct any) { FILE: control_tester.go method WaitForType (line 17) | func (c *Control) WaitForType(msgType header.MessageType, subType header... method WaitForTypeByIndex (line 33) | func (c *Control) WaitForTypeByIndex(toIndex uint32, msgType header.Mess... method InjectLightHouseAddr (line 49) | func (c *Control) InjectLightHouseAddr(vpnIp netip.Addr, toAddr netip.Ad... method InjectRelays (line 65) | func (c *Control) InjectRelays(vpnIp netip.Addr, relayVpnIps []netip.Add... method GetFromTun (line 76) | func (c *Control) GetFromTun(block bool) []byte { method GetFromUDP (line 81) | func (c *Control) GetFromUDP(block bool) *udp.Packet { method GetUDPTxChan (line 85) | func (c *Control) GetUDPTxChan() <-chan *udp.Packet { method GetTunTxChan (line 89) | func (c *Control) GetTunTxChan() <-chan []byte { method InjectUDPPacket (line 94) | func (c *Control) InjectUDPPacket(p *udp.Packet) { method InjectTunUDPPacket (line 99) | func (c *Control) InjectTunUDPPacket(toAddr netip.Addr, toPort uint16, f... method GetVpnAddrs (line 154) | func (c *Control) GetVpnAddrs() []netip.Addr { method GetUDPAddr (line 158) | func (c *Control) GetUDPAddr() netip.AddrPort { method KillPendingTunnel (line 162) | func (c *Control) KillPendingTunnel(vpnIp netip.Addr) bool { method GetHostmap (line 172) | func (c *Control) GetHostmap() *HostMap { method GetF (line 176) | func (c *Control) GetF() *Interface { method GetCertState (line 180) | func (c *Control) GetCertState() *CertState { method ReHandshake (line 184) | func (c *Control) ReHandshake(vpnIp netip.Addr) { FILE: dist/windows/wintun/include/wintun.h type _WINTUN_ADAPTER (line 39) | struct _WINTUN_ADAPTER type _Must_inspect_result_ (line 59) | typedef _Must_inspect_result_ type _Must_inspect_result_ (line 75) | typedef _Must_inspect_result_ type WINTUN_LOGGER_LEVEL (line 118) | typedef enum type _TUN_SESSION (line 161) | struct _TUN_SESSION type _Must_inspect_result_ (line 174) | typedef _Must_inspect_result_ type _Must_inspect_result_ (line 218) | typedef _Must_inspect_result_ FILE: dns_server.go type dnsRecords (line 23) | type dnsRecords struct method Query (line 42) | func (d *dnsRecords) Query(q uint16, data string) netip.Addr { method QueryCert (line 60) | func (d *dnsRecords) QueryCert(data string) string { method Add (line 84) | func (d *dnsRecords) Add(host string, addresses []netip.Addr) { method isSelfNebulaOrLocalhost (line 104) | func (d *dnsRecords) isSelfNebulaOrLocalhost(addr string) bool { method parseQuery (line 119) | func (d *dnsRecords) parseQuery(m *dns.Msg, w dns.ResponseWriter) { method handleDnsRequest (line 153) | func (d *dnsRecords) handleDnsRequest(w dns.ResponseWriter, r *dns.Msg) { function newDnsRecords (line 32) | func newDnsRecords(l *logrus.Logger, cs *CertState, hostMap *HostMap) *d... function dnsMain (line 166) | func dnsMain(l *logrus.Logger, cs *CertState, hostMap *HostMap, c *confi... function getDnsServerAddr (line 181) | func getDnsServerAddr(c *config.C) string { function startDns (line 190) | func startDns(l *logrus.Logger, c *config.C) { function reloadDns (line 201) | func reloadDns(l *logrus.Logger, c *config.C) { FILE: dns_server_test.go function TestParsequery (line 13) | func TestParsequery(t *testing.T) { function Test_getDnsServerAddr (line 38) | func Test_getDnsServerAddr(t *testing.T) { FILE: e2e/handshakes_test.go function BenchmarkHotPath (line 26) | func BenchmarkHotPath(b *testing.B) { function BenchmarkHotPathRelay (line 54) | func BenchmarkHotPathRelay(b *testing.B) { function TestGoodHandshake (line 87) | func TestGoodHandshake(t *testing.T) { function TestGoodHandshakeNoOverlap (line 137) | func TestGoodHandshakeNoOverlap(t *testing.T) { function TestWrongResponderHandshake (line 172) | func TestWrongResponderHandshake(t *testing.T) { function TestWrongResponderHandshakeStaticHostMap (line 248) | func TestWrongResponderHandshakeStaticHostMap(t *testing.T) { function TestStage1Race (line 330) | func TestStage1Race(t *testing.T) { function TestUncleanShutdownRaceLoser (line 410) | func TestUncleanShutdownRaceLoser(t *testing.T) { function TestUncleanShutdownRaceWinner (line 459) | func TestUncleanShutdownRaceWinner(t *testing.T) { function TestRelays (line 510) | func TestRelays(t *testing.T) { function TestRelaysDontCareAboutIps (line 539) | func TestRelaysDontCareAboutIps(t *testing.T) { function TestReestablishRelays (line 568) | func TestReestablishRelays(t *testing.T) { function TestStage1RaceRelays (line 699) | func TestStage1RaceRelays(t *testing.T) { function TestStage1RaceRelays2 (line 746) | func TestStage1RaceRelays2(t *testing.T) { function TestRehandshakingRelays (line 832) | func TestRehandshakingRelays(t *testing.T) { function TestRehandshakingRelaysPrimary (line 935) | func TestRehandshakingRelaysPrimary(t *testing.T) { function TestRehandshaking (line 1039) | func TestRehandshaking(t *testing.T) { function TestRehandshakingLoser (line 1134) | func TestRehandshakingLoser(t *testing.T) { function TestRaceRegression (line 1232) | func TestRaceRegression(t *testing.T) { function TestV2NonPrimaryWithLighthouse (line 1292) | func TestV2NonPrimaryWithLighthouse(t *testing.T) { function TestV2NonPrimaryWithOffNetLighthouse (line 1332) | func TestV2NonPrimaryWithOffNetLighthouse(t *testing.T) { function TestGoodHandshakeUnsafeDest (line 1372) | func TestGoodHandshakeUnsafeDest(t *testing.T) { FILE: e2e/helpers_test.go function newSimpleServer (line 32) | func newSimpleServer(v cert.Version, caCrt cert.Certificate, caKey []byt... function newSimpleServerWithUdp (line 61) | func newSimpleServerWithUdp(v cert.Version, caCrt cert.Certificate, caKe... function newSimpleServerWithUdpAndUnsafeNetworks (line 65) | func newSimpleServerWithUdpAndUnsafeNetworks(v cert.Version, caCrt cert.... function newServer (line 175) | func newServer(caCrt []cert.Certificate, certs []cert.Certificate, key [... type doneCb (line 277) | type doneCb function deadline (line 279) | func deadline(t *testing.T, seconds time.Duration) doneCb { function assertTunnel (line 295) | func assertTunnel(t testing.TB, vpnIpA, vpnIpB netip.Addr, controlA, con... function assertHostInfoPair (line 307) | func assertHostInfoPair(t testing.TB, addrA, addrB netip.AddrPort, vpnNe... function assertUdpPacket (line 328) | func assertUdpPacket(t testing.TB, expected, b []byte, fromIp, toIp neti... function assertUdpPacket6 (line 336) | func assertUdpPacket6(t testing.TB, expected, b []byte, fromIp, toIp net... function assertUdpPacket4 (line 355) | func assertUdpPacket4(t testing.TB, expected, b []byte, fromIp, toIp net... function getAddrs (line 374) | func getAddrs(ns []netip.Prefix) []netip.Addr { function NewTestLogger (line 382) | func NewTestLogger() *logrus.Logger { FILE: e2e/router/hostmap.go type edge (line 15) | type edge struct function renderHostmaps (line 21) | func renderHostmaps(controls ...*nebula.Control) string { function renderHostmap (line 57) | func renderHostmap(c *nebula.Control) (string, []*edge) { function sortedHosts (line 122) | func sortedHosts(hosts map[netip.Addr]*nebula.HostInfo) []netip.Addr { function sortedIndexes (line 135) | func sortedIndexes(indexes map[uint32]*nebula.HostInfo) []uint32 { FILE: e2e/router/router.go type R (line 27) | type R struct method AddRoute (line 169) | func (r *R) AddRoute(ip netip.Addr, port uint16, c *nebula.Control) { method RenderFlow (line 181) | func (r *R) RenderFlow() { method CancelFlowLogs (line 187) | func (r *R) CancelFlowLogs() { method renderFlow (line 192) | func (r *R) renderFlow() { method IgnoreFlow (line 281) | func (r *R) IgnoreFlow(messageType header.MessageType, subType header.... method RenderHostmaps (line 291) | func (r *R) RenderHostmaps(title string, controls ...*nebula.Control) { method renderHostmaps (line 311) | func (r *R) renderHostmaps(title string) { method InjectFlow (line 335) | func (r *R) InjectFlow(from, to *nebula.Control, p *udp.Packet) { method Log (line 341) | func (r *R) Log(arg ...any) { method Logf (line 352) | func (r *R) Logf(format string, arg ...any) { method unlockedInjectFlow (line 366) | func (r *R) unlockedInjectFlow(from, to *nebula.Control, p *udp.Packet... method OnceFrom (line 404) | func (r *R) OnceFrom(sender *nebula.Control) { method RouteUntilTxTun (line 412) | func (r *R) RouteUntilTxTun(sender *nebula.Control, receiver *nebula.C... method RouteForAllUntilTxTun (line 446) | func (r *R) RouteForAllUntilTxTun(receiver *nebula.Control) []byte { method RouteExitFunc (line 506) | func (r *R) RouteExitFunc(sender *nebula.Control, whatDo ExitFunc) { method RouteUntilAfterMsgType (line 549) | func (r *R) RouteUntilAfterMsgType(sender *nebula.Control, msgType hea... method RouteForAllUntilAfterMsgTypeTo (line 563) | func (r *R) RouteForAllUntilAfterMsgTypeTo(receiver *nebula.Control, m... method InjectUDPPacket (line 582) | func (r *R) InjectUDPPacket(sender, receiver *nebula.Control, packet *... method RouteForUntilAfterToAddr (line 594) | func (r *R) RouteForUntilAfterToAddr(sender *nebula.Control, toAddr ne... method RouteForAllExitFunc (line 613) | func (r *R) RouteForAllExitFunc(whatDo ExitFunc) { method FlushAll (line 666) | func (r *R) FlushAll() { method getControl (line 710) | func (r *R) getControl(fromAddr, toAddr netip.AddrPort, p *udp.Packet)... method formatUdpPacket (line 724) | func (r *R) formatUdpPacket(p *packet) string { type ignoreFlow (line 58) | type ignoreFlow struct type mermaidGraph (line 66) | type mermaidGraph struct type NullBool (line 71) | type NullBool struct type flowEntry (line 76) | type flowEntry struct type packet (line 81) | type packet struct method WasReceived (line 89) | func (p *packet) WasReceived() { type ExitType (line 95) | type ExitType constant KeepRouting (line 99) | KeepRouting ExitType = 0 constant ExitNow (line 101) | ExitNow ExitType = 1 constant RouteAndExit (line 103) | RouteAndExit ExitType = 2 type ExitFunc (line 106) | type ExitFunc function NewR (line 111) | func NewR(t testing.TB, controls ...*nebula.Control) *R { function normalizeName (line 273) | func normalizeName(s string) string { FILE: e2e/tunnels_test.go function TestDropInactiveTunnels (line 19) | func TestDropInactiveTunnels(t *testing.T) { function TestCertUpgrade (line 63) | func TestCertUpgrade(t *testing.T) { function TestCertDowngrade (line 157) | func TestCertDowngrade(t *testing.T) { function TestCertMismatchCorrection (line 255) | func TestCertMismatchCorrection(t *testing.T) { function TestCrossStackRelaysWork (line 322) | func TestCrossStackRelaysWork(t *testing.T) { FILE: examples/go_service/main.go function main (line 17) | func main() { function run (line 23) | func run() error { FILE: firewall.go type FirewallInterface (line 25) | type FirewallInterface interface type conn (line 29) | type conn struct type Firewall (line 40) | type Firewall struct method AddRule (line 251) | func (f *Firewall) AddRule(incoming bool, proto uint8, startPort int32... method GetRuleHash (line 300) | func (f *Firewall) GetRuleHash() string { method GetRuleHashFNV (line 306) | func (f *Firewall) GetRuleHashFNV() uint32 { method GetRuleHashes (line 313) | func (f *Firewall) GetRuleHashes() string { method Drop (line 419) | func (f *Firewall) Drop(fp firewall.Packet, incoming bool, h *HostInfo... method metrics (line 475) | func (f *Firewall) metrics(incoming bool) firewallMetrics { method Destroy (line 485) | func (f *Firewall) Destroy() { method EmitStats (line 489) | func (f *Firewall) EmitStats() { method inConns (line 499) | func (f *Firewall) inConns(fp firewall.Packet, h *HostInfo, caPool *ce... method addConn (line 574) | func (f *Firewall) addConn(fp firewall.Packet, incoming bool) { method evict (line 605) | func (f *Firewall) evict(p firewall.Packet) { type firewallMetrics (line 73) | type firewallMetrics struct type FirewallConntrack (line 79) | type FirewallConntrack struct type FirewallTable (line 88) | type FirewallTable struct method match (line 626) | func (ft *FirewallTable) match(p firewall.Packet, incoming bool, c *ce... function newFirewallTable (line 95) | func newFirewallTable() *FirewallTable { type FirewallCA (line 104) | type FirewallCA struct method addRule (line 700) | func (fc *FirewallCA) addRule(f *Firewall, groups []string, host strin... method match (line 740) | func (fc *FirewallCA) match(p firewall.Packet, c *cert.CachedCertifica... type FirewallRule (line 110) | type FirewallRule struct method addRule (line 763) | func (fr *FirewallRule) addRule(f *Firewall, groups []string, host, ci... method isAny (line 822) | func (fr *FirewallRule) isAny(groups []string, host string, cidr strin... method match (line 842) | func (fr *FirewallRule) match(p firewall.Packet, c *cert.CachedCertifi... type firewallGroups (line 118) | type firewallGroups struct type firewallPort (line 125) | type firewallPort method addRule (line 649) | func (fp firewallPort) addRule(f *Firewall, startPort int32, endPort i... method match (line 670) | func (fp firewallPort) match(p firewall.Packet, incoming bool, c *cert... type firewallLocalCIDR (line 127) | type firewallLocalCIDR struct method addRule (line 887) | func (flc *firewallLocalCIDR) addRule(f *Firewall, localCidr string) e... method match (line 914) | func (flc *firewallLocalCIDR) match(p firewall.Packet, c *cert.CachedC... function NewFirewall (line 134) | func NewFirewall(l *logrus.Logger, tcpTimeout, UDPTimeout, defaultTimeou... function NewFirewallFromConfig (line 194) | func NewFirewallFromConfig(l *logrus.Logger, cs *CertState, c *config.C)... function AddFirewallRulesFromConfig (line 317) | func AddFirewallRulesFromConfig(l *logrus.Logger, inbound bool, c *confi... type rule (line 926) | type rule struct method sanity (line 1004) | func (r *rule) sanity() error { function convertRule (line 938) | func convertRule(l *logrus.Logger, p any, table string, i int) (rule, er... function parsePort (line 1048) | func parsePort(s string) (int32, int32, error) { FILE: firewall/cache.go type ConntrackCache (line 12) | type ConntrackCache type ConntrackCacheTicker (line 14) | type ConntrackCacheTicker struct method tick (line 35) | func (c *ConntrackCacheTicker) tick(d time.Duration) { method Get (line 44) | func (c *ConntrackCacheTicker) Get(l *logrus.Logger) ConntrackCache { function NewConntrackCacheTicker (line 21) | func NewConntrackCacheTicker(d time.Duration) *ConntrackCacheTicker { FILE: firewall/packet.go constant ProtoAny (line 12) | ProtoAny = 0 constant ProtoTCP (line 13) | ProtoTCP = 6 constant ProtoUDP (line 14) | ProtoUDP = 17 constant ProtoICMP (line 15) | ProtoICMP = 1 constant ProtoICMPv6 (line 16) | ProtoICMPv6 = 58 constant PortAny (line 18) | PortAny = 0 constant PortFragment (line 19) | PortFragment = -1 type Packet (line 22) | type Packet struct method Copy (line 34) | func (fp *Packet) Copy() *Packet { method MarshalJSON (line 45) | func (fp Packet) MarshalJSON() ([]byte, error) { FILE: firewall_test.go function TestNewFirewall (line 21) | func TestNewFirewall(t *testing.T) { function TestFirewall_AddRule (line 60) | func TestFirewall_AddRule(t *testing.T) { function TestFirewall_Drop (line 179) | func TestFirewall_Drop(t *testing.T) { function TestFirewall_DropV6 (line 256) | func TestFirewall_DropV6(t *testing.T) { function BenchmarkFirewallTable_match (line 335) | func BenchmarkFirewallTable_match(b *testing.B) { function TestFirewall_Drop2 (line 487) | func TestFirewall_Drop2(t *testing.T) { function TestFirewall_Drop3 (line 546) | func TestFirewall_Drop3(t *testing.T) { function TestFirewall_Drop3V6 (line 635) | func TestFirewall_Drop3V6(t *testing.T) { function TestFirewall_DropConntrackReload (line 673) | func TestFirewall_DropConntrackReload(t *testing.T) { function TestFirewall_ICMPPortBehavior (line 738) | func TestFirewall_ICMPPortBehavior(t *testing.T) { function TestFirewall_DropIPSpoofing (line 882) | func TestFirewall_DropIPSpoofing(t *testing.T) { function BenchmarkLookup (line 928) | func BenchmarkLookup(b *testing.B) { function Test_parsePort (line 1001) | func Test_parsePort(t *testing.T) { function TestNewFirewallFromConfig (line 1041) | func TestNewFirewallFromConfig(t *testing.T) { function TestAddFirewallRulesFromConfig (line 1100) | func TestAddFirewallRulesFromConfig(t *testing.T) { function TestFirewall_convertRule (line 1236) | func TestFirewall_convertRule(t *testing.T) { function TestFirewall_convertRuleSanity (line 1272) | func TestFirewall_convertRuleSanity(t *testing.T) { type testcase (line 1328) | type testcase struct method Test (line 1335) | func (c *testcase) Test(t *testing.T, fw *Firewall) { function buildTestCase (line 1347) | func buildTestCase(setup testsetup, err error, theirPrefixes ...netip.Pr... type testsetup (line 1383) | type testsetup struct function newSetup (line 1389) | func newSetup(t *testing.T, l *logrus.Logger, myPrefixes ...netip.Prefix... function newSetupFromCert (line 1400) | func newSetupFromCert(t *testing.T, l *logrus.Logger, c dummyCert) tests... function TestFirewall_Drop_EnforceIPMatch (line 1415) | func TestFirewall_Drop_EnforceIPMatch(t *testing.T) { type addRuleCall (line 1493) | type addRuleCall struct type mockFirewall (line 1506) | type mockFirewall struct method AddRule (line 1511) | func (mf *mockFirewall) AddRule(incoming bool, proto uint8, startPort ... function resetConntrack (line 1530) | func resetConntrack(fw *Firewall) { FILE: handshake_ix.go function ixHandshakeStage0 (line 18) | func ixHandshakeStage0(f *Interface, hh *HandshakeHostInfo) bool { function ixHandshakeStage1 (line 103) | func ixHandshakeStage1(f *Interface, via ViaSender, packet []byte, h *he... function ixHandshakeStage2 (line 468) | func ixHandshakeStage2(f *Interface, via ViaSender, hh *HandshakeHostInf... FILE: handshake_manager.go constant DefaultHandshakeTryInterval (line 22) | DefaultHandshakeTryInterval = time.Millisecond * 100 constant DefaultHandshakeRetries (line 23) | DefaultHandshakeRetries = 10 constant DefaultHandshakeTriggerBuffer (line 24) | DefaultHandshakeTriggerBuffer = 64 constant DefaultUseRelays (line 25) | DefaultUseRelays = true type HandshakeConfig (line 37) | type HandshakeConfig struct type HandshakeManager (line 46) | type HandshakeManager struct method Run (line 123) | func (hm *HandshakeManager) Run(ctx context.Context) { method HandleIncoming (line 139) | func (hm *HandshakeManager) HandleIncoming(via ViaSender, packet []byt... method NextOutboundHandshakeTimerTick (line 164) | func (hm *HandshakeManager) NextOutboundHandshakeTimerTick(now time.Ti... method handleOutbound (line 175) | func (hm *HandshakeManager) handleOutbound(vpnIp netip.Addr, lighthous... method GetOrHandshake (line 421) | func (hm *HandshakeManager) GetOrHandshake(vpnIp netip.Addr, cacheCb f... method StartHandshake (line 438) | func (hm *HandshakeManager) StartHandshake(vpnAddr netip.Addr, cacheCb... method CheckAndComplete (line 509) | func (hm *HandshakeManager) CheckAndComplete(hostinfo *HostInfo, hands... method Complete (line 564) | func (hm *HandshakeManager) Complete(hostinfo *HostInfo, f *Interface) { method allocateIndex (line 587) | func (hm *HandshakeManager) allocateIndex(hh *HandshakeHostInfo) error { method DeleteHostInfo (line 612) | func (hm *HandshakeManager) DeleteHostInfo(hostinfo *HostInfo) { method unlockedDeleteHostInfo (line 618) | func (hm *HandshakeManager) unlockedDeleteHostInfo(hostinfo *HostInfo) { method QueryVpnAddr (line 639) | func (hm *HandshakeManager) QueryVpnAddr(vpnIp netip.Addr) *HostInfo { method queryVpnIp (line 648) | func (hm *HandshakeManager) queryVpnIp(vpnIp netip.Addr) *HandshakeHos... method QueryIndex (line 654) | func (hm *HandshakeManager) QueryIndex(index uint32) *HostInfo { method queryIndex (line 662) | func (hm *HandshakeManager) queryIndex(index uint32) *HandshakeHostInfo { method GetPreferredRanges (line 668) | func (hm *HandshakeManager) GetPreferredRanges() []netip.Prefix { method ForEachVpnAddr (line 672) | func (hm *HandshakeManager) ForEachVpnAddr(f controlEach) { method ForEachIndex (line 681) | func (hm *HandshakeManager) ForEachIndex(f controlEach) { method EmitStats (line 690) | func (hm *HandshakeManager) EmitStats() { type HandshakeHostInfo (line 68) | type HandshakeHostInfo struct method cachePacket (line 81) | func (hh *HandshakeHostInfo) cachePacket(l *logrus.Logger, t header.Me... function NewHandshakeManager (line 106) | func NewHandshakeManager(l *logrus.Logger, mainHostMap *HostMap, lightHo... function generateIndex (line 703) | func generateIndex(l *logrus.Logger) (uint32, error) { function hsTimeout (line 725) | func hsTimeout(tries int64, interval time.Duration) time.Duration { FILE: handshake_manager_test.go function Test_NewHandshakeManagerVpnIp (line 15) | func Test_NewHandshakeManagerVpnIp(t *testing.T) { function testCountTimerWheelEntries (line 68) | func testCountTimerWheelEntries(tw *LockingTimerWheel[netip.Addr]) (c in... type mockEncWriter (line 79) | type mockEncWriter struct method SendMessageToVpnAddr (line 82) | func (mw *mockEncWriter) SendMessageToVpnAddr(_ header.MessageType, _ ... method SendVia (line 86) | func (mw *mockEncWriter) SendVia(_ *HostInfo, _ *Relay, _, _, _ []byte... method SendMessageToHostInfo (line 90) | func (mw *mockEncWriter) SendMessageToHostInfo(_ header.MessageType, _... method Handshake (line 94) | func (mw *mockEncWriter) Handshake(_ netip.Addr) {} method GetHostInfo (line 96) | func (mw *mockEncWriter) GetHostInfo(_ netip.Addr) *HostInfo { method GetCertState (line 100) | func (mw *mockEncWriter) GetCertState() *CertState { FILE: header/header.go constant Version (line 25) | Version uint8 = 1 constant Len (line 26) | Len = 16 type MessageType (line 29) | type MessageType type MessageSubType (line 30) | type MessageSubType constant Handshake (line 33) | Handshake MessageType = 0 constant Message (line 34) | Message MessageType = 1 constant RecvError (line 35) | RecvError MessageType = 2 constant LightHouse (line 36) | LightHouse MessageType = 3 constant Test (line 37) | Test MessageType = 4 constant CloseTunnel (line 38) | CloseTunnel MessageType = 5 constant Control (line 39) | Control MessageType = 6 constant MessageNone (line 53) | MessageNone MessageSubType = 0 constant MessageRelay (line 54) | MessageRelay MessageSubType = 1 constant TestRequest (line 58) | TestRequest MessageSubType = 0 constant TestReply (line 59) | TestReply MessageSubType = 1 constant HandshakeIXPSK0 (line 63) | HandshakeIXPSK0 MessageSubType = 0 constant HandshakeXXPSK0 (line 64) | HandshakeXXPSK0 MessageSubType = 1 type H (line 91) | type H struct method String (line 113) | func (h *H) String() string { method MarshalJSON (line 122) | func (h *H) MarshalJSON() ([]byte, error) { method Encode (line 134) | func (h *H) Encode(b []byte) ([]byte, error) { method Parse (line 143) | func (h *H) Parse(b []byte) error { method TypeName (line 159) | func (h *H) TypeName() string { method SubTypeName (line 173) | func (h *H) SubTypeName() string { function Encode (line 102) | func Encode(b []byte, v uint8, t MessageType, st MessageSubType, ri uint... function TypeName (line 164) | func TypeName(t MessageType) string { function SubTypeName (line 178) | func SubTypeName(t MessageType, s MessageSubType) string { function NewHeader (line 189) | func NewHeader(b []byte) (*H, error) { FILE: header/header_test.go type headerTest (line 11) | type headerTest struct function TestEncode (line 32) | func TestEncode(t *testing.T) { function TestParse (line 43) | func TestParse(t *testing.T) { function TestTypeName (line 55) | func TestTypeName(t *testing.T) { function TestSubTypeName (line 63) | func TestSubTypeName(t *testing.T) { function TestTypeMap (line 77) | func TestTypeMap(t *testing.T) { function TestHeader_String (line 105) | func TestHeader_String(t *testing.T) { function TestHeader_MarshalJSON (line 113) | func TestHeader_MarshalJSON(t *testing.T) { FILE: hostmap.go constant defaultPromoteEvery (line 22) | defaultPromoteEvery = 1000 constant defaultReQueryEvery (line 23) | defaultReQueryEvery = 5000 constant defaultReQueryWait (line 24) | defaultReQueryWait = time.Minute constant MaxRemotes (line 25) | MaxRemotes = 10 constant MaxHostInfosPerVpnIp (line 29) | MaxHostInfosPerVpnIp = 5 constant RoamingSuppressSeconds (line 33) | RoamingSuppressSeconds = 2 constant Requested (line 36) | Requested = iota constant PeerRequested (line 37) | PeerRequested constant Established (line 38) | Established constant Disestablished (line 39) | Disestablished constant Unknowntype (line 43) | Unknowntype = iota constant ForwardingType (line 44) | ForwardingType constant TerminalType (line 45) | TerminalType type Relay (line 48) | type Relay struct type HostMap (line 56) | type HostMap struct method reload (line 340) | func (hm *HostMap) reload(c *config.C, initial bool) { method EmitStats (line 364) | func (hm *HostMap) EmitStats() { method DeleteHostInfo (line 379) | func (hm *HostMap) DeleteHostInfo(hostinfo *HostInfo) bool { method MakePrimary (line 390) | func (hm *HostMap) MakePrimary(hostinfo *HostInfo) { method unlockedMakePrimary (line 396) | func (hm *HostMap) unlockedMakePrimary(hostinfo *HostInfo) { method unlockedDeleteHostInfo (line 433) | func (hm *HostMap) unlockedDeleteHostInfo(hostinfo *HostInfo) { method unlockedInnerDeleteHostInfo (line 445) | func (hm *HostMap) unlockedInnerDeleteHostInfo(hostinfo *HostInfo, add... method QueryIndex (line 508) | func (hm *HostMap) QueryIndex(index uint32) *HostInfo { method QueryRelayIndex (line 519) | func (hm *HostMap) QueryRelayIndex(index uint32) *HostInfo { method QueryReverseIndex (line 530) | func (hm *HostMap) QueryReverseIndex(index uint32) *HostInfo { method QueryVpnAddr (line 541) | func (hm *HostMap) QueryVpnAddr(vpnIp netip.Addr) *HostInfo { method QueryVpnAddrsRelayFor (line 545) | func (hm *HostMap) QueryVpnAddrsRelayFor(targetIps []netip.Addr, relay... method unlockedDisestablishVpnAddrRelayFor (line 567) | func (hm *HostMap) unlockedDisestablishVpnAddrRelayFor(hi *HostInfo) { method queryVpnAddr (line 588) | func (hm *HostMap) queryVpnAddr(vpnIp netip.Addr, promoteIfce *Interfa... method unlockedAddHostInfo (line 606) | func (hm *HostMap) unlockedAddHostInfo(hostinfo *HostInfo, f *Interfac... method unlockedInnerAddHostInfo (line 625) | func (hm *HostMap) unlockedInnerAddHostInfo(vpnAddr netip.Addr, hostin... method GetPreferredRanges (line 645) | func (hm *HostMap) GetPreferredRanges() []netip.Prefix { method ForEachVpnAddr (line 650) | func (hm *HostMap) ForEachVpnAddr(f controlEach) { method ForEachIndex (line 659) | func (hm *HostMap) ForEachIndex(f controlEach) { type RelayState (line 69) | type RelayState struct method DeleteRelay (line 80) | func (rs *RelayState) DeleteRelay(ip netip.Addr) { method UpdateRelayForByIpState (line 91) | func (rs *RelayState) UpdateRelayForByIpState(vpnIp netip.Addr, state ... method UpdateRelayForByIdxState (line 102) | func (rs *RelayState) UpdateRelayForByIdxState(idx uint32, state int) { method CopyAllRelayFor (line 113) | func (rs *RelayState) CopyAllRelayFor() []*Relay { method GetRelayForByAddr (line 123) | func (rs *RelayState) GetRelayForByAddr(addr netip.Addr) (*Relay, bool) { method InsertRelayTo (line 130) | func (rs *RelayState) InsertRelayTo(ip netip.Addr) { method CopyRelayIps (line 138) | func (rs *RelayState) CopyRelayIps() []netip.Addr { method CopyRelayForIps (line 146) | func (rs *RelayState) CopyRelayForIps() []netip.Addr { method CopyRelayForIdxs (line 156) | func (rs *RelayState) CopyRelayForIdxs() []uint32 { method CompleteRelayByIP (line 166) | func (rs *RelayState) CompleteRelayByIP(vpnIp netip.Addr, remoteIdx ui... method CompleteRelayByIdx (line 181) | func (rs *RelayState) CompleteRelayByIdx(localIdx uint32, remoteIdx ui... method QueryRelayForByIp (line 196) | func (rs *RelayState) QueryRelayForByIp(vpnIp netip.Addr) (*Relay, boo... method QueryRelayForByIdx (line 203) | func (rs *RelayState) QueryRelayForByIdx(idx uint32) (*Relay, bool) { method InsertRelay (line 210) | func (rs *RelayState) InsertRelay(ip netip.Addr, idx uint32, r *Relay) { type NetworkType (line 217) | type NetworkType constant NetworkTypeUnknown (line 220) | NetworkTypeUnknown NetworkType = iota constant NetworkTypeVPN (line 222) | NetworkTypeVPN constant NetworkTypeVPNPeer (line 224) | NetworkTypeVPNPeer constant NetworkTypeUnsafe (line 226) | NetworkTypeUnsafe type HostInfo (line 229) | type HostInfo struct method TryPromoteBest (line 670) | func (i *HostInfo) TryPromoteBest(preferredRanges []netip.Prefix, ifce... method GetCert (line 708) | func (i *HostInfo) GetCert() *cert.CachedCertificate { method SetRemote (line 716) | func (i *HostInfo) SetRemote(remote netip.AddrPort) { method SetRemoteIfPreferred (line 726) | func (i *HostInfo) SetRemoteIfPreferred(hm *HostMap, via ViaSender) bo... method buildNetworks (line 765) | func (i *HostInfo) buildNetworks(myVpnNetworksTable *bart.Lite, c cert... method logger (line 787) | func (i *HostInfo) logger(l *logrus.Logger) *logrus.Entry { type ViaSender (line 280) | type ViaSender struct method String (line 288) | func (v ViaSender) String() string { method MarshalJSON (line 295) | func (v ViaSender) MarshalJSON() ([]byte, error) { type cachedPacket (line 302) | type cachedPacket struct type packetCallback (line 309) | type packetCallback type cachedPacketMetrics (line 311) | type cachedPacketMetrics struct function NewHostMapFromConfig (line 316) | func NewHostMapFromConfig(l *logrus.Logger, c *config.C) *HostMap { function newHostMap (line 330) | func newHostMap(l *logrus.Logger) *HostMap { function localAddrs (line 807) | func localAddrs(l *logrus.Logger, allowList *LocalAllowList) []netip.Addr { FILE: hostmap_test.go function TestHostMap_MakePrimary (line 13) | func TestHostMap_MakePrimary(t *testing.T) { function TestHostMap_DeleteHostInfo (line 87) | func TestHostMap_DeleteHostInfo(t *testing.T) { function TestHostMap_reload (line 197) | func TestHostMap_reload(t *testing.T) { function TestHostMap_RelayState (line 220) | func TestHostMap_RelayState(t *testing.T) { FILE: hostmap_tester.go method GetVpnAddrs (line 11) | func (i *HostInfo) GetVpnAddrs() []netip.Addr { method GetLocalIndex (line 15) | func (i *HostInfo) GetLocalIndex() uint32 { method GetRemoteIndex (line 19) | func (i *HostInfo) GetRemoteIndex() uint32 { method GetRelayState (line 23) | func (i *HostInfo) GetRelayState() *RelayState { FILE: inside.go method consumeInsidePacket (line 14) | func (f *Interface) consumeInsidePacket(packet []byte, fwPacket *firewal... method rejectInside (line 84) | func (f *Interface) rejectInside(packet []byte, out []byte, q int) { method rejectOutside (line 100) | func (f *Interface) rejectOutside(packet []byte, ci *ConnectionState, ho... method Handshake (line 125) | func (f *Interface) Handshake(vpnAddr netip.Addr) { method getOrHandshakeNoRouting (line 131) | func (f *Interface) getOrHandshakeNoRouting(vpnAddr netip.Addr, cacheCal... method getOrHandshakeConsiderRouting (line 141) | func (f *Interface) getOrHandshakeConsiderRouting(fwPacket *firewall.Pac... method sendMessageNow (line 212) | func (f *Interface) sendMessageNow(t header.MessageType, st header.Messa... method SendMessageToVpnAddr (line 236) | func (f *Interface) SendMessageToVpnAddr(t header.MessageType, st header... method SendMessageToHostInfo (line 256) | func (f *Interface) SendMessageToHostInfo(t header.MessageType, st heade... method send (line 260) | func (f *Interface) send(t header.MessageType, st header.MessageSubType,... method sendTo (line 265) | func (f *Interface) sendTo(t header.MessageType, st header.MessageSubTyp... method SendVia (line 278) | func (f *Interface) SendVia(via *HostInfo, method sendNoMetrics (line 335) | func (f *Interface) sendNoMetrics(t header.MessageType, st header.Messag... FILE: inside_bsd.go constant immediatelyForwardToSelf (line 5) | immediatelyForwardToSelf bool = true FILE: inside_generic.go constant immediatelyForwardToSelf (line 5) | immediatelyForwardToSelf bool = false FILE: interface.go constant mtu (line 24) | mtu = 9001 type InterfaceConfig (line 26) | type InterfaceConfig struct type Interface (line 53) | type Interface struct method activate (line 213) | func (f *Interface) activate() { method run (line 253) | func (f *Interface) run() { method listenOut (line 265) | func (f *Interface) listenOut(i int) { method listenIn (line 287) | func (f *Interface) listenIn(reader io.ReadWriteCloser, i int) { method RegisterConfigChangeCallbacks (line 313) | func (f *Interface) RegisterConfigChangeCallbacks(c *config.C) { method reloadDisconnectInvalid (line 325) | func (f *Interface) reloadDisconnectInvalid(c *config.C) { method reloadFirewall (line 335) | func (f *Interface) reloadFirewall(c *config.C) { method reloadSendRecvError (line 374) | func (f *Interface) reloadSendRecvError(c *config.C) { method reloadAcceptRecvError (line 398) | func (f *Interface) reloadAcceptRecvError(c *config.C) { method reloadMisc (line 422) | func (f *Interface) reloadMisc(c *config.C) { method emitStats (line 442) | func (f *Interface) emitStats(ctx context.Context, i time.Duration) { method GetHostInfo (line 476) | func (f *Interface) GetHostInfo(vpnIp netip.Addr) *HostInfo { method GetCertState (line 480) | func (f *Interface) GetCertState() *CertState { method Close (line 484) | func (f *Interface) Close() error { type EncWriter (line 99) | type EncWriter interface type recvErrorConfig (line 114) | type recvErrorConfig method ShouldRecvError (line 122) | func (s recvErrorConfig) ShouldRecvError(endpoint netip.AddrPort) bool { method String (line 135) | func (s recvErrorConfig) String() string { constant recvErrorAlways (line 117) | recvErrorAlways recvErrorConfig = iota constant recvErrorNever (line 118) | recvErrorNever constant recvErrorPrivate (line 119) | recvErrorPrivate function NewInterface (line 148) | func NewInterface(ctx context.Context, c *InterfaceConfig) (*Interface, ... FILE: iputil/packet.go constant MaxRejectPacketSize (line 14) | MaxRejectPacketSize = ipv4.HeaderLen + 8 + 60 + 8 function CreateRejectPacket (line 17) | func CreateRejectPacket(packet []byte, out []byte) []byte { function ipv4CreateRejectICMPPacket (line 30) | func ipv4CreateRejectICMPPacket(packet []byte, out []byte) []byte { function ipv4CreateRejectTCPPacket (line 92) | func ipv4CreateRejectTCPPacket(packet []byte, out []byte) []byte { function CreateICMPEchoResponse (line 168) | func CreateICMPEchoResponse(packet, out []byte) []byte { function tcpipChecksum (line 207) | func tcpipChecksum(data []byte, csum uint32) uint16 { function ipv4PseudoheaderChecksum (line 229) | func ipv4PseudoheaderChecksum(src, dst []byte, proto, length uint32) (cs... FILE: iputil/packet_test.go function Test_CreateRejectPacket (line 11) | func Test_CreateRejectPacket(t *testing.T) { FILE: lighthouse.go type LightHouse (line 29) | type LightHouse struct method GetStaticHostList (line 143) | func (lh *LightHouse) GetStaticHostList() map[netip.Addr]struct{} { method GetLighthouses (line 147) | func (lh *LightHouse) GetLighthouses() []netip.Addr { method GetRemoteAllowList (line 151) | func (lh *LightHouse) GetRemoteAllowList() *RemoteAllowList { method GetLocalAllowList (line 155) | func (lh *LightHouse) GetLocalAllowList() *LocalAllowList { method GetAdvertiseAddrs (line 159) | func (lh *LightHouse) GetAdvertiseAddrs() []netip.AddrPort { method GetRelaysForMe (line 163) | func (lh *LightHouse) GetRelaysForMe() []netip.Addr { method getCalculatedRemotes (line 167) | func (lh *LightHouse) getCalculatedRemotes() *bart.Table[[]*calculated... method GetUpdateInterval (line 171) | func (lh *LightHouse) GetUpdateInterval() int64 { method reload (line 175) | func (lh *LightHouse) reload(c *config.C, initial bool) error { method parseLighthouses (line 349) | func (lh *LightHouse) parseLighthouses(c *config.C) ([]netip.Addr, err... method loadStaticMap (line 409) | func (lh *LightHouse) loadStaticMap(c *config.C, staticList map[netip.... method Query (line 458) | func (lh *LightHouse) Query(vpnAddr netip.Addr) *RemoteList { method QueryServer (line 472) | func (lh *LightHouse) QueryServer(vpnAddr netip.Addr) { method QueryCache (line 481) | func (lh *LightHouse) QueryCache(vpnAddrs []netip.Addr) *RemoteList { method queryAndPrepMessage (line 498) | func (lh *LightHouse) queryAndPrepMessage(vpnAddr netip.Addr, f func(*... method DeleteVpnAddrs (line 524) | func (lh *LightHouse) DeleteVpnAddrs(allVpnAddrs []netip.Addr) { method addStaticRemotes (line 554) | func (lh *LightHouse) addStaticRemotes(i int, d time.Duration, network... method addCalculatedRemotes (line 594) | func (lh *LightHouse) addCalculatedRemotes(vpnAddr netip.Addr) bool { method unlockedGetRemoteList (line 638) | func (lh *LightHouse) unlockedGetRemoteList(allAddrs []netip.Addr) *Re... method shouldAdd (line 657) | func (lh *LightHouse) shouldAdd(vpnAddrs []netip.Addr, to netip.Addr) ... method unlockedShouldAddV4 (line 675) | func (lh *LightHouse) unlockedShouldAddV4(vpnAddr netip.Addr, to *V4Ad... method unlockedShouldAddV6 (line 695) | func (lh *LightHouse) unlockedShouldAddV6(vpnAddr netip.Addr, to *V6Ad... method IsLighthouseAddr (line 714) | func (lh *LightHouse) IsLighthouseAddr(vpnAddr netip.Addr) bool { method IsAnyLighthouseAddr (line 719) | func (lh *LightHouse) IsAnyLighthouseAddr(vpnAddrs []netip.Addr) bool { method startQueryWorker (line 729) | func (lh *LightHouse) startQueryWorker() { method innerQueryServer (line 749) | func (lh *LightHouse) innerQueryServer(addr netip.Addr, nb, out []byte) { method StartUpdateWorker (line 823) | func (lh *LightHouse) StartUpdateWorker() { method SendUpdate (line 849) | func (lh *LightHouse) SendUpdate() { method NewRequestHandler (line 973) | func (lh *LightHouse) NewRequestHandler() *LightHouseHandler { method metricRx (line 989) | func (lh *LightHouse) metricRx(t NebulaMeta_MessageType, i int64) { method metricTx (line 993) | func (lh *LightHouse) metricTx(t NebulaMeta_MessageType, i int64) { function NewLightHouseFromConfig (line 83) | func NewLightHouseFromConfig(ctx context.Context, l *logrus.Logger, c *c... function getStaticMapCadence (line 383) | func getStaticMapCadence(c *config.C) (time.Duration, error) { function getStaticMapLookupTimeout (line 392) | func getStaticMapLookupTimeout(c *config.C) (time.Duration, error) { function getStaticMapNetwork (line 401) | func getStaticMapNetwork(c *config.C) (string, error) { type LightHouseHandler (line 964) | type LightHouseHandler struct method resetMeta (line 999) | func (lhh *LightHouseHandler) resetMeta() *NebulaMeta { method HandleRequest (line 1015) | func (lhh *LightHouseHandler) HandleRequest(rAddr netip.AddrPort, from... method handleHostQuery (line 1051) | func (lhh *LightHouseHandler) handleHostQuery(n *NebulaMeta, fromVpnAd... method sendHostPunchNotification (line 1108) | func (lhh *LightHouseHandler) sendHostPunchNotification(n *NebulaMeta,... method coalesceAnswers (line 1160) | func (lhh *LightHouseHandler) coalesceAnswers(v cert.Version, c *cache... method handleHostQueryReply (line 1201) | func (lhh *LightHouseHandler) handleHostQueryReply(n *NebulaMeta, from... method handleHostUpdateNotification (line 1232) | func (lhh *LightHouseHandler) handleHostUpdateNotification(n *NebulaMe... method handleHostPunchNotification (line 1303) | func (lhh *LightHouseHandler) handleHostPunchNotification(n *NebulaMet... function protoAddrToNetAddr (line 1367) | func protoAddrToNetAddr(addr *Addr) netip.Addr { function protoV4AddrPortToNetAddrPort (line 1374) | func protoV4AddrPortToNetAddrPort(ap *V4AddrPort) netip.AddrPort { function protoV6AddrPortToNetAddrPort (line 1380) | func protoV6AddrPortToNetAddrPort(ap *V6AddrPort) netip.AddrPort { function netAddrToProtoAddr (line 1387) | func netAddrToProtoAddr(addr netip.Addr) *Addr { function netAddrToProtoV4AddrPort (line 1395) | func netAddrToProtoV4AddrPort(addr netip.Addr, port uint16) *V4AddrPort { function netAddrToProtoV6AddrPort (line 1403) | func netAddrToProtoV6AddrPort(addr netip.Addr, port uint16) *V6AddrPort { method GetRelays (line 1412) | func (d *NebulaMetaDetails) GetRelays() []netip.Addr { function findNetworkUnion (line 1431) | func findNetworkUnion(prefixes []netip.Prefix, addrs []netip.Addr) (neti... method GetVpnAddrAndVersion (line 1442) | func (d *NebulaMetaDetails) GetVpnAddrAndVersion() (netip.Addr, cert.Ver... FILE: lighthouse_test.go function TestOldIPv4Only (line 19) | func TestOldIPv4Only(t *testing.T) { function Test_lhStaticMapping (line 30) | func Test_lhStaticMapping(t *testing.T) { function TestReloadLighthouseInterval (line 55) | func TestReloadLighthouseInterval(t *testing.T) { function BenchmarkLighthouseHandleRequest (line 90) | func BenchmarkLighthouseHandleRequest(b *testing.B) { function TestLighthouse_Memory (line 169) | func TestLighthouse_Memory(t *testing.T) { function TestLighthouse_reload (line 276) | func TestLighthouse_reload(t *testing.T) { function newLHHostRequest (line 306) | func newLHHostRequest(fromAddr netip.AddrPort, myVpnIp, queryVpnIp netip... function newLHHostUpdate (line 332) | func newLHHostUpdate(fromAddr netip.AddrPort, vpnIp netip.Addr, addrs []... type testLhReply (line 362) | type testLhReply struct type testEncWriter (line 369) | type testEncWriter struct method SendVia (line 375) | func (tw *testEncWriter) SendVia(via *HostInfo, relay *Relay, ad, nb, ... method Handshake (line 377) | func (tw *testEncWriter) Handshake(vpnIp netip.Addr) { method SendMessageToHostInfo (line 380) | func (tw *testEncWriter) SendMessageToHostInfo(t header.MessageType, s... method SendMessageToVpnAddr (line 397) | func (tw *testEncWriter) SendMessageToVpnAddr(t header.MessageType, st... method GetHostInfo (line 414) | func (tw *testEncWriter) GetHostInfo(vpnIp netip.Addr) *HostInfo { method GetCertState (line 418) | func (tw *testEncWriter) GetCertState() *CertState { function assertIp4InArray (line 423) | func assertIp4InArray(t *testing.T, have []*V4AddrPort, want ...netip.Ad... function Test_findNetworkUnion (line 436) | func Test_findNetworkUnion(t *testing.T) { function TestLighthouse_Dont_Delete_Static_Hosts (line 496) | func TestLighthouse_Dont_Delete_Static_Hosts(t *testing.T) { function TestLighthouse_DeletesWork (line 566) | func TestLighthouse_DeletesWork(t *testing.T) { FILE: logger.go function configLogger (line 12) | func configLogger(l *logrus.Logger, c *config.C) error { FILE: main.go function Main (line 23) | func Main(c *config.C, configTest bool, buildVersion string, logger *log... function moduleVersion (line 303) | func moduleVersion() string { FILE: message_metrics.go type MessageMetrics (line 10) | type MessageMetrics struct method Rx (line 18) | func (m *MessageMetrics) Rx(t header.MessageType, s header.MessageSubT... method Tx (line 27) | func (m *MessageMetrics) Tx(t header.MessageType, s header.MessageSubT... function newMessageMetrics (line 37) | func newMessageMetrics() *MessageMetrics { function newMessageMetricsOnlyRecvError (line 63) | func newMessageMetricsOnlyRecvError() *MessageMetrics { function newLighthouseMetrics (line 77) | func newLighthouseMetrics() *MessageMetrics { FILE: nebula.pb.go constant _ (line 23) | _ = proto.GoGoProtoPackageIsVersion3 type NebulaMeta_MessageType (line 25) | type NebulaMeta_MessageType method String (line 69) | func (x NebulaMeta_MessageType) String() string { method EnumDescriptor (line 73) | func (NebulaMeta_MessageType) EnumDescriptor() ([]byte, []int) { constant NebulaMeta_None (line 28) | NebulaMeta_None NebulaMeta_MessageType = 0 constant NebulaMeta_HostQuery (line 29) | NebulaMeta_HostQuery NebulaMeta_MessageType = 1 constant NebulaMeta_HostQueryReply (line 30) | NebulaMeta_HostQueryReply NebulaMeta_MessageType = 2 constant NebulaMeta_HostUpdateNotification (line 31) | NebulaMeta_HostUpdateNotification NebulaMeta_MessageType = 3 constant NebulaMeta_HostMovedNotification (line 32) | NebulaMeta_HostMovedNotification NebulaMeta_MessageType = 4 constant NebulaMeta_HostPunchNotification (line 33) | NebulaMeta_HostPunchNotification NebulaMeta_MessageType = 5 constant NebulaMeta_HostWhoami (line 34) | NebulaMeta_HostWhoami NebulaMeta_MessageType = 6 constant NebulaMeta_HostWhoamiReply (line 35) | NebulaMeta_HostWhoamiReply NebulaMeta_MessageType = 7 constant NebulaMeta_PathCheck (line 36) | NebulaMeta_PathCheck NebulaMeta_MessageType = 8 constant NebulaMeta_PathCheckReply (line 37) | NebulaMeta_PathCheckReply NebulaMeta_MessageType = 9 constant NebulaMeta_HostUpdateNotificationAck (line 38) | NebulaMeta_HostUpdateNotificationAck NebulaMeta_MessageType = 10 type NebulaPing_MessageType (line 77) | type NebulaPing_MessageType method String (line 94) | func (x NebulaPing_MessageType) String() string { method EnumDescriptor (line 98) | func (NebulaPing_MessageType) EnumDescriptor() ([]byte, []int) { constant NebulaPing_Ping (line 80) | NebulaPing_Ping NebulaPing_MessageType = 0 constant NebulaPing_Reply (line 81) | NebulaPing_Reply NebulaPing_MessageType = 1 type NebulaControl_MessageType (line 102) | type NebulaControl_MessageType method String (line 122) | func (x NebulaControl_MessageType) String() string { method EnumDescriptor (line 126) | func (NebulaControl_MessageType) EnumDescriptor() ([]byte, []int) { constant NebulaControl_None (line 105) | NebulaControl_None NebulaControl_MessageType = 0 constant NebulaControl_CreateRelayRequest (line 106) | NebulaControl_CreateRelayRequest NebulaControl_MessageType = 1 constant NebulaControl_CreateRelayResponse (line 107) | NebulaControl_CreateRelayResponse NebulaControl_MessageType = 2 type NebulaMeta (line 130) | type NebulaMeta struct method Reset (line 135) | func (m *NebulaMeta) Reset() { *m = NebulaMeta{} } method String (line 136) | func (m *NebulaMeta) String() string { return proto.CompactTextString(... method ProtoMessage (line 137) | func (*NebulaMeta) ProtoMessage() {} method Descriptor (line 138) | func (*NebulaMeta) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 141) | func (m *NebulaMeta) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 144) | func (m *NebulaMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte... method XXX_Merge (line 156) | func (m *NebulaMeta) XXX_Merge(src proto.Message) { method XXX_Size (line 159) | func (m *NebulaMeta) XXX_Size() int { method XXX_DiscardUnknown (line 162) | func (m *NebulaMeta) XXX_DiscardUnknown() { method GetType (line 168) | func (m *NebulaMeta) GetType() NebulaMeta_MessageType { method GetDetails (line 175) | func (m *NebulaMeta) GetDetails() *NebulaMetaDetails { method Marshal (line 793) | func (m *NebulaMeta) Marshal() (dAtA []byte, err error) { method MarshalTo (line 803) | func (m *NebulaMeta) MarshalTo(dAtA []byte) (int, error) { method MarshalToSizedBuffer (line 808) | func (m *NebulaMeta) MarshalToSizedBuffer(dAtA []byte) (int, error) { method Size (line 1255) | func (m *NebulaMeta) Size() (n int) { method Unmarshal (line 1461) | func (m *NebulaMeta) Unmarshal(dAtA []byte) error { type NebulaMetaDetails (line 182) | type NebulaMetaDetails struct method Reset (line 192) | func (m *NebulaMetaDetails) Reset() { *m = NebulaMetaDetails{} } method String (line 193) | func (m *NebulaMetaDetails) String() string { return proto.CompactText... method ProtoMessage (line 194) | func (*NebulaMetaDetails) ProtoMessage() {} method Descriptor (line 195) | func (*NebulaMetaDetails) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 198) | func (m *NebulaMetaDetails) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 201) | func (m *NebulaMetaDetails) XXX_Marshal(b []byte, deterministic bool) ... method XXX_Merge (line 213) | func (m *NebulaMetaDetails) XXX_Merge(src proto.Message) { method XXX_Size (line 216) | func (m *NebulaMetaDetails) XXX_Size() int { method XXX_DiscardUnknown (line 219) | func (m *NebulaMetaDetails) XXX_DiscardUnknown() { method GetOldVpnAddr (line 226) | func (m *NebulaMetaDetails) GetOldVpnAddr() uint32 { method GetVpnAddr (line 233) | func (m *NebulaMetaDetails) GetVpnAddr() *Addr { method GetOldRelayVpnAddrs (line 241) | func (m *NebulaMetaDetails) GetOldRelayVpnAddrs() []uint32 { method GetRelayVpnAddrs (line 248) | func (m *NebulaMetaDetails) GetRelayVpnAddrs() []*Addr { method GetV4AddrPorts (line 255) | func (m *NebulaMetaDetails) GetV4AddrPorts() []*V4AddrPort { method GetV6AddrPorts (line 262) | func (m *NebulaMetaDetails) GetV6AddrPorts() []*V6AddrPort { method GetCounter (line 269) | func (m *NebulaMetaDetails) GetCounter() uint32 { method Marshal (line 833) | func (m *NebulaMetaDetails) Marshal() (dAtA []byte, err error) { method MarshalTo (line 843) | func (m *NebulaMetaDetails) MarshalTo(dAtA []byte) (int, error) { method MarshalToSizedBuffer (line 848) | func (m *NebulaMetaDetails) MarshalToSizedBuffer(dAtA []byte) (int, er... method Size (line 1271) | func (m *NebulaMetaDetails) Size() (n int) { method Unmarshal (line 1566) | func (m *NebulaMetaDetails) Unmarshal(dAtA []byte) error { type Addr (line 276) | type Addr struct method Reset (line 281) | func (m *Addr) Reset() { *m = Addr{} } method String (line 282) | func (m *Addr) String() string { return proto.CompactTextString(m) } method ProtoMessage (line 283) | func (*Addr) ProtoMessage() {} method Descriptor (line 284) | func (*Addr) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 287) | func (m *Addr) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 290) | func (m *Addr) XXX_Marshal(b []byte, deterministic bool) ([]byte, erro... method XXX_Merge (line 302) | func (m *Addr) XXX_Merge(src proto.Message) { method XXX_Size (line 305) | func (m *Addr) XXX_Size() int { method XXX_DiscardUnknown (line 308) | func (m *Addr) XXX_DiscardUnknown() { method GetHi (line 314) | func (m *Addr) GetHi() uint64 { method GetLo (line 321) | func (m *Addr) GetLo() uint64 { method Marshal (line 938) | func (m *Addr) Marshal() (dAtA []byte, err error) { method MarshalTo (line 948) | func (m *Addr) MarshalTo(dAtA []byte) (int, error) { method MarshalToSizedBuffer (line 953) | func (m *Addr) MarshalToSizedBuffer(dAtA []byte) (int, error) { method Size (line 1315) | func (m *Addr) Size() (n int) { method Unmarshal (line 1868) | func (m *Addr) Unmarshal(dAtA []byte) error { type V4AddrPort (line 328) | type V4AddrPort struct method Reset (line 333) | func (m *V4AddrPort) Reset() { *m = V4AddrPort{} } method String (line 334) | func (m *V4AddrPort) String() string { return proto.CompactTextString(... method ProtoMessage (line 335) | func (*V4AddrPort) ProtoMessage() {} method Descriptor (line 336) | func (*V4AddrPort) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 339) | func (m *V4AddrPort) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 342) | func (m *V4AddrPort) XXX_Marshal(b []byte, deterministic bool) ([]byte... method XXX_Merge (line 354) | func (m *V4AddrPort) XXX_Merge(src proto.Message) { method XXX_Size (line 357) | func (m *V4AddrPort) XXX_Size() int { method XXX_DiscardUnknown (line 360) | func (m *V4AddrPort) XXX_DiscardUnknown() { method GetAddr (line 366) | func (m *V4AddrPort) GetAddr() uint32 { method GetPort (line 373) | func (m *V4AddrPort) GetPort() uint32 { method Marshal (line 971) | func (m *V4AddrPort) Marshal() (dAtA []byte, err error) { method MarshalTo (line 981) | func (m *V4AddrPort) MarshalTo(dAtA []byte) (int, error) { method MarshalToSizedBuffer (line 986) | func (m *V4AddrPort) MarshalToSizedBuffer(dAtA []byte) (int, error) { method Size (line 1330) | func (m *V4AddrPort) Size() (n int) { method Unmarshal (line 1956) | func (m *V4AddrPort) Unmarshal(dAtA []byte) error { type V6AddrPort (line 380) | type V6AddrPort struct method Reset (line 386) | func (m *V6AddrPort) Reset() { *m = V6AddrPort{} } method String (line 387) | func (m *V6AddrPort) String() string { return proto.CompactTextString(... method ProtoMessage (line 388) | func (*V6AddrPort) ProtoMessage() {} method Descriptor (line 389) | func (*V6AddrPort) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 392) | func (m *V6AddrPort) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 395) | func (m *V6AddrPort) XXX_Marshal(b []byte, deterministic bool) ([]byte... method XXX_Merge (line 407) | func (m *V6AddrPort) XXX_Merge(src proto.Message) { method XXX_Size (line 410) | func (m *V6AddrPort) XXX_Size() int { method XXX_DiscardUnknown (line 413) | func (m *V6AddrPort) XXX_DiscardUnknown() { method GetHi (line 419) | func (m *V6AddrPort) GetHi() uint64 { method GetLo (line 426) | func (m *V6AddrPort) GetLo() uint64 { method GetPort (line 433) | func (m *V6AddrPort) GetPort() uint32 { method Marshal (line 1004) | func (m *V6AddrPort) Marshal() (dAtA []byte, err error) { method MarshalTo (line 1014) | func (m *V6AddrPort) MarshalTo(dAtA []byte) (int, error) { method MarshalToSizedBuffer (line 1019) | func (m *V6AddrPort) MarshalToSizedBuffer(dAtA []byte) (int, error) { method Size (line 1345) | func (m *V6AddrPort) Size() (n int) { method Unmarshal (line 2044) | func (m *V6AddrPort) Unmarshal(dAtA []byte) error { type NebulaPing (line 440) | type NebulaPing struct method Reset (line 445) | func (m *NebulaPing) Reset() { *m = NebulaPing{} } method String (line 446) | func (m *NebulaPing) String() string { return proto.CompactTextString(... method ProtoMessage (line 447) | func (*NebulaPing) ProtoMessage() {} method Descriptor (line 448) | func (*NebulaPing) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 451) | func (m *NebulaPing) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 454) | func (m *NebulaPing) XXX_Marshal(b []byte, deterministic bool) ([]byte... method XXX_Merge (line 466) | func (m *NebulaPing) XXX_Merge(src proto.Message) { method XXX_Size (line 469) | func (m *NebulaPing) XXX_Size() int { method XXX_DiscardUnknown (line 472) | func (m *NebulaPing) XXX_DiscardUnknown() { method GetType (line 478) | func (m *NebulaPing) GetType() NebulaPing_MessageType { method GetTime (line 485) | func (m *NebulaPing) GetTime() uint64 { method Marshal (line 1042) | func (m *NebulaPing) Marshal() (dAtA []byte, err error) { method MarshalTo (line 1052) | func (m *NebulaPing) MarshalTo(dAtA []byte) (int, error) { method MarshalToSizedBuffer (line 1057) | func (m *NebulaPing) MarshalToSizedBuffer(dAtA []byte) (int, error) { method Size (line 1363) | func (m *NebulaPing) Size() (n int) { method Unmarshal (line 2151) | func (m *NebulaPing) Unmarshal(dAtA []byte) error { type NebulaHandshake (line 492) | type NebulaHandshake struct method Reset (line 497) | func (m *NebulaHandshake) Reset() { *m = NebulaHandshake{} } method String (line 498) | func (m *NebulaHandshake) String() string { return proto.CompactTextSt... method ProtoMessage (line 499) | func (*NebulaHandshake) ProtoMessage() {} method Descriptor (line 500) | func (*NebulaHandshake) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 503) | func (m *NebulaHandshake) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 506) | func (m *NebulaHandshake) XXX_Marshal(b []byte, deterministic bool) ([... method XXX_Merge (line 518) | func (m *NebulaHandshake) XXX_Merge(src proto.Message) { method XXX_Size (line 521) | func (m *NebulaHandshake) XXX_Size() int { method XXX_DiscardUnknown (line 524) | func (m *NebulaHandshake) XXX_DiscardUnknown() { method GetDetails (line 530) | func (m *NebulaHandshake) GetDetails() *NebulaHandshakeDetails { method GetHmac (line 537) | func (m *NebulaHandshake) GetHmac() []byte { method Marshal (line 1075) | func (m *NebulaHandshake) Marshal() (dAtA []byte, err error) { method MarshalTo (line 1085) | func (m *NebulaHandshake) MarshalTo(dAtA []byte) (int, error) { method MarshalToSizedBuffer (line 1090) | func (m *NebulaHandshake) MarshalToSizedBuffer(dAtA []byte) (int, erro... method Size (line 1378) | func (m *NebulaHandshake) Size() (n int) { method Unmarshal (line 2239) | func (m *NebulaHandshake) Unmarshal(dAtA []byte) error { type NebulaHandshakeDetails (line 544) | type NebulaHandshakeDetails struct method Reset (line 553) | func (m *NebulaHandshakeDetails) Reset() { *m = NebulaHandshak... method String (line 554) | func (m *NebulaHandshakeDetails) String() string { return proto.Compac... method ProtoMessage (line 555) | func (*NebulaHandshakeDetails) ProtoMessage() {} method Descriptor (line 556) | func (*NebulaHandshakeDetails) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 559) | func (m *NebulaHandshakeDetails) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 562) | func (m *NebulaHandshakeDetails) XXX_Marshal(b []byte, deterministic b... method XXX_Merge (line 574) | func (m *NebulaHandshakeDetails) XXX_Merge(src proto.Message) { method XXX_Size (line 577) | func (m *NebulaHandshakeDetails) XXX_Size() int { method XXX_DiscardUnknown (line 580) | func (m *NebulaHandshakeDetails) XXX_DiscardUnknown() { method GetCert (line 586) | func (m *NebulaHandshakeDetails) GetCert() []byte { method GetInitiatorIndex (line 593) | func (m *NebulaHandshakeDetails) GetInitiatorIndex() uint32 { method GetResponderIndex (line 600) | func (m *NebulaHandshakeDetails) GetResponderIndex() uint32 { method GetCookie (line 607) | func (m *NebulaHandshakeDetails) GetCookie() uint64 { method GetTime (line 614) | func (m *NebulaHandshakeDetails) GetTime() uint64 { method GetCertVersion (line 621) | func (m *NebulaHandshakeDetails) GetCertVersion() uint32 { method Marshal (line 1117) | func (m *NebulaHandshakeDetails) Marshal() (dAtA []byte, err error) { method MarshalTo (line 1127) | func (m *NebulaHandshakeDetails) MarshalTo(dAtA []byte) (int, error) { method MarshalToSizedBuffer (line 1132) | func (m *NebulaHandshakeDetails) MarshalToSizedBuffer(dAtA []byte) (in... method Size (line 1395) | func (m *NebulaHandshakeDetails) Size() (n int) { method Unmarshal (line 2359) | func (m *NebulaHandshakeDetails) Unmarshal(dAtA []byte) error { type NebulaControl (line 628) | type NebulaControl struct method Reset (line 638) | func (m *NebulaControl) Reset() { *m = NebulaControl{} } method String (line 639) | func (m *NebulaControl) String() string { return proto.CompactTextStri... method ProtoMessage (line 640) | func (*NebulaControl) ProtoMessage() {} method Descriptor (line 641) | func (*NebulaControl) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 644) | func (m *NebulaControl) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 647) | func (m *NebulaControl) XXX_Marshal(b []byte, deterministic bool) ([]b... method XXX_Merge (line 659) | func (m *NebulaControl) XXX_Merge(src proto.Message) { method XXX_Size (line 662) | func (m *NebulaControl) XXX_Size() int { method XXX_DiscardUnknown (line 665) | func (m *NebulaControl) XXX_DiscardUnknown() { method GetType (line 671) | func (m *NebulaControl) GetType() NebulaControl_MessageType { method GetInitiatorRelayIndex (line 678) | func (m *NebulaControl) GetInitiatorRelayIndex() uint32 { method GetResponderRelayIndex (line 685) | func (m *NebulaControl) GetResponderRelayIndex() uint32 { method GetOldRelayToAddr (line 693) | func (m *NebulaControl) GetOldRelayToAddr() uint32 { method GetOldRelayFromAddr (line 701) | func (m *NebulaControl) GetOldRelayFromAddr() uint32 { method GetRelayToAddr (line 708) | func (m *NebulaControl) GetRelayToAddr() *Addr { method GetRelayFromAddr (line 715) | func (m *NebulaControl) GetRelayFromAddr() *Addr { method Marshal (line 1172) | func (m *NebulaControl) Marshal() (dAtA []byte, err error) { method MarshalTo (line 1182) | func (m *NebulaControl) MarshalTo(dAtA []byte) (int, error) { method MarshalToSizedBuffer (line 1187) | func (m *NebulaControl) MarshalToSizedBuffer(dAtA []byte) (int, error) { method Size (line 1423) | func (m *NebulaControl) Size() (n int) { method Unmarshal (line 2538) | func (m *NebulaControl) Unmarshal(dAtA []byte) error { function init (line 722) | func init() { function init (line 737) | func init() { proto.RegisterFile("nebula.proto", fileDescriptor_2d65afa7... function encodeVarintNebula (line 1244) | func encodeVarintNebula(dAtA []byte, offset int, v uint64) int { function sovNebula (line 1455) | func sovNebula(x uint64) (n int) { function sozNebula (line 1458) | func sozNebula(x uint64) (n int) { function skipNebula (line 2755) | func skipNebula(dAtA []byte) (n int, err error) { FILE: noise.go type endianness (line 11) | type endianness interface type NebulaCipherState (line 17) | type NebulaCipherState struct method EncryptDanger (line 36) | func (s *NebulaCipherState) EncryptDanger(out, ad, plaintext []byte, n... method DecryptDanger (line 57) | func (s *NebulaCipherState) DecryptDanger(out, ad, ciphertext []byte, ... method Overhead (line 70) | func (s *NebulaCipherState) Overhead() int { function NewNebulaCipherState (line 23) | func NewNebulaCipherState(s *noise.CipherState) *NebulaCipherState { FILE: noiseutil/boring.go constant EncryptLockNeeded (line 20) | EncryptLockNeeded = true function newGCMTLS (line 37) | func newGCMTLS(c cipher.Block) (cipher.AEAD, error) type cipherFn (line 39) | type cipherFn struct method Cipher (line 44) | func (c cipherFn) Cipher(k [32]byte) noise.Cipher { return c.fn(k) } method CipherName (line 45) | func (c cipherFn) CipherName() string { return c.name } function cipherAESGCMBoring (line 50) | func cipherAESGCMBoring(k [32]byte) noise.Cipher { type aeadCipher (line 69) | type aeadCipher struct method Encrypt (line 74) | func (c aeadCipher) Encrypt(out []byte, n uint64, ad, plaintext []byte... method Decrypt (line 78) | func (c aeadCipher) Decrypt(out []byte, n uint64, ad, ciphertext []byt... FILE: noiseutil/boring_test.go function TestEncryptLockNeeded (line 14) | func TestEncryptLockNeeded(t *testing.T) { function TestNewGCMTLS (line 19) | func TestNewGCMTLS(t *testing.T) { FILE: noiseutil/nist.go type nistCurve (line 15) | type nistCurve struct method GenerateKeypair (line 32) | func (c nistCurve) GenerateKeypair(rng io.Reader) (noise.DHKey, error) { method DH (line 44) | func (c nistCurve) DH(privkey, pubkey []byte) ([]byte, error) { method DHLen (line 57) | func (c nistCurve) DHLen() int { method DHName (line 68) | func (c nistCurve) DHName() string { return c.name } function newNISTCurve (line 22) | func newNISTCurve(name string, curve ecdh.Curve, byteLen int) nistCurve { FILE: noiseutil/notboring.go constant EncryptLockNeeded (line 11) | EncryptLockNeeded = false FILE: noiseutil/notboring_test.go function TestEncryptLockNeeded (line 12) | func TestEncryptLockNeeded(t *testing.T) { FILE: noiseutil/pkcs11.go type nistP11Curve (line 16) | type nistP11Curve struct method DH (line 26) | func (c nistP11Curve) DH(privkey, pubkey []byte) ([]byte, error) { function newNISTP11Curve (line 20) | func newNISTP11Curve(name string, curve ecdh.Curve, byteLen int) nistP11... FILE: outside.go constant minFwPacketLen (line 19) | minFwPacketLen = 4 method readOutsidePackets (line 22) | func (f *Interface) readOutsidePackets(via ViaSender, out []byte, packet... method closeTunnel (line 227) | func (f *Interface) closeTunnel(hostInfo *HostInfo) { method sendCloseTunnel (line 236) | func (f *Interface) sendCloseTunnel(h *HostInfo) { method handleHostRoaming (line 240) | func (f *Interface) handleHostRoaming(hostinfo *HostInfo, via ViaSender) { method handleEncrypted (line 265) | func (f *Interface) handleEncrypted(ci *ConnectionState, via ViaSender, ... function newPacket (line 291) | func newPacket(data []byte, incoming bool, fp *firewall.Packet) error { function parseV6 (line 306) | func parseV6(data []byte, incoming bool, fp *firewall.Packet) error { function parseV4 (line 419) | func parseV4(data []byte, incoming bool, fp *firewall.Packet) error { method decrypt (line 479) | func (f *Interface) decrypt(hostinfo *HostInfo, mc uint64, out []byte, p... method decryptToTun (line 495) | func (f *Interface) decryptToTun(hostinfo *HostInfo, messageCounter uint... method maybeSendRecvError (line 538) | func (f *Interface) maybeSendRecvError(endpoint netip.AddrPort, index ui... method sendRecvError (line 544) | func (f *Interface) sendRecvError(endpoint netip.AddrPort, index uint32) { method handleRecvError (line 556) | func (f *Interface) handleRecvError(addr netip.AddrPort, h *header.H) { FILE: outside_test.go function Test_newPacket (line 19) | func Test_newPacket(t *testing.T) { function Test_newPacket_v6 (line 98) | func Test_newPacket_v6(t *testing.T) { function Test_newPacket_ipv6Fragment (line 347) | func Test_newPacket_ipv6Fragment(t *testing.T) { function BenchmarkParseV6 (line 454) | func BenchmarkParseV6(b *testing.B) { function padAuthData (line 601) | func padAuthData(authData []byte) []byte { function serializeAH (line 611) | func serializeAH(ah *layers.IPSecAH) []byte { FILE: overlay/device.go type Device (line 10) | type Device interface FILE: overlay/route.go type Route (line 17) | type Route struct method Equal (line 27) | func (r Route) Equal(t Route) bool { method String (line 43) | func (r Route) String() string { function makeRouteTree (line 51) | func makeRouteTree(l *logrus.Logger, routes []Route, allowMTU bool) (*ba... function parseRoutes (line 67) | func parseRoutes(c *config.C, networks []netip.Prefix) ([]Route, error) { function parseUnsafeRoutes (line 146) | func parseUnsafeRoutes(c *config.C, networks []netip.Prefix) ([]Route, e... function ipWithin (line 309) | func ipWithin(o *net.IPNet, i *net.IPNet) bool { FILE: overlay/route_test.go function Test_parseRoutes (line 15) | func Test_parseRoutes(t *testing.T) { function Test_parseUnsafeRoutes (line 120) | func Test_parseUnsafeRoutes(t *testing.T) { function Test_makeRouteTree (line 285) | func Test_makeRouteTree(t *testing.T) { function Test_makeMultipathUnsafeRouteTree (line 325) | func Test_makeMultipathUnsafeRouteTree(t *testing.T) { FILE: overlay/tun.go constant DefaultMTU (line 13) | DefaultMTU = 1300 type NameError (line 15) | type NameError struct method Error (line 20) | func (e *NameError) Error() string { type DeviceFactory (line 25) | type DeviceFactory function NewDeviceFromConfig (line 27) | func NewDeviceFromConfig(c *config.C, l *logrus.Logger, vpnNetworks []ne... function NewFdDeviceFromConfig (line 38) | func NewFdDeviceFromConfig(fd *int) DeviceFactory { function getAllRoutesFromConfig (line 44) | func getAllRoutesFromConfig(c *config.C, vpnNetworks []netip.Prefix, ini... function findRemovedRoutes (line 65) | func findRemovedRoutes(newRoutes, oldRoutes []Route) []Route { function prefixToMask (line 85) | func prefixToMask(prefix netip.Prefix) netip.Addr { function flipBytes (line 95) | func flipBytes(b []byte) []byte { function orBytes (line 101) | func orBytes(a []byte, b []byte) []byte { function getBroadcast (line 109) | func getBroadcast(cidr netip.Prefix) netip.Addr { function selectGateway (line 119) | func selectGateway(dest netip.Prefix, gateways []netip.Prefix) (netip.Pr... FILE: overlay/tun_android.go type tun (line 20) | type tun struct method RoutesFor (line 60) | func (t *tun) RoutesFor(ip netip.Addr) routing.Gateways { method Activate (line 65) | func (t tun) Activate() error { method reload (line 69) | func (t *tun) reload(c *config.C, initial bool) error { method Networks (line 90) | func (t *tun) Networks() []netip.Prefix { method Name (line 94) | func (t *tun) Name() string { method SupportsMultiqueue (line 98) | func (t *tun) SupportsMultiqueue() bool { method NewMultiQueueReader (line 102) | func (t *tun) NewMultiQueueReader() (io.ReadWriteCloser, error) { function newTunFromFd (line 29) | func newTunFromFd(c *config.C, l *logrus.Logger, deviceFd int, vpnNetwor... function newTun (line 56) | func newTun(_ *config.C, _ *logrus.Logger, _ []netip.Prefix, _ bool) (*t... FILE: overlay/tun_darwin.go type tun (line 25) | type tun struct method deviceBytes (line 149) | func (t *tun) deviceBytes() (o [16]byte) { method Close (line 160) | func (t *tun) Close() error { method Activate (line 167) | func (t *tun) Activate() error { method activate4 (line 227) | func (t *tun) activate4(network netip.Prefix) error { method activate6 (line 269) | func (t *tun) activate6(network netip.Prefix) error { method reload (line 307) | func (t *tun) reload(c *config.C, initial bool) error { method RoutesFor (line 344) | func (t *tun) RoutesFor(ip netip.Addr) routing.Gateways { method addRoutes (line 380) | func (t *tun) addRoutes(logErrors bool) error { method removeRoutes (line 410) | func (t *tun) removeRoutes(routes []Route) error { method Read (line 506) | func (t *tun) Read(to []byte) (int, error) { method Write (line 516) | func (t *tun) Write(from []byte) (int, error) { method Networks (line 544) | func (t *tun) Networks() []netip.Prefix { method Name (line 548) | func (t *tun) Name() string { method SupportsMultiqueue (line 552) | func (t *tun) SupportsMultiqueue() bool { method NewMultiQueueReader (line 556) | func (t *tun) NewMultiQueueReader() (io.ReadWriteCloser, error) { type ifReq (line 39) | type ifReq struct constant _SIOCAIFADDR_IN6 (line 46) | _SIOCAIFADDR_IN6 = 2155899162 constant _UTUN_OPT_IFNAME (line 47) | _UTUN_OPT_IFNAME = 2 constant _IN6_IFF_NODAD (line 48) | _IN6_IFF_NODAD = 0x0020 constant _IN6_IFF_SECURED (line 49) | _IN6_IFF_SECURED = 0x0400 constant utunControlName (line 50) | utunControlName = "com.apple.net.utun_control" type ifreqMTU (line 53) | type ifreqMTU struct type addrLifetime (line 59) | type addrLifetime struct type ifreqAlias4 (line 66) | type ifreqAlias4 struct type ifreqAlias6 (line 73) | type ifreqAlias6 struct function newTun (line 82) | func newTun(c *config.C, l *logrus.Logger, vpnNetworks []netip.Prefix, _... function newTunFromFd (line 156) | func newTunFromFd(_ *config.C, _ *logrus.Logger, _ int, _ []netip.Prefix... function getLinkAddr (line 355) | func getLinkAddr(name string) (*netroute.LinkAddr, error) { function addRoute (line 426) | func addRoute(prefix netip.Prefix, gateway netroute.Addr) error { function delRoute (line 467) | func delRoute(prefix netip.Prefix, gateway netroute.Addr) error { FILE: overlay/tun_disabled.go type disabledTun (line 15) | type disabledTun struct method Activate (line 43) | func (*disabledTun) Activate() error { method RoutesFor (line 47) | func (*disabledTun) RoutesFor(addr netip.Addr) routing.Gateways { method Networks (line 51) | func (t *disabledTun) Networks() []netip.Prefix { method Name (line 55) | func (*disabledTun) Name() string { method Read (line 59) | func (t *disabledTun) Read(b []byte) (int, error) { method handleICMPEchoRequest (line 77) | func (t *disabledTun) handleICMPEchoRequest(b []byte) bool { method Write (line 94) | func (t *disabledTun) Write(b []byte) (int, error) { method SupportsMultiqueue (line 108) | func (t *disabledTun) SupportsMultiqueue() bool { method NewMultiQueueReader (line 112) | func (t *disabledTun) NewMultiQueueReader() (io.ReadWriteCloser, error) { method Close (line 116) | func (t *disabledTun) Close() error { function newDisabledTun (line 25) | func newDisabledTun(vpnNetworks []netip.Prefix, queueLen int, metricsEna... type prettyPacket (line 124) | type prettyPacket method String (line 126) | func (p prettyPacket) String() string { FILE: overlay/tun_freebsd.go constant FIODGNAME (line 30) | FIODGNAME = 0x80106678 constant TUNSIFMODE (line 31) | TUNSIFMODE = 0x8004745e constant TUNSIFHEAD (line 32) | TUNSIFHEAD = 0x80047460 constant OSIOCAIFADDR_IN6 (line 33) | OSIOCAIFADDR_IN6 = 0x8088691b constant IN6_IFF_NODAD (line 34) | IN6_IFF_NODAD = 0x0020 type fiodgnameArg (line 37) | type fiodgnameArg struct type ifreqRename (line 43) | type ifreqRename struct type ifreqDestroy (line 48) | type ifreqDestroy struct type ifReq (line 53) | type ifReq struct type ifreqMTU (line 58) | type ifreqMTU struct type addrLifetime (line 63) | type addrLifetime struct type ifreqAlias4 (line 70) | type ifreqAlias4 struct type ifreqAlias6 (line 78) | type ifreqAlias6 struct type tun (line 88) | type tun struct method Read (line 99) | func (t *tun) Read(to []byte) (int, error) { method Write (line 133) | func (t *tun) Write(from []byte) (int, error) { method Close (line 169) | func (t *tun) Close() error { method addIp (line 295) | func (t *tun) addIp(cidr netip.Prefix) error { method Activate (line 364) | func (t *tun) Activate() error { method setMTU (line 390) | func (t *tun) setMTU() error { method reload (line 403) | func (t *tun) reload(c *config.C, initial bool) error { method RoutesFor (line 440) | func (t *tun) RoutesFor(ip netip.Addr) routing.Gateways { method Networks (line 445) | func (t *tun) Networks() []netip.Prefix { method Name (line 449) | func (t *tun) Name() string { method SupportsMultiqueue (line 453) | func (t *tun) SupportsMultiqueue() bool { method NewMultiQueueReader (line 457) | func (t *tun) NewMultiQueueReader() (io.ReadWriteCloser, error) { method addRoutes (line 461) | func (t *tun) addRoutes(logErrors bool) error { method removeRoutes (line 485) | func (t *tun) removeRoutes(routes []Route) error { method deviceBytes (line 501) | func (t *tun) deviceBytes() (o [16]byte) { function newTunFromFd (line 202) | func newTunFromFd(_ *config.C, _ *logrus.Logger, _ int, _ []netip.Prefix... function newTun (line 206) | func newTun(c *config.C, l *logrus.Logger, vpnNetworks []netip.Prefix, _... function addRoute (line 508) | func addRoute(prefix netip.Prefix, gateway netroute.Addr) error { function delRoute (line 560) | func delRoute(prefix netip.Prefix, gateway netroute.Addr) error { function getLinkAddr (line 600) | func getLinkAddr(name string) (*netroute.LinkAddr, error) { FILE: overlay/tun_ios.go type tun (line 23) | type tun struct method Activate (line 58) | func (t *tun) Activate() error { method reload (line 62) | func (t *tun) reload(c *config.C, initial bool) error { method RoutesFor (line 83) | func (t *tun) RoutesFor(ip netip.Addr) routing.Gateways { method Networks (line 146) | func (t *tun) Networks() []netip.Prefix { method Name (line 150) | func (t *tun) Name() string { method SupportsMultiqueue (line 154) | func (t *tun) SupportsMultiqueue() bool { method NewMultiQueueReader (line 158) | func (t *tun) NewMultiQueueReader() (io.ReadWriteCloser, error) { function newTun (line 31) | func newTun(_ *config.C, _ *logrus.Logger, _ []netip.Prefix, _ bool) (*t... function newTunFromFd (line 35) | func newTunFromFd(c *config.C, l *logrus.Logger, deviceFd int, vpnNetwor... type tunReadCloser (line 89) | type tunReadCloser struct method Read (line 99) | func (tr *tunReadCloser) Read(to []byte) (int, error) { method Write (line 113) | func (tr *tunReadCloser) Write(from []byte) (int, error) { method Close (line 142) | func (tr *tunReadCloser) Close() error { FILE: overlay/tun_linux.go type tun (line 27) | type tun struct method Networks (line 52) | func (t *tun) Networks() []netip.Prefix { method reload (line 163) | func (t *tun) reload(c *config.C, initial bool) error { method SupportsMultiqueue (line 237) | func (t *tun) SupportsMultiqueue() bool { method NewMultiQueueReader (line 241) | func (t *tun) NewMultiQueueReader() (io.ReadWriteCloser, error) { method RoutesFor (line 259) | func (t *tun) RoutesFor(ip netip.Addr) routing.Gateways { method Write (line 264) | func (t *tun) Write(b []byte) (int, error) { method deviceBytes (line 287) | func (t *tun) deviceBytes() (o [16]byte) { method addIPs (line 304) | func (t *tun) addIPs(link netlink.Link) error { method Activate (line 345) | func (t *tun) Activate() error { method setMTU (line 421) | func (t *tun) setMTU() { method setDefaultRoute (line 430) | func (t *tun) setDefaultRoute(cidr netip.Prefix) error { method addRoutes (line 468) | func (t *tun) addRoutes(logErrors bool) error { method removeRoutes (line 509) | func (t *tun) removeRoutes(routes []Route) { method Name (line 541) | func (t *tun) Name() string { method advMSS (line 545) | func (t *tun) advMSS(r Route) int { method watchRoutes (line 558) | func (t *tun) watchRoutes() { method isGatewayInVpnNetworks (line 594) | func (t *tun) isGatewayInVpnNetworks(gwAddr netip.Addr) bool { method getGatewaysFromRoute (line 606) | func (t *tun) getGatewaysFromRoute(r *netlink.Route) routing.Gateways { method updateRoutes (line 670) | func (t *tun) updateRoutes(r netlink.RouteUpdate) { method Close (line 709) | func (t *tun) Close() error { type ifReq (line 56) | type ifReq struct type ifreqMTU (line 62) | type ifreqMTU struct type ifreqQLEN (line 68) | type ifreqQLEN struct function newTunFromFd (line 74) | func newTunFromFd(c *config.C, l *logrus.Logger, deviceFd int, vpnNetwor... function newTun (line 87) | func newTun(c *config.C, l *logrus.Logger, vpnNetworks []netip.Prefix, m... function newTunGeneric (line 136) | func newTunGeneric(c *config.C, l *logrus.Logger, file *os.File, vpnNetw... function hasNetlinkAddr (line 294) | func hasNetlinkAddr(al []*netlink.Addr, x netlink.Addr) bool { function getGatewayAddr (line 651) | func getGatewayAddr(gw net.IP, via netlink.Destination) (netip.Addr, boo... FILE: overlay/tun_linux_test.go function TestTunAdvMSS (line 25) | func TestTunAdvMSS(t *testing.T) { FILE: overlay/tun_netbsd.go constant SIOCAIFADDR_IN6 (line 27) | SIOCAIFADDR_IN6 = 0x8080696b constant TUNSIFHEAD (line 28) | TUNSIFHEAD = 0x80047442 constant TUNSIFMODE (line 29) | TUNSIFMODE = 0x80047458 type ifreqAlias4 (line 32) | type ifreqAlias4 struct type ifreqAlias6 (line 39) | type ifreqAlias6 struct type ifreq (line 48) | type ifreq struct type addrLifetime (line 53) | type addrLifetime struct type tun (line 60) | type tun struct method Close (line 122) | func (t *tun) Close() error { method Read (line 144) | func (t *tun) Read(to []byte) (int, error) { method Write (line 192) | func (t *tun) Write(from []byte) (int, error) { method addIp (line 237) | func (t *tun) addIp(cidr netip.Prefix) error { method Activate (line 303) | func (t *tun) Activate() error { method doIoctlByName (line 331) | func (t *tun) doIoctlByName(ctl uintptr, value uint32) error { method reload (line 343) | func (t *tun) reload(c *config.C, initial bool) error { method RoutesFor (line 380) | func (t *tun) RoutesFor(ip netip.Addr) routing.Gateways { method Networks (line 385) | func (t *tun) Networks() []netip.Prefix { method Name (line 389) | func (t *tun) Name() string { method SupportsMultiqueue (line 393) | func (t *tun) SupportsMultiqueue() bool { method NewMultiQueueReader (line 397) | func (t *tun) NewMultiQueueReader() (io.ReadWriteCloser, error) { method addRoutes (line 401) | func (t *tun) addRoutes(logErrors bool) error { method removeRoutes (line 426) | func (t *tun) removeRoutes(routes []Route) error { method deviceBytes (line 442) | func (t *tun) deviceBytes() (o [16]byte) { function newTunFromFd (line 73) | func newTunFromFd(_ *config.C, _ *logrus.Logger, _ int, _ []netip.Prefix... function newTun (line 77) | func newTun(c *config.C, l *logrus.Logger, vpnNetworks []netip.Prefix, _... function addRoute (line 449) | func addRoute(prefix netip.Prefix, gateways []netip.Prefix) error { function delRoute (line 508) | func delRoute(prefix netip.Prefix, gateways []netip.Prefix) error { FILE: overlay/tun_notwin.go function ioctl (line 8) | func ioctl(a1, a2, a3 uintptr) error { FILE: overlay/tun_openbsd.go constant SIOCAIFADDR_IN6 (line 27) | SIOCAIFADDR_IN6 = 0x8080691a type ifreqAlias4 (line 30) | type ifreqAlias4 struct type ifreqAlias6 (line 37) | type ifreqAlias6 struct type ifreq (line 46) | type ifreq struct type tun (line 51) | type tun struct method Close (line 115) | func (t *tun) Close() error { method Read (line 127) | func (t *tun) Read(to []byte) (int, error) { method Write (line 137) | func (t *tun) Write(from []byte) (int, error) { method addIp (line 165) | func (t *tun) addIp(cidr netip.Prefix) error { method Activate (line 235) | func (t *tun) Activate() error { method doIoctlByName (line 251) | func (t *tun) doIoctlByName(ctl uintptr, value uint32) error { method reload (line 263) | func (t *tun) reload(c *config.C, initial bool) error { method RoutesFor (line 300) | func (t *tun) RoutesFor(ip netip.Addr) routing.Gateways { method Networks (line 305) | func (t *tun) Networks() []netip.Prefix { method Name (line 309) | func (t *tun) Name() string { method SupportsMultiqueue (line 313) | func (t *tun) SupportsMultiqueue() bool { method NewMultiQueueReader (line 317) | func (t *tun) NewMultiQueueReader() (io.ReadWriteCloser, error) { method addRoutes (line 321) | func (t *tun) addRoutes(logErrors bool) error { method removeRoutes (line 346) | func (t *tun) removeRoutes(routes []Route) error { method deviceBytes (line 362) | func (t *tun) deviceBytes() (o [16]byte) { function newTunFromFd (line 66) | func newTunFromFd(_ *config.C, _ *logrus.Logger, _ int, _ []netip.Prefix... function newTun (line 70) | func newTun(c *config.C, l *logrus.Logger, vpnNetworks []netip.Prefix, _... function addRoute (line 369) | func addRoute(prefix netip.Prefix, gateways []netip.Prefix) error { function delRoute (line 428) | func delRoute(prefix netip.Prefix, gateways []netip.Prefix) error { FILE: overlay/tun_tester.go type TestTun (line 19) | type TestTun struct method Send (line 59) | func (t *TestTun) Send(packet []byte) { method Get (line 73) | func (t *TestTun) Get(block bool) []byte { method RoutesFor (line 90) | func (t *TestTun) RoutesFor(ip netip.Addr) routing.Gateways { method Activate (line 95) | func (t *TestTun) Activate() error { method Networks (line 99) | func (t *TestTun) Networks() []netip.Prefix { method Name (line 103) | func (t *TestTun) Name() string { method Write (line 107) | func (t *TestTun) Write(b []byte) (n int, err error) { method Close (line 118) | func (t *TestTun) Close() error { method Read (line 126) | func (t *TestTun) Read(b []byte) (int, error) { method SupportsMultiqueue (line 135) | func (t *TestTun) SupportsMultiqueue() bool { method NewMultiQueueReader (line 139) | func (t *TestTun) NewMultiQueueReader() (io.ReadWriteCloser, error) { function newTun (line 31) | func newTun(c *config.C, l *logrus.Logger, vpnNetworks []netip.Prefix, _... function newTunFromFd (line 52) | func newTunFromFd(_ *config.C, _ *logrus.Logger, _ int, _ []netip.Prefix... FILE: overlay/tun_windows.go constant tunGUIDLabel (line 28) | tunGUIDLabel = "Fixed Nebula Windows GUID v1" type winTun (line 30) | type winTun struct method reload (line 95) | func (t *winTun) reload(c *config.C, initial bool) error { method Activate (line 132) | func (t *winTun) Activate() error { method addRoutes (line 148) | func (t *winTun) addRoutes(logErrors bool) error { method removeRoutes (line 200) | func (t *winTun) removeRoutes(routes []Route) error { method RoutesFor (line 219) | func (t *winTun) RoutesFor(ip netip.Addr) routing.Gateways { method Networks (line 224) | func (t *winTun) Networks() []netip.Prefix { method Name (line 228) | func (t *winTun) Name() string { method Read (line 232) | func (t *winTun) Read(b []byte) (int, error) { method Write (line 236) | func (t *winTun) Write(b []byte) (int, error) { method SupportsMultiqueue (line 240) | func (t *winTun) SupportsMultiqueue() bool { method NewMultiQueueReader (line 244) | func (t *winTun) NewMultiQueueReader() (io.ReadWriteCloser, error) { method Close (line 248) | func (t *winTun) Close() error { function newTunFromFd (line 41) | func newTunFromFd(_ *config.C, _ *logrus.Logger, _ int, _ []netip.Prefix... function newTun (line 45) | func newTun(c *config.C, l *logrus.Logger, vpnNetworks []netip.Prefix, _... function generateGUIDByDeviceName (line 264) | func generateGUIDByDeviceName(name string) (*windows.GUID, error) { function checkWinTunExists (line 283) | func checkWinTunExists() error { FILE: overlay/user.go function NewUserDeviceFromConfig (line 12) | func NewUserDeviceFromConfig(c *config.C, l *logrus.Logger, vpnNetworks ... function NewUserDevice (line 16) | func NewUserDevice(vpnNetworks []netip.Prefix) (Device, error) { type UserDevice (line 29) | type UserDevice struct method Activate (line 39) | func (d *UserDevice) Activate() error { method Networks (line 43) | func (d *UserDevice) Networks() []netip.Prefix { return d.vpnNetworks } method Name (line 44) | func (d *UserDevice) Name() string { return "faketun0" } method RoutesFor (line 45) | func (d *UserDevice) RoutesFor(ip netip.Addr) routing.Gateways { method SupportsMultiqueue (line 49) | func (d *UserDevice) SupportsMultiqueue() bool { method NewMultiQueueReader (line 53) | func (d *UserDevice) NewMultiQueueReader() (io.ReadWriteCloser, error) { method Pipe (line 57) | func (d *UserDevice) Pipe() (*io.PipeReader, *io.PipeWriter) { method Read (line 61) | func (d *UserDevice) Read(p []byte) (n int, err error) { method Write (line 64) | func (d *UserDevice) Write(p []byte) (n int, err error) { method Close (line 67) | func (d *UserDevice) Close() error { FILE: pkclient/pkclient.go type Client (line 13) | type Client interface constant NoiseKeySize (line 20) | NoiseKeySize = 32 function FromUrl (line 22) | func FromUrl(pkurl string) (*PKClient, error) { function ecKeyToArray (line 53) | func ecKeyToArray(key *ecdsa.PublicKey) []byte { function formatPubkeyFromPublicKeyInfoAttr (line 61) | func formatPubkeyFromPublicKeyInfoAttr(d []byte) ([]byte, error) { method Test (line 74) | func (c *PKClient) Test() error { FILE: pkclient/pkclient_cgo.go type PKClient (line 16) | type PKClient struct method Close (line 85) | func (c *PKClient) Close() error { method findDeriveKey (line 98) | func (c *PKClient) findDeriveKey(id []byte, label []byte, private bool... method listDeriveKeys (line 118) | func (c *PKClient) listDeriveKeys(id []byte, label []byte, private boo... method SignASN1 (line 148) | func (c *PKClient) SignASN1(data []byte) ([]byte, error) { method DeriveNoise (line 169) | func (c *PKClient) DeriveNoise(peerPubKey []byte) ([]byte, error) { method GetPubKey (line 203) | func (c *PKClient) GetPubKey() ([]byte, error) { type ecdsaSignature (line 25) | type ecdsaSignature struct function New (line 30) | func New(hsmPath string, slotId uint, pin string, id string, label strin... FILE: pkclient/pkclient_stub.go type PKClient (line 7) | type PKClient struct method Close (line 16) | func (c *PKClient) Close() error { method SignASN1 (line 20) | func (c *PKClient) SignASN1(data []byte) ([]byte, error) { method DeriveNoise (line 24) | func (c *PKClient) DeriveNoise(_ []byte) ([]byte, error) { method GetPubKey (line 28) | func (c *PKClient) GetPubKey() ([]byte, error) { function New (line 12) | func New(hsmPath string, slotId uint, pin string, id string, label strin... FILE: pki.go type PKI (line 23) | type PKI struct method GetCAPool (line 65) | func (p *PKI) GetCAPool() *cert.CAPool { method getCertState (line 69) | func (p *PKI) getCertState() *CertState { method reload (line 73) | func (p *PKI) reload(c *config.C, initial bool) error { method reloadCerts (line 93) | func (p *PKI) reloadCerts(c *config.C, initial bool) *util.ContextualE... method reloadCAPool (line 191) | func (p *PKI) reloadCAPool(c *config.C) *util.ContextualError { type CertState (line 29) | type CertState struct method GetDefaultCertificate (line 202) | func (cs *CertState) GetDefaultCertificate() cert.Certificate { method getCertificate (line 210) | func (cs *CertState) getCertificate(v cert.Version) cert.Certificate { method getHandshakeBytes (line 223) | func (cs *CertState) getHandshakeBytes(v cert.Version) []byte { method String (line 234) | func (cs *CertState) String() string { method MarshalJSON (line 242) | func (cs *CertState) MarshalJSON() ([]byte, error) { function NewPKIFromConfig (line 48) | func NewPKIFromConfig(l *logrus.Logger, c *config.C) (*PKI, error) { function newCertStateFromConfig (line 263) | func newCertStateFromConfig(c *config.C) (*CertState, error) { function newCertState (line 350) | func newCertState(dv cert.Version, v1, v2 cert.Certificate, pkcs11backed... function loadPrivateKey (line 442) | func loadPrivateKey(privPathOrPEM string) (rawKey []byte, curve cert.Cur... function loadCertificate (line 468) | func loadCertificate(b []byte) (cert.Certificate, []byte, error) { function loadCAPoolFromConfig (line 489) | func loadCAPoolFromConfig(l *logrus.Logger, c *config.C) (*cert.CAPool, ... FILE: punchy.go type Punchy (line 11) | type Punchy struct method reload (line 31) | func (p *Punchy) reload(c *config.C, initial bool) { method GetPunch (line 92) | func (p *Punchy) GetPunch() bool { method GetRespond (line 96) | func (p *Punchy) GetRespond() bool { method GetDelay (line 100) | func (p *Punchy) GetDelay() time.Duration { method GetRespondDelay (line 104) | func (p *Punchy) GetRespondDelay() time.Duration { method GetTargetEverything (line 108) | func (p *Punchy) GetTargetEverything() bool { function NewPunchyFromConfig (line 20) | func NewPunchyFromConfig(l *logrus.Logger, c *config.C) *Punchy { FILE: punchy_test.go function TestNewPunchyFromConfig (line 13) | func TestNewPunchyFromConfig(t *testing.T) { function TestPunchy_reload (line 56) | func TestPunchy_reload(t *testing.T) { FILE: relay_manager.go type relayManager (line 17) | type relayManager struct method reload (line 38) | func (rm *relayManager) reload(c *config.C, initial bool) error { method GetAmRelay (line 45) | func (rm *relayManager) GetAmRelay() bool { method setAmRelay (line 49) | func (rm *relayManager) setAmRelay(v bool) { method EstablishRelay (line 92) | func (rm *relayManager) EstablishRelay(relayHostInfo *HostInfo, m *Neb... method HandleControlMsg (line 119) | func (rm *relayManager) HandleControlMsg(h *HostInfo, d []byte, f *Int... method handleCreateRelayResponse (line 149) | func (rm *relayManager) handleCreateRelayResponse(v cert.Version, h *H... method handleCreateRelayRequest (line 231) | func (rm *relayManager) handleCreateRelayRequest(v cert.Version, h *Ho... function NewRelayManager (line 23) | func NewRelayManager(ctx context.Context, l *logrus.Logger, hostmap *Hos... function AddRelay (line 55) | func AddRelay(l *logrus.Logger, relayHostInfo *HostInfo, hm *HostMap, vp... FILE: remote_list.go type forEachFunc (line 18) | type forEachFunc type checkFuncV4 (line 21) | type checkFuncV4 type checkFuncV6 (line 22) | type checkFuncV6 type CacheMap (line 26) | type CacheMap type Cache (line 30) | type Cache struct type cache (line 37) | type cache struct type cacheRelay (line 43) | type cacheRelay struct type cacheV4 (line 48) | type cacheV4 struct type cacheV6 (line 54) | type cacheV6 struct type hostnamePort (line 59) | type hostnamePort struct type hostnamesResults (line 64) | type hostnamesResults struct method Cancel (line 165) | func (hr *hostnamesResults) Cancel() { method GetAddrs (line 171) | func (hr *hostnamesResults) GetAddrs() []netip.AddrPort { function NewHostnameResults (line 73) | func NewHostnameResults(ctx context.Context, l *logrus.Logger, d time.Du... type RemoteList (line 186) | type RemoteList struct method unlockedSetHostnamesResults (line 230) | func (r *RemoteList) unlockedSetHostnamesResults(hr *hostnamesResults) { method Len (line 238) | func (r *RemoteList) Len(preferredRanges []netip.Prefix) int { method ForEach (line 247) | func (r *RemoteList) ForEach(preferredRanges []netip.Prefix, forEach f... method CopyAddrs (line 258) | func (r *RemoteList) CopyAddrs(preferredRanges []netip.Prefix) []netip... method LearnRemote (line 277) | func (r *RemoteList) LearnRemote(ownerVpnIp netip.Addr, remote netip.A... method CopyCache (line 289) | func (r *RemoteList) CopyCache() *CacheMap { method BlockRemote (line 341) | func (r *RemoteList) BlockRemote(bad ViaSender) { method CopyBlockedRemotes (line 362) | func (r *RemoteList) CopyBlockedRemotes() []netip.AddrPort { method RefreshFromHandshake (line 374) | func (r *RemoteList) RefreshFromHandshake(vpnAddrs []netip.Addr) { method ResetBlockedRemotes (line 383) | func (r *RemoteList) ResetBlockedRemotes() { method Rebuild (line 391) | func (r *RemoteList) Rebuild(preferredRanges []netip.Prefix) { method unlockedIsBad (line 406) | func (r *RemoteList) unlockedIsBad(remote netip.AddrPort) bool { method unlockedSetLearnedV4 (line 412) | func (r *RemoteList) unlockedSetLearnedV4(ownerVpnIp netip.Addr, to *V... method unlockedSetV4 (line 419) | func (r *RemoteList) unlockedSetV4(ownerVpnIp, vpnIp netip.Addr, to []... method unlockedSetRelay (line 434) | func (r *RemoteList) unlockedSetRelay(ownerVpnIp netip.Addr, to []neti... method unlockedPrependV4 (line 447) | func (r *RemoteList) unlockedPrependV4(ownerVpnIp netip.Addr, to *V4Ad... method unlockedSetLearnedV6 (line 460) | func (r *RemoteList) unlockedSetLearnedV6(ownerVpnIp netip.Addr, to *V... method unlockedSetV6 (line 467) | func (r *RemoteList) unlockedSetV6(ownerVpnIp, vpnIp netip.Addr, to []... method unlockedPrependV6 (line 484) | func (r *RemoteList) unlockedPrependV6(ownerVpnIp netip.Addr, to *V6Ad... method unlockedGetOrMakeRelay (line 495) | func (r *RemoteList) unlockedGetOrMakeRelay(ownerVpnIp netip.Addr) *ca... method unlockedGetOrMakeV4 (line 510) | func (r *RemoteList) unlockedGetOrMakeV4(ownerVpnIp netip.Addr) *cache... method unlockedGetOrMakeV6 (line 525) | func (r *RemoteList) unlockedGetOrMakeV6(ownerVpnIp netip.Addr) *cache... method unlockedCollect (line 540) | func (r *RemoteList) unlockedCollect() { method unlockedSort (line 599) | func (r *RemoteList) unlockedSort(preferredRanges []netip.Prefix) { function NewRemoteList (line 218) | func NewRemoteList(vpnAddrs []netip.Addr, shouldAdd func([]netip.Addr, n... function minInt (line 704) | func minInt(a, b int) int { function isPreferred (line 712) | func isPreferred(ip netip.Addr, preferredRanges []netip.Prefix) bool { FILE: remote_list_test.go function TestRemoteList_Rebuild (line 11) | func TestRemoteList_Rebuild(t *testing.T) { function BenchmarkFullRebuild (line 115) | func BenchmarkFullRebuild(b *testing.B) { function BenchmarkSortRebuild (line 177) | func BenchmarkSortRebuild(b *testing.B) { function newIp4AndPortFromString (line 242) | func newIp4AndPortFromString(s string) *V4AddrPort { function newIp6AndPortFromString (line 251) | func newIp6AndPortFromString(s string) *V6AddrPort { FILE: routing/balance.go function hashPacket (line 14) | func hashPacket(p *firewall.Packet) int { function BalancePacket (line 27) | func BalancePacket(fwPacket *firewall.Packet, gateways []Gateway) (netip... FILE: routing/balance_test.go function TestPacketsAreBalancedEqually (line 11) | func TestPacketsAreBalancedEqually(t *testing.T) { function TestPacketsAreBalancedByPriority (line 61) | func TestPacketsAreBalancedByPriority(t *testing.T) { function TestBalancePacketDistributsRandomlyAndReturnsFalseIfBucketsNotCalculated (line 105) | func TestBalancePacketDistributsRandomlyAndReturnsFalseIfBucketsNotCalcu... FILE: routing/gateway.go constant BucketNotCalculated (line 10) | BucketNotCalculated = -1 type Gateways (line 13) | type Gateways method String (line 15) | func (g Gateways) String() string { type Gateway (line 26) | type Gateway struct method BucketUpperBound (line 36) | func (g *Gateway) BucketUpperBound() int { method Addr (line 40) | func (g *Gateway) Addr() netip.Addr { method String (line 44) | func (g *Gateway) String() string { function NewGateway (line 32) | func NewGateway(addr netip.Addr, weight int) Gateway { function divideAndRound (line 49) | func divideAndRound(v uint64, d uint64) uint64 { function CalculateBucketsForGateways (line 57) | func CalculateBucketsForGateways(gateways []Gateway) { FILE: routing/gateway_test.go function TestRebalance3_2Split (line 10) | func TestRebalance3_2Split(t *testing.T) { function TestRebalanceEqualSplit (line 22) | func TestRebalanceEqualSplit(t *testing.T) { FILE: service/listener.go type tcpListener (line 8) | type tcpListener struct method Accept (line 15) | func (l *tcpListener) Accept() (net.Conn, error) { method Close (line 23) | func (l *tcpListener) Close() error { method Addr (line 34) | func (l *tcpListener) Addr() net.Addr { FILE: service/service.go constant nicID (line 32) | nicID = 1 type Service (line 34) | type Service struct method DialContext (line 155) | func (s *Service) DialContext(ctx context.Context, network, address st... method Dial (line 187) | func (s *Service) Dial(network, address string) (net.Conn, error) { method Listen (line 193) | func (s *Service) Listen(network, address string) (net.Listener, error) { method Wait (line 230) | func (s *Service) Wait() error { method Close (line 234) | func (s *Service) Close() error { method tcpHandler (line 239) | func (s *Service) tcpHandler(r *tcp.ForwarderRequest) { function New (line 46) | func New(control *nebula.Control) (*Service, error) { function getProtocolNumber (line 147) | func getProtocolNumber(addr netip.Addr) tcpip.NetworkProtocolNumber { FILE: service/service_test.go function newSimpleService (line 25) | func newSimpleService(caCrt cert.Certificate, caKey []byte, name string,... function TestService (line 93) | func TestService(t *testing.T) { FILE: ssh.go type sshListHostMapFlags (line 26) | type sshListHostMapFlags struct type sshPrintCertFlags (line 32) | type sshPrintCertFlags struct type sshPrintTunnelFlags (line 38) | type sshPrintTunnelFlags struct type sshChangeRemoteFlags (line 42) | type sshChangeRemoteFlags struct type sshCloseTunnelFlags (line 46) | type sshCloseTunnelFlags struct type sshCreateTunnelFlags (line 50) | type sshCreateTunnelFlags struct type sshDeviceInfoFlags (line 54) | type sshDeviceInfoFlags struct function wireSSHReload (line 59) | func wireSSHReload(l *logrus.Logger, ssh *sshd.SSHServer, c *config.C) { function configSSH (line 80) | func configSSH(l *logrus.Logger, ssh *sshd.SSHServer, c *config.C) (func... function attachCommands (line 190) | func attachCommands(l *logrus.Logger, c *config.C, ssh *sshd.SSHServer, ... function sshListHostMap (line 415) | func sshListHostMap(hl controlHostLister, a any, w sshd.StringWriter) er... function sshListLighthouseMap (line 455) | func sshListLighthouseMap(lightHouse *LightHouse, a any, w sshd.StringWr... function sshStartCpuProfile (line 509) | func sshStartCpuProfile(fs any, a []string, w sshd.StringWriter) error { function sshVersion (line 531) | func sshVersion(ifce *Interface, fs any, a []string, w sshd.StringWriter... function sshQueryLighthouse (line 535) | func sshQueryLighthouse(ifce *Interface, fs any, a []string, w sshd.Stri... function sshCloseTunnel (line 557) | func sshCloseTunnel(ifce *Interface, fs any, a []string, w sshd.StringWr... function sshCreateTunnel (line 597) | func sshCreateTunnel(ifce *Interface, fs any, a []string, w sshd.StringW... function sshChangeRemote (line 642) | func sshChangeRemote(ifce *Interface, fs any, a []string, w sshd.StringW... function sshGetHeapProfile (line 679) | func sshGetHeapProfile(fs any, a []string, w sshd.StringWriter) error { function sshMutexProfileFraction (line 700) | func sshMutexProfileFraction(fs any, a []string, w sshd.StringWriter) er... function sshGetMutexProfile (line 715) | func sshGetMutexProfile(fs any, a []string, w sshd.StringWriter) error { function sshLogLevel (line 739) | func sshLogLevel(l *logrus.Logger, fs any, a []string, w sshd.StringWrit... function sshLogFormat (line 753) | func sshLogFormat(l *logrus.Logger, fs any, a []string, w sshd.StringWri... function sshPrintCert (line 771) | func sshPrintCert(ifce *Interface, fs any, a []string, w sshd.StringWrit... function sshPrintRelays (line 826) | func sshPrintRelays(ifce *Interface, fs any, a []string, w sshd.StringWr... function sshPrintTunnel (line 921) | func sshPrintTunnel(ifce *Interface, fs any, a []string, w sshd.StringWr... function sshDeviceInfo (line 953) | func sshDeviceInfo(ifce *Interface, fs any, w sshd.StringWriter) error { function sshReload (line 982) | func sshReload(c *config.C, w sshd.StringWriter) error { FILE: sshd/command.go type CommandFlags (line 15) | type CommandFlags type CommandCallback (line 24) | type CommandCallback type Command (line 26) | type Command struct function execCommand (line 34) | func execCommand(c *Command, args []string, w StringWriter) error { function dumpCommands (line 57) | func dumpCommands(c *radix.Tree, w StringWriter) { function lookupCommand (line 72) | func lookupCommand(c *radix.Tree, sCmd string) (*Command, error) { function matchCommand (line 86) | func matchCommand(c *radix.Tree, cmd string) []string { function allCommands (line 96) | func allCommands(c *radix.Tree) []*Command { function helpCallback (line 108) | func helpCallback(commands *radix.Tree, a []string, w StringWriter) (err... function checkHelpArgs (line 153) | func checkHelpArgs(args []string) bool { FILE: sshd/server.go type SSHServer (line 15) | type SSHServer struct method SetHostKey (line 97) | func (s *SSHServer) SetHostKey(hostPrivateKey []byte) error { method ClearTrustedCAs (line 107) | func (s *SSHServer) ClearTrustedCAs() { method ClearAuthorizedKeys (line 111) | func (s *SSHServer) ClearAuthorizedKeys() { method AddTrustedCA (line 116) | func (s *SSHServer) AddTrustedCA(pubKey string) error { method AddAuthorizedKey (line 128) | func (s *SSHServer) AddAuthorizedKey(user, pubKey string) error { method RegisterCommand (line 146) | func (s *SSHServer) RegisterCommand(c *Command) { method Run (line 151) | func (s *SSHServer) Run(addr string) error { method run (line 169) | func (s *SSHServer) run() { method Stop (line 219) | func (s *SSHServer) Stop() { method closeSessions (line 228) | func (s *SSHServer) closeSessions() { function NewSSHServer (line 37) | func NewSSHServer(l *logrus.Entry) (*SSHServer, error) { FILE: sshd/session.go type session (line 15) | type session struct method handleChannels (line 44) | func (s *session) handleChannels(chans <-chan ssh.NewChannel) { method handleRequests (line 62) | func (s *session) handleRequests(in <-chan *ssh.Request, channel ssh.C... method createTerm (line 109) | func (s *session) createTerm(channel ssh.Channel) *term.Terminal { method handleInput (line 130) | func (s *session) handleInput(channel ssh.Channel) { method dispatchCommand (line 143) | func (s *session) dispatchCommand(line string, w StringWriter) { method Close (line 176) | func (s *session) Close() { function NewSession (line 23) | func NewSession(commands *radix.Tree, conn *ssh.ServerConn, chans <-chan... FILE: sshd/writer.go type StringWriter (line 5) | type StringWriter interface type stringWriter (line 12) | type stringWriter struct method WriteLine (line 16) | func (w *stringWriter) WriteLine(s string) error { method Write (line 20) | func (w *stringWriter) Write(s string) error { method WriteBytes (line 25) | func (w *stringWriter) WriteBytes(b []byte) error { method GetWriter (line 30) | func (w *stringWriter) GetWriter() io.Writer { FILE: stats.go function startStats (line 25) | func startStats(l *logrus.Logger, c *config.C, buildVersion string, conf... function startGraphiteStats (line 62) | func startGraphiteStats(l *logrus.Logger, i time.Duration, c *config.C, ... function startPrometheusStats (line 82) | func startPrometheusStats(l *logrus.Logger, i time.Duration, c *config.C... FILE: test/assert.go function AssertDeepCopyEqual (line 16) | func AssertDeepCopyEqual(t *testing.T, a any, b any) { function traverseDeepCopy (line 27) | func traverseDeepCopy(t *testing.T, v1 reflect.Value, v2 reflect.Value, ... FILE: test/logger.go function NewLogger (line 10) | func NewLogger() *logrus.Logger { FILE: test/tun.go type NoopTun (line 11) | type NoopTun struct method RoutesFor (line 13) | func (NoopTun) RoutesFor(addr netip.Addr) routing.Gateways { method Activate (line 17) | func (NoopTun) Activate() error { method Networks (line 21) | func (NoopTun) Networks() []netip.Prefix { method Name (line 25) | func (NoopTun) Name() string { method Read (line 29) | func (NoopTun) Read([]byte) (int, error) { method Write (line 33) | func (NoopTun) Write([]byte) (int, error) { method SupportsMultiqueue (line 37) | func (NoopTun) SupportsMultiqueue() bool { method NewMultiQueueReader (line 41) | func (NoopTun) NewMultiQueueReader() (io.ReadWriteCloser, error) { method Close (line 45) | func (NoopTun) Close() error { FILE: timeout.go constant timerCacheMax (line 9) | timerCacheMax = 50000 type TimerWheel (line 11) | type TimerWheel struct type LockingTimerWheel (line 36) | type LockingTimerWheel struct type TimeoutList (line 42) | type TimeoutList struct type TimeoutItem (line 48) | type TimeoutItem struct function NewTimerWheel (line 57) | func NewTimerWheel[T any](min, max time.Duration) *TimerWheel[T] { function NewLockingTimerWheel (line 84) | func NewLockingTimerWheel[T any](min, max time.Duration) *LockingTimerWh... method Add (line 92) | func (tw *TimerWheel[T]) Add(v T, timeout time.Duration) *TimeoutItem[T] { method Purge (line 120) | func (tw *TimerWheel[T]) Purge() (T, bool) { method findWheel (line 147) | func (tw *TimerWheel[T]) findWheel(timeout time.Duration) (i int) { method Advance (line 171) | func (tw *TimerWheel[T]) Advance(now time.Time) { method Add (line 209) | func (lw *LockingTimerWheel[T]) Add(v T, timeout time.Duration) *Timeout... method Purge (line 215) | func (lw *LockingTimerWheel[T]) Purge() (T, bool) { method Advance (line 221) | func (lw *LockingTimerWheel[T]) Advance(now time.Time) { FILE: timeout_test.go function TestNewTimerWheel (line 12) | func TestNewTimerWheel(t *testing.T) { function TestTimerWheel_findWheel (line 42) | func TestTimerWheel_findWheel(t *testing.T) { function TestTimerWheel_Add (line 64) | func TestTimerWheel_Add(t *testing.T) { function TestTimerWheel_Purge (line 110) | func TestTimerWheel_Purge(t *testing.T) { FILE: udp/conn.go constant MTU (line 9) | MTU = 9001 type EncReader (line 11) | type EncReader type Conn (line 16) | type Conn interface type NoopConn (line 26) | type NoopConn struct method Rebind (line 28) | func (NoopConn) Rebind() error { method LocalAddr (line 31) | func (NoopConn) LocalAddr() (netip.AddrPort, error) { method ListenOut (line 34) | func (NoopConn) ListenOut(_ EncReader) { method SupportsMultipleReaders (line 37) | func (NoopConn) SupportsMultipleReaders() bool { method WriteTo (line 40) | func (NoopConn) WriteTo(_ []byte, _ netip.AddrPort) error { method ReloadConfig (line 43) | func (NoopConn) ReloadConfig(_ *config.C) { method Close (line 46) | func (NoopConn) Close() error { FILE: udp/udp_android.go function NewListener (line 16) | func NewListener(l *logrus.Logger, ip netip.Addr, port int, multi bool, ... function NewListenConfig (line 20) | func NewListenConfig(multi bool) net.ListenConfig { method Rebind (line 43) | func (u *GenericConn) Rebind() error { FILE: udp/udp_bsd.go function NewListener (line 19) | func NewListener(l *logrus.Logger, ip netip.Addr, port int, multi bool, ... function NewListenConfig (line 23) | func NewListenConfig(multi bool) net.ListenConfig { method Rebind (line 46) | func (u *GenericConn) Rebind() error { FILE: udp/udp_darwin.go type StdConn (line 21) | type StdConn struct method WriteTo (line 92) | func (u *StdConn) WriteTo(b []byte, ap netip.AddrPort) error { method LocalAddr (line 143) | func (u *StdConn) LocalAddr() (netip.AddrPort, error) { method ReloadConfig (line 159) | func (u *StdConn) ReloadConfig(c *config.C) { method ListenOut (line 168) | func (u *StdConn) ListenOut(r EncReader) { method SupportsMultipleReaders (line 187) | func (u *StdConn) SupportsMultipleReaders() bool { method Rebind (line 191) | func (u *StdConn) Rebind() error { function NewListener (line 30) | func NewListener(l *logrus.Logger, ip netip.Addr, port int, multi bool, ... function NewListenConfig (line 64) | func NewListenConfig(multi bool) net.ListenConfig { function sendto (line 90) | func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen int... function NewUDPStatsEmitter (line 163) | func NewUDPStatsEmitter(udpConns []Conn) func() { FILE: udp/udp_generic.go type GenericConn (line 23) | type GenericConn struct method WriteTo (line 42) | func (u *GenericConn) WriteTo(b []byte, addr netip.AddrPort) error { method LocalAddr (line 47) | func (u *GenericConn) LocalAddr() (netip.AddrPort, error) { method ReloadConfig (line 63) | func (u *GenericConn) ReloadConfig(c *config.C) { method ListenOut (line 76) | func (u *GenericConn) ListenOut(r EncReader) { method SupportsMultipleReaders (line 101) | func (u *GenericConn) SupportsMultipleReaders() bool { function NewGenericListener (line 30) | func NewGenericListener(l *logrus.Logger, ip netip.Addr, port int, multi... function NewUDPStatsEmitter (line 67) | func NewUDPStatsEmitter(udpConns []Conn) func() { type rawMessage (line 72) | type rawMessage struct FILE: udp/udp_linux.go type StdConn (line 20) | type StdConn struct method SupportsMultipleReaders (line 75) | func (u *StdConn) SupportsMultipleReaders() bool { method Rebind (line 79) | func (u *StdConn) Rebind() error { method SetRecvBuffer (line 83) | func (u *StdConn) SetRecvBuffer(n int) error { method SetSendBuffer (line 87) | func (u *StdConn) SetSendBuffer(n int) error { method SetSoMark (line 91) | func (u *StdConn) SetSoMark(mark int) error { method GetRecvBuffer (line 95) | func (u *StdConn) GetRecvBuffer() (int, error) { method GetSendBuffer (line 99) | func (u *StdConn) GetSendBuffer() (int, error) { method GetSoMark (line 103) | func (u *StdConn) GetSoMark() (int, error) { method LocalAddr (line 107) | func (u *StdConn) LocalAddr() (netip.AddrPort, error) { method ListenOut (line 125) | func (u *StdConn) ListenOut(r EncReader) { method ReadSingle (line 153) | func (u *StdConn) ReadSingle(msgs []rawMessage) (int, error) { method ReadMulti (line 174) | func (u *StdConn) ReadMulti(msgs []rawMessage) (int, error) { method WriteTo (line 194) | func (u *StdConn) WriteTo(b []byte, ip netip.AddrPort) error { method writeTo6 (line 201) | func (u *StdConn) writeTo6(b []byte, ip netip.AddrPort) error { method writeTo4 (line 226) | func (u *StdConn) writeTo4(b []byte, ip netip.AddrPort) error { method ReloadConfig (line 255) | func (u *StdConn) ReloadConfig(c *config.C) { method getMemInfo (line 303) | func (u *StdConn) getMemInfo(meminfo *[unix.SK_MEMINFO_VARS]uint32) er... method Close (line 312) | func (u *StdConn) Close() error { function maybeIPV4 (line 27) | func maybeIPV4(ip net.IP) (net.IP, bool) { function NewListener (line 35) | func NewListener(l *logrus.Logger, ip netip.Addr, port int, multi bool, ... function NewUDPStatsEmitter (line 316) | func NewUDPStatsEmitter(udpConns []Conn) func() { FILE: udp/udp_linux_32.go type iovec (line 13) | type iovec struct type msghdr (line 18) | type msghdr struct type rawMessage (line 28) | type rawMessage struct method PrepareRawMessages (line 33) | func (u *StdConn) PrepareRawMessages(n int) ([]rawMessage, [][]byte, [][... FILE: udp/udp_linux_64.go type iovec (line 13) | type iovec struct type msghdr (line 18) | type msghdr struct type rawMessage (line 30) | type rawMessage struct method PrepareRawMessages (line 36) | func (u *StdConn) PrepareRawMessages(n int) ([]rawMessage, [][]byte, [][... FILE: udp/udp_netbsd.go function NewListener (line 18) | func NewListener(l *logrus.Logger, ip netip.Addr, port int, multi bool, ... function NewListenConfig (line 22) | func NewListenConfig(multi bool) net.ListenConfig { method Rebind (line 45) | func (u *GenericConn) Rebind() error { FILE: udp/udp_rio_windows.go function procyield (line 30) | func procyield(cycles uint32) constant packetsPerRing (line 33) | packetsPerRing = 1024 constant bytesPerPacket (line 34) | bytesPerPacket = 2048 - 32 constant receiveSpins (line 35) | receiveSpins = 15 type ringPacket (line 38) | type ringPacket struct type ringBuffer (line 43) | type ringBuffer struct method Push (line 357) | func (ring *ringBuffer) Push() *ringPacket { method Return (line 369) | func (ring *ringBuffer) Return(count uint32) { method CloseAndZero (line 377) | func (ring *ringBuffer) CloseAndZero() { method Open (line 403) | func (ring *ringBuffer) Open() error { type RIOConn (line 54) | type RIOConn struct method bind (line 86) | func (u *RIOConn) bind(l *logrus.Logger, sa windows.Sockaddr) error { method ListenOut (line 143) | func (u *RIOConn) ListenOut(r EncReader) { method insertReceiveRequest (line 169) | func (u *RIOConn) insertReceiveRequest() error { method receive (line 185) | func (u *RIOConn) receive(buf []byte) (int, windows.RawSockaddrInet6, ... method WriteTo (line 257) | func (u *RIOConn) WriteTo(buf []byte, ip netip.AddrPort) error { method LocalAddr (line 320) | func (u *RIOConn) LocalAddr() (netip.AddrPort, error) { method SupportsMultipleReaders (line 331) | func (u *RIOConn) SupportsMultipleReaders() bool { method Rebind (line 335) | func (u *RIOConn) Rebind() error { method ReloadConfig (line 339) | func (u *RIOConn) ReloadConfig(*config.C) {} method Close (line 341) | func (u *RIOConn) Close() error { function NewRIOListener (line 63) | func NewRIOListener(l *logrus.Logger, addr netip.Addr, port int) (*RIOCo... FILE: udp/udp_tester.go type Packet (line 16) | type Packet struct method Copy (line 22) | func (u *Packet) Copy() *Packet { type TesterConn (line 33) | type TesterConn struct method Send (line 55) | func (u *TesterConn) Send(packet *Packet) { method Get (line 76) | func (u *TesterConn) Get(block bool) *Packet { method WriteTo (line 93) | func (u *TesterConn) WriteTo(b []byte, addr netip.AddrPort) error { method ListenOut (line 109) | func (u *TesterConn) ListenOut(r EncReader) { method ReloadConfig (line 119) | func (u *TesterConn) ReloadConfig(*config.C) {} method LocalAddr (line 126) | func (u *TesterConn) LocalAddr() (netip.AddrPort, error) { method SupportsMultipleReaders (line 130) | func (u *TesterConn) SupportsMultipleReaders() bool { method Rebind (line 134) | func (u *TesterConn) Rebind() error { method Close (line 138) | func (u *TesterConn) Close() error { function NewListener (line 43) | func NewListener(l *logrus.Logger, ip netip.Addr, port int, _ bool, _ in... function NewUDPStatsEmitter (line 121) | func NewUDPStatsEmitter(_ []Conn) func() { FILE: udp/udp_windows.go function NewListener (line 15) | func NewListener(l *logrus.Logger, ip netip.Addr, port int, multi bool, ... function NewListenConfig (line 32) | func NewListenConfig(multi bool) net.ListenConfig { method Rebind (line 45) | func (u *GenericConn) Rebind() error { FILE: util/error.go type ContextualError (line 10) | type ContextualError struct method Error (line 40) | func (ce *ContextualError) Error() string { method Unwrap (line 47) | func (ce *ContextualError) Unwrap() error { method Log (line 54) | func (ce *ContextualError) Log(lr *logrus.Logger) { function NewContextualError (line 16) | func NewContextualError(msg string, fields map[string]any, realError err... function ContextualizeIfNeeded (line 21) | func ContextualizeIfNeeded(msg string, err error) error { function LogWithContextIfNeeded (line 31) | func LogWithContextIfNeeded(msg string, err error, l *logrus.Logger) { FILE: util/error_test.go type TestLogWriter (line 14) | type TestLogWriter struct method Write (line 22) | func (tl *TestLogWriter) Write(p []byte) (n int, err error) { method Reset (line 27) | func (tl *TestLogWriter) Reset() { function NewTestLogWriter (line 18) | func NewTestLogWriter() *TestLogWriter { function TestContextualError_Log (line 31) | func TestContextualError_Log(t *testing.T) { function TestLogWithContextIfNeeded (line 72) | func TestLogWithContextIfNeeded(t *testing.T) { function TestContextualizeIfNeeded (line 95) | func TestContextualizeIfNeeded(t *testing.T) { FILE: wintun/device.go type Device (line 17) | type Device interface FILE: wintun/tun.go constant rateMeasurementGranularity (line 29) | rateMeasurementGranularity = uint64((time.Second / 2) / time.Nanosecond) constant spinloopRateThreshold (line 30) | spinloopRateThreshold = 800000000 / 8 constant spinloopDuration (line 31) | spinloopDuration = uint64(time.Millisecond / 80 / time.Nanosec... type rateJuggler (line 34) | type rateJuggler struct method update (line 196) | func (rate *rateJuggler) update(packetLen uint64) { type NativeTun (line 41) | type NativeTun struct method Name (line 91) | func (tun *NativeTun) Name() (string, error) { method File (line 95) | func (tun *NativeTun) File() *os.File { method Close (line 99) | func (tun *NativeTun) Close() error { method Read (line 115) | func (tun *NativeTun) Read(buff []byte, offset int) (int, error) { method Flush (line 152) | func (tun *NativeTun) Flush() error { method Write (line 156) | func (tun *NativeTun) Write(buff []byte, offset int) (int, error) { method LUID (line 182) | func (tun *NativeTun) LUID() uint64 { method RunningVersion (line 192) | func (tun *NativeTun) RunningVersion() (version uint32, err error) { function procyield (line 57) | func procyield(cycles uint32) function nanotime (line 60) | func nanotime() int64 function CreateTUN (line 64) | func CreateTUN(ifname string, mtu int) (Device, error) { function CreateTUNWithRequestedGUID (line 70) | func CreateTUNWithRequestedGUID(ifname string, requestedGUID *windows.GU...