MCPcopy Index your code

hub / github.com/Revertron/Yggdrasil-ng / functions

Functions719 in github.com/Revertron/Yggdrasil-ng

↓ 98 callersMethodpush
Add a packet to the queue, hard-bounded globally and per flow.
crates/ironwood/src/traffic.rs:319
↓ 60 callersMethodis_empty
(&self)
crates/ironwood/src/wire.rs:153
↓ 56 callersMethodsend
Fire-and-forget: enqueue a message to the router actor. Never blocks the caller — if the channel is full, spawns a background task.
crates/ironwood/src/core.rs:153
↓ 35 callersFunctionencode_uvarint
Encode a u64 as uvarint, appending to `out`. Returns number of bytes written.
crates/ironwood/src/wire.rs:57
↓ 25 callersFunctionaddr_for_key
Derive a Yggdrasil IPv6 address from an ed25519 public key. Exact port of Go's `AddrForKey`.
crates/yggdrasil/src/address.rs:89
↓ 24 callersFunctionnew_box_keys
Generate a new random Curve25519 keypair.
crates/ironwood/src/encrypted/crypto.rs:110
↓ 20 callersFunctionlocal
()
crates/yggdrasil/src/firewall.rs:462
↓ 20 callersFunctionpeer
()
crates/yggdrasil/src/firewall.rs:469
↓ 19 callersFunctionbuild_v6
(proto: u8, src: [u8; 16], dst: [u8; 16], payload: &[u8])
crates/yggdrasil/src/firewall.rs:425
↓ 18 callersFunctionmake_packet
(src: u8, dst: u8, payload: &[u8])
crates/ironwood/src/traffic.rs:591
↓ 16 callersMethodclose
(&self)
crates/ironwood/src/core.rs:767
↓ 16 callersFunctionexpand_cidrs
Parse a list of CIDR entries, where entries prefixed with `!` are treated as exclusions. Returns the minimal set of prefixes covering `(union of inclu
crates/yggdrasil/src/ckr.rs:165
↓ 16 callersMethodlocal_addr
(&self)
crates/ironwood/src/core.rs:801
↓ 16 callersFunctionquarter_round
( a: usize, b: usize, c: usize, d: usize, state: &mut [u32; STATE_WORDS], )
crates/salsa20-simd/src/lib.rs:384
↓ 15 callersFunctiondummy_key_hex
()
crates/yggdrasil/src/ckr.rs:428
↓ 14 callersMethodas_ref
(&self)
crates/ironwood/src/types.rs:37
↓ 14 callersFunctionenabled_cfg
()
crates/yggdrasil/src/firewall.rs:480
↓ 14 callersFunctionfw
(cfg: FirewallConfig)
crates/yggdrasil/src/firewall.rs:476
↓ 14 callersFunctionmake_config
(subnets: HashMap<String, Vec<String>>)
crates/yggdrasil/src/ckr.rs:417
↓ 14 callersFunctionnew_packet_conn
Create a new PacketConn. This is the primary public constructor.
crates/ironwood/src/core.rs:929
↓ 13 callersMethodencode
(&self, out: &mut Vec<u8>)
crates/ironwood/src/wire.rs:206
↓ 13 callersMethodencrypt
Encrypt an init message from our Ed25519 key to the recipient's Ed25519 key. Wire format: [type(1)][ephemeral_pub(32)][encrypted_payload] Encrypted p
crates/ironwood/src/encrypted/session.rs:74
↓ 12 callersFunctiondispatch_actions
Dispatch a batch of router actions. Traffic actions are collected and sent in a single batch (one peers lock acquisition) rather than locking per pac
crates/ironwood/src/peers.rs:916
↓ 12 callersFunctionencode_path
Encode a path (slice of PeerPort) as zero-terminated uvarints.
crates/ironwood/src/wire.rs:107
↓ 12 callersMethodget_key
Reconstruct a partial ed25519 public key from this address. Used for DHT lookups. Exact port of Go's GetKey().
crates/yggdrasil/src/address.rs:22
↓ 12 callersFunctionmake_salsa_box
Create a SalsaBox (precomputed shared secret) from keys.
crates/ironwood/src/encrypted/crypto.rs:173
↓ 12 callersMethodpreimage
The signature preimage: the 32-byte secret, or an empty slice if disabled.
crates/ironwood/src/encrypted/crypto.rs:56
↓ 12 callersMethodsign
Sign a message with our private key.
crates/ironwood/src/crypto.rs:28
↓ 12 callersFunctionsubnet_for_key
Derive a Yggdrasil /64 subnet from an ed25519 public key. Exact port of Go's `SubnetForKey`.
crates/yggdrasil/src/address.rs:134
↓ 11 callersFunctionparse
Parse an IPv6 packet far enough to extract the transport-layer 5-tuple (plus TCP flags / ICMP type as needed). Returns None for: - non-IPv6 packets -
crates/yggdrasil/src/firewall.rs:319
↓ 11 callersMethodread
Read a packet from the network (Core) destined for the TUN. Returns the number of bytes written to `buf`.
crates/yggdrasil/src/ipv6rwc.rs:107
↓ 10 callersMethodadd
Add a key to the bloom filter.
crates/ironwood/src/bloom.rs:52
↓ 10 callersFunctionencode_frame
Encode a complete wire frame: length(uvarint) | type(u8) | payload.
crates/ironwood/src/wire.rs:536
↓ 10 callersFunctionmake_keys
()
crates/ironwood/src/encrypted/session.rs:986
↓ 10 callersMethodpop
(&mut self)
crates/ironwood/src/traffic.rs:428
↓ 10 callersMethodread_public_key
(&mut self)
crates/ironwood/src/wire.rs:178
↓ 10 callersMethodupdate
Process a tree announcement. Returns true if accepted.
crates/ironwood/src/router.rs:581
↓ 9 callersMethodpublic_key
Get the local public key.
crates/yggdrasil/src/core.rs:234
↓ 9 callersMethodread_uvarint
(&mut self)
crates/ironwood/src/wire.rs:162
↓ 9 callersMethodwrite_to
Encrypt and send outbound data (hot path). Uses 3-phase pattern: snapshot under lock → encrypt outside lock → finalize under lock.
crates/ironwood/src/encrypted/session.rs:701
↓ 9 callersMethodx_key
Apply the bloom transform to a key. If no transform is configured, identity.
crates/ironwood/src/bloom.rs:155
↓ 8 callersMethodhandle_data
Dispatch incoming data by message type (no locking at this level).
crates/ironwood/src/encrypted/session.rs:606
↓ 8 callersFunctionparse_link_options
Parse link options from a URL's query parameters.
crates/yggdrasil/src/links.rs:1196
↓ 8 callersFunctionquarter_round
(v: &mut [__m256i; STATE_WORDS], a: usize, b: usize, c: usize, d: usize)
crates/salsa20-simd/src/avx2.rs:131
↓ 8 callersFunctionquarter_round
(v: &mut [__m128i; STATE_WORDS], a: usize, b: usize, c: usize, d: usize)
crates/salsa20-simd/src/sse2.rs:118
↓ 8 callersFunctionquarter_round
( v: &mut [uint32x4_t; STATE_WORDS], a: usize, b: usize, c: usize, d: usize, )
crates/salsa20-simd/src/neon.rs:113
↓ 8 callersFunctiontcp
(sport: u16, dport: u16, flags: u8)
crates/yggdrasil/src/firewall.rs:438
↓ 7 callersFunctiondecode_uvarint
Decode a uvarint from the front of `data`. Returns (value, bytes_consumed). Returns None if the data is insufficient or the varint is malformed.
crates/ironwood/src/wire.rs:73
↓ 7 callersFunctionnonce_for_u64
Convert a u64 counter to a 24-byte XSalsa20 nonce. Format: 16 zero bytes followed by 8 bytes big-endian u64. Matches Go's `nonceForUint64`.
crates/ironwood/src/encrypted/crypto.rs:186
↓ 7 callersMethodread_from
(&self, buf: &mut [u8])
crates/ironwood/src/core.rs:594
↓ 7 callersFunctionuvarint_size
Compute the encoded size of a uvarint.
crates/ironwood/src/wire.rs:93
↓ 7 callersMethodwrite
Write a packet from the TUN to the network (Core).
crates/yggdrasil/src/ipv6rwc.rs:226
↓ 7 callersMethodwrite_to
Write a traffic packet to ironwood, prepending the session type byte.
crates/yggdrasil/src/core.rs:210
↓ 6 callersMethodas_raw
Get the raw backing array (for wire encoding or inspection).
crates/ironwood/src/bloom.rs:47
↓ 6 callersFunctionconnect_nodes
Connect two PacketConn nodes via a duplex stream. Spawns `handle_conn` on both sides and returns the join handles.
crates/ironwood/tests/integration.rs:19
↓ 6 callersMethodget_root_and_path
Get root and path (coordinates) from root to destination.
crates/ironwood/src/router.rs:940
↓ 6 callersFunctionpath_size
Compute the wire size of a path.
crates/ironwood/src/wire.rs:115
↓ 6 callersFunctionprint_table
Print rows as space-aligned columns with no borders or padding.
crates/yggdrasil/src/ctl.rs:284
↓ 6 callersMethodread_path
(&mut self)
crates/ironwood/src/wire.rs:186
↓ 5 callersFunctionbig_queue
A queue with a large (1 MB) quantum: byte caps are far out of reach, so these tests exercise only scheduling, not eviction.
crates/ironwood/src/traffic.rs:651
↓ 5 callersFunctionbox_open
Decrypt a message using XSalsa20-Poly1305 (via crypto_box crate). Returns plaintext (ciphertext.len() - 16 bytes).
crates/ironwood/src/encrypted/crypto.rs:138
↓ 5 callersFunctionbox_seal
Encrypt a message using XSalsa20-Poly1305 (via crypto_box crate). Returns ciphertext (plaintext.len() + 16 bytes overhead).
crates/ironwood/src/encrypted/crypto.rs:123
↓ 5 callersMethodcached_coords
Get cached coordinates for a key. Computes and caches if not present.
crates/ironwood/src/router.rs:968
↓ 5 callersMethodcert_chain
Create a certificate chain suitable for rustls.
crates/yggdrasil/src/tls_support.rs:69
↓ 5 callersFunctiondecode_bloom
(data: &[u8])
crates/ironwood/src/bloom.rs:433
↓ 5 callersMethodhandle_update
Handle an init/ack update: ratchet keys forward.
crates/ironwood/src/encrypted/session.rs:295
↓ 5 callersFunctionicmp_echo
(typ: u8, id: u16)
crates/yggdrasil/src/firewall.rs:455
↓ 5 callersFunctionjson_str
(obj: &serde_json::Value, key: &str)
crates/yggdrasil/src/ctl.rs:328
↓ 5 callersFunctionmake_crypto
()
crates/ironwood/src/pathfinder.rs:338
↓ 5 callersFunctionnew_encrypted_packet_conn
Create a new EncryptedPacketConn.
crates/ironwood/src/encrypted/mod.rs:356
↓ 5 callersFunctionsalsa20_state
Build the Salsa20/20 initial state the way `SalsaCore::new` does.
crates/salsa20-simd/src/lib.rs:428
↓ 5 callersFunctionscalar_block
Scalar reference Salsa20/20 keystream for one block at a given counter.
crates/salsa20-simd/src/lib.rs:447
↓ 4 callersMethodbecome_root
Become root: create self-signed announcement.
crates/ironwood/src/router.rs:670
↓ 4 callersFunctioned25519_private_to_curve25519
Convert an Ed25519 private key (seed) to a Curve25519 private key. This hashes the seed with SHA-512 and takes the first 32 bytes, matching Go's `e2c
crates/ironwood/src/encrypted/crypto.rs:72
↓ 4 callersMethodencode
Encode metadata to wire format, signed with the given key. Wire format: "meta" (4 bytes) + length (u16 BE) + TLV fields + ed25519 signature (64 bytes)
crates/yggdrasil/src/version.rs:86
↓ 4 callersFunctionencode_bloom
(data: &[u64; BLOOM_FILTER_U64S])
crates/ironwood/src/bloom.rs:405
↓ 4 callersMethodensure_rumor
Get or create a rumor for a destination. Returns true if the rumor was just created. Does NOT update send_time for existing rumors — use mark_rumor_se
crates/ironwood/src/pathfinder.rs:149
↓ 4 callersMethodfix_shared
Recompute all shared secrets after key changes.
crates/ironwood/src/encrypted/session.rs:283
↓ 4 callersMethodflush_tx
(&mut self)
crates/yggdrasil/src/links.rs:288
↓ 4 callersMethodget_cost
(&self, peer_id: PeerId)
crates/ironwood/src/router.rs:993
↓ 4 callersMethodget_dist
Get distance between a path and a key in tree-space.
crates/ironwood/src/router.rs:978
↓ 4 callersMethodis_empty
(&self)
crates/ironwood/src/traffic.rs:206
↓ 4 callersFunctionmake_router
()
crates/ironwood/src/router.rs:1479
↓ 4 callersMethodmerge
Merge another bloom filter into this one (bitwise OR). Both filters must have the same configuration.
crates/ironwood/src/bloom.rs:76
↓ 4 callersFunctionnew_signed_packet_conn
Create a new SignedPacketConn.
crates/ironwood/src/signed.rs:236
↓ 4 callersMethodobserve_outbound
Record an outbound flow. Outbound is never blocked.
crates/yggdrasil/src/firewall.rs:160
↓ 4 callersMethodpop_codel
Remove and return the next packet, applying CoDel AQM at dequeue. Packets CoDel selects are dropped (discarded) and the next is dequeued; the returned
crates/ironwood/src/traffic.rs:436
↓ 4 callersMethodpop_info
Remove and return the next packet using deficit round robin across flows.
crates/ironwood/src/traffic.rs:373
↓ 4 callersMethodprivate_key
Create a private key suitable for rustls.
crates/yggdrasil/src/tls_support.rs:74
↓ 4 callersMethodproto_handler
Get protocol handler (for admin debug commands).
crates/yggdrasil/src/core.rs:491
↓ 4 callersFunctionudp
(sport: u16, dport: u16)
crates/yggdrasil/src/firewall.rs:448
↓ 3 callersMethodaccept_notify
Process a path notification response. Returns `(accepted, traffic)` where: - `accepted` is true if the path was updated (matches Go: callback only fi
crates/ironwood/src/pathfinder.rs:188
↓ 3 callersMethodclose
(&self)
crates/ironwood/src/signed.rs:217
↓ 3 callersMethodclose
(&self)
crates/ironwood/src/encrypted/mod.rs:326
↓ 3 callersMethodclose
Tear down the TUN adapter explicitly: abort the I/O tasks, wait for them to drop their `Arc<AsyncDevice>` references, then drop the device so the OS-l
crates/yggdrasil/src/tun.rs:207
↓ 3 callersMethodcodel_should_drop
CoDel's `should_drop`: updates `first_above_time` and reports whether the just-dequeued packet is eligible to drop (sojourn stood above TARGET for at
crates/ironwood/src/traffic.rs:497
↓ 3 callersFunctioncompute_auth_hash
Compute BLAKE2b-512 auth hash matching Go's blake2b.New512(password).Write(publicKey).
crates/yggdrasil/src/multicast.rs:81
↓ 3 callersFunctiondecode_path
Decode a zero-terminated path from `data`. Returns (path, bytes_consumed).
crates/ironwood/src/wire.rs:125
↓ 3 callersMethoddo_send_lookup
(&mut self, dest: &PublicKey)
crates/ironwood/src/router.rs:1169
↓ 3 callersMethoddrop_from
Remove and return the head packet of a specific flow.
crates/ironwood/src/traffic.rs:281
next →1–100 of 719, ranked by callers