Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Revertron/Yggdrasil-ng
/ functions
Functions
719 in github.com/Revertron/Yggdrasil-ng
⨍
Functions
719
◇
Types & classes
121
↓ 3 callers
Function
ed25519_public_to_curve25519
Convert an Ed25519 public key to a Curve25519 (Montgomery) public key. Uses the bilinear map: u = (1 + y) / (1 - y) mod p where y is the Edwards y-co
crates/ironwood/src/encrypted/crypto.rs:89
↓ 3 callers
Method
enabled
(&self)
crates/yggdrasil/src/firewall.rs:131
↓ 3 callers
Function
extract_ed25519_pubkey_from_cert
Extract the 32-byte ed25519 public key from a DER-encoded X.509 certificate. Returns `None` if the certificate does not contain an ed25519 key or cann
crates/yggdrasil/src/tls_support.rs:139
↓ 3 callers
Method
flush_rx
(&mut self)
crates/yggdrasil/src/links.rs:281
↓ 3 callers
Function
generate_self_signed_cert
( signing_key: &SigningKey, )
crates/yggdrasil/src/tls_support.rs:80
↓ 3 callers
Method
get_ancestry
(&self, key: &PublicKey)
crates/ironwood/src/router.rs:1075
↓ 3 callers
Method
get_announce
Reconstruct announcement from stored info.
crates/ironwood/src/router.rs:44
↓ 3 callers
Method
get_public_key_for_address
Look up the destination public key for an IP address using longest-prefix-match. Returns `None` if no route matches.
crates/yggdrasil/src/ckr.rs:121
↓ 3 callers
Function
is_valid_address
Check if an IPv6 address (16 bytes) is a valid Yggdrasil address.
crates/yggdrasil/src/address.rs:143
↓ 3 callers
Function
is_valid_subnet
Check if an IPv6 /64 prefix (first 8 bytes) is a valid Yggdrasil subnet.
crates/yggdrasil/src/address.rs:148
↓ 3 callers
Method
lookup
Greedy routing lookup: find the best next-hop peer.
crates/ironwood/src/router.rs:1000
↓ 3 callers
Method
mtu
(&self)
crates/ironwood/src/signed.rs:209
↓ 3 callers
Method
mtu
(&self)
crates/ironwood/src/encrypted/mod.rs:318
↓ 3 callers
Method
mtu
Get the MTU (ironwood MTU minus session type overhead, capped at 65535).
crates/yggdrasil/src/core.rs:228
↓ 3 callers
Method
new_req
(&self)
crates/ironwood/src/router.rs:496
↓ 3 callers
Function
normalize_subnet_entries
(entries: &[String])
crates/yggdrasil/src/ckr.rs:265
↓ 3 callers
Function
other_key_hex
()
crates/yggdrasil/src/ckr.rs:432
↓ 3 callers
Function
parse_pubkey
(hex_str: &str)
crates/yggdrasil/src/ckr.rs:280
↓ 3 callers
Function
print_kv
(obj: &serde_json::Value, fields: &[(&str, &str)])
crates/yggdrasil/src/ctl.rs:342
↓ 3 callers
Method
read_fixed
(&mut self)
crates/ironwood/src/wire.rs:168
↓ 3 callers
Method
read_signature
(&mut self)
crates/ironwood/src/wire.rs:182
↓ 3 callers
Method
record_failure
Record a failed handshake attempt. Returns true if the IP should now be banned.
crates/yggdrasil/src/links.rs:210
↓ 3 callers
Method
remove_peer
Remove a peer by ID.
crates/ironwood/src/peers.rs:156
↓ 3 callers
Method
reset_cache
(&mut self)
crates/ironwood/src/router.rs:343
↓ 3 callers
Method
route_traffic
Route traffic to next hop or deliver locally.
crates/ironwood/src/router.rs:1136
↓ 3 callers
Function
signed_nanos
(now: Instant, t: Instant)
crates/ironwood/src/traffic.rs:101
↓ 3 callers
Method
test
Test if a key might be in the bloom filter. Returns true if the key might be present (could be false positive). Returns false if the key is definitely
crates/ironwood/src/bloom.rs:63
↓ 3 callers
Function
to_u32
(chunk: &[u8])
crates/salsa20-simd/src/xsalsa.rs:93
↓ 3 callers
Method
to_wire
Convert to wire format.
crates/ironwood/src/router.rs:92
↓ 2 callers
Method
add_peer
Add a persistent peer.
crates/yggdrasil/src/core.rs:319
↓ 2 callers
Method
address
Get the local Yggdrasil IPv6 address.
crates/yggdrasil/src/core.rs:239
↓ 2 callers
Function
advance_tcp
(prev: Option<TcpState>, flags: u8)
crates/yggdrasil/src/firewall.rs:288
↓ 2 callers
Method
alloc_port
Scan from 1 upward and return the lowest port not currently in use. Matches Go's linear search behavior: freed ports are reused on reconnection.
crates/ironwood/src/peers.rs:147
↓ 2 callers
Function
apply_interface_dns
(guid: windows::core::GUID, addrs: &[&str], ipv6: bool)
crates/yggdrasil/src/tun.rs:395
↓ 2 callers
Function
base_hashes
Generate four base hash values from key data using Murmur3. This replicates the Go library's `sum256` function exactly: 1. Hash data with murmur3 → h
crates/ironwood/src/bloom.rs:359
↓ 2 callers
Function
blake2b_hash
Compute BLAKE2b-512 hash of data, optionally keyed with password.
crates/yggdrasil/src/version.rs:203
↓ 2 callers
Function
box_open_precomputed
Decrypt with a precomputed shared secret (SalsaBox already contains it).
crates/ironwood/src/encrypted/crypto.rs:162
↓ 2 callers
Function
box_seal_precomputed
Encrypt with a precomputed shared secret (SalsaBox already contains it).
crates/ironwood/src/encrypted/crypto.rs:151
↓ 2 callers
Function
build_icmpv6_ptb
Build an ICMPv6 Packet Too Big message. Takes the original oversized packet and the MTU to report.
crates/yggdrasil/src/ipv6rwc.rs:584
↓ 2 callers
Method
bytes_for_sig
Compute bytes that are signed.
crates/ironwood/src/pathfinder.rs:69
↓ 2 callers
Method
bytes_for_sig
Compute bytes for the signature: node || parent || seq || nonce || port
crates/ironwood/src/router.rs:71
↓ 2 callers
Function
call_set_interface_dns_settings
( guid: windows::core::GUID, settings: *const windows::Win32::NetworkManagement::IpHelper::DNS_INTERFA
crates/yggdrasil/src/tun.rs:319
↓ 2 callers
Method
check_inbound
Decide whether an inbound packet should be delivered. Returns true if accepted, false if it should be dropped.
crates/yggdrasil/src/firewall.rs:194
↓ 2 callers
Function
codel_control_law
(t: Instant, count: u32)
crates/ironwood/src/traffic.rs:111
↓ 2 callers
Method
core
(&self)
crates/yggdrasil/src/links.rs:604
↓ 2 callers
Method
count_lookup_targets
Count how many on-tree peers' bloom filters cover the given destination key. Returns (xformed_key_hex, multicast_count).
crates/yggdrasil/src/core.rs:417
↓ 2 callers
Method
count_on_tree_targets_for_xkey
Count how many on-tree peers' bloom filters match the given already-transformed key. Used for diagnostics: distinguishes "0 targets (no peer covers th
crates/ironwood/src/bloom.rs:346
↓ 2 callers
Function
create_client_config
Create TLS client configuration that accepts all server certificates and sends our certificate for mutual TLS authentication. Supports TLS 1.2 and 1.3
crates/yggdrasil/src/tls_support.rs:236
↓ 2 callers
Function
create_server_config
Create TLS server configuration with optional client certificate authentication. This uses TLS 1.3 only for maximum security (matching Go implementati
crates/yggdrasil/src/tls_support.rs:215
↓ 2 callers
Method
create_session_from_init
Create a new SessionInfo from init keys, consuming any pending buffer. Must be called while holding the buffers lock is NOT held (acquires it internal
crates/ironwood/src/encrypted/session.rs:888
↓ 2 callers
Function
decode_bloom
Decode a bloom filter from wire format.
crates/ironwood/src/wire.rs:491
↓ 2 callers
Method
decrypt
Decrypt an init/ack message.
crates/ironwood/src/encrypted/session.rs:130
↓ 2 callers
Method
do_maintenance
Periodic maintenance (called every ~1 second). Returns a list of actions to execute.
crates/ironwood/src/router.rs:304
↓ 2 callers
Method
do_send
Encrypt and produce a traffic message (cold path — used by handle_init/handle_ack where the session is not yet shared and there is zero contention).
crates/ironwood/src/encrypted/session.rs:318
↓ 2 callers
Function
encode_bloom
Encode a bloom filter's backing u64 array with compression. Format: [16 bytes: flags0 (all-zero chunks)][16 bytes: flags1 (all-one chunks)][remaining
crates/ironwood/src/wire.rs:468
↓ 2 callers
Function
encode_traffic_frame
(path: &[PeerPort], from: &[PeerPort], source: &PublicKey, dest: &PublicKey, watermark: u64, payload: &[u8])
crates/ironwood/src/wire.rs:555
↓ 2 callers
Function
encrypt_outside_lock
Phase 2 of split send: encrypt outside lock using snapshot.
crates/ironwood/src/encrypted/session.rs:519
↓ 2 callers
Method
equal
(&self, other: &BloomFilter)
crates/ironwood/src/bloom.rs:99
↓ 2 callers
Method
flow_for
Get the flow for a packet, creating an inactive one if needed.
crates/ironwood/src/traffic.rs:256
↓ 2 callers
Method
force_refresh
External nudge to force an immediate router refresh / re-announce. Use from platform timers (e.g. Android AlarmManager) to keep the mesh view of us fr
crates/ironwood/src/core.rs:920
↓ 2 callers
Method
gc
(&self)
crates/yggdrasil/src/firewall.rs:150
↓ 2 callers
Method
get_block_pos
(&self)
crates/salsa20-simd/src/lib.rs:334
↓ 2 callers
Method
get_handle
Get a reference to a peer handle by ID.
crates/ironwood/src/peers.rs:195
↓ 2 callers
Method
get_peers
Get link-level peer info merged with ironwood RTT/cost (for admin getPeers). Returns all configured peers (with up=false if disconnected) plus active
crates/yggdrasil/src/core.rs:344
↓ 2 callers
Method
get_root_and_dists
Get root and distances from a starting node.
crates/ironwood/src/router.rs:916
↓ 2 callers
Method
get_send_bloom
Get the current send bloom for a peer (for retransmission).
crates/ironwood/src/bloom.rs:271
↓ 2 callers
Method
get_sessions
Get all active encrypted sessions.
crates/yggdrasil/src/core.rs:406
↓ 2 callers
Function
get_set_interface_dns_settings_ptr
()
crates/yggdrasil/src/tun.rs:282
↓ 2 callers
Method
get_tree
Get spanning tree entries (from ironwood).
crates/yggdrasil/src/core.rs:386
↓ 2 callers
Method
handle_broken
Handle incoming path broken from a peer.
crates/ironwood/src/router.rs:1387
↓ 2 callers
Method
handle_broken_internal
(&mut self, broken: &wire::PathBroken)
crates/ironwood/src/router.rs:1355
↓ 2 callers
Method
handle_conn
(&self, key: Addr, conn: Box<dyn AsyncConn>, prio: u8)
crates/ironwood/src/core.rs:638
↓ 2 callers
Function
handle_connection
Perform the Yggdrasil handshake over a stream (TCP or TLS), then hand off to ironwood.
crates/yggdrasil/src/links.rs:934
↓ 2 callers
Method
handle_lookup_internal
(&mut self,from_key: &PublicKey, lookup: &wire::PathLookup)
crates/ironwood/src/router.rs:1203
↓ 2 callers
Method
handle_notify_internal
(&mut self,_from_key: &PublicKey, notify: &wire::PathNotify)
crates/ironwood/src/router.rs:1273
↓ 2 callers
Function
init_logging
(loglevel: &str, logto: Option<&str>)
crates/yggdrasil/src/main.rs:423
↓ 2 callers
Function
is_tracked
(proto: u8)
crates/yggdrasil/src/firewall.rs:284
↓ 2 callers
Function
is_yggdrasil_destination
Check if an IP address falls within the Yggdrasil address space.
crates/yggdrasil/src/ckr.rs:145
↓ 2 callers
Function
location
Calculate the ith hash location using the four base hash values. This replicates the Go library's `location` function exactly: location(h, i) = h[i%2
crates/ironwood/src/bloom.rs:385
↓ 2 callers
Method
maybe_ratchet_on_recv
Possibly ratchet keys when receiving from remote's "next" key.
crates/ironwood/src/encrypted/session.rs:446
↓ 2 callers
Method
mtu
(&self)
crates/ironwood/src/core.rs:744
↓ 2 callers
Method
network
(&self)
crates/ironwood/src/types.rs:10
↓ 2 callers
Function
parse_ipv4_cidr
(cidr: &str)
crates/yggdrasil/src/tun.rs:260
↓ 2 callers
Function
peek_frame_type
Peek at the packet type of an encoded frame (uvarint length + type byte).
crates/ironwood/src/peers.rs:888
↓ 2 callers
Method
peer_addr
(&self)
crates/yggdrasil/src/links.rs:31
↓ 2 callers
Method
routing_entries
Get the number of routing entries.
crates/yggdrasil/src/core.rs:391
↓ 2 callers
Function
run_node
Run the Yggdrasil node, blocking until the shutdown signal fires. Called from both console mode (Ctrl+C) and Windows service mode (SCM stop).
crates/yggdrasil/src/main.rs:201
↓ 2 callers
Method
send_finalize
Phase 3 of split send: update stats under lock.
crates/ironwood/src/encrypted/session.rs:352
↓ 2 callers
Method
send_lookup
Send a key lookup via ironwood.
crates/yggdrasil/src/core.rs:223
↓ 2 callers
Method
send_reqs
(&mut self)
crates/ironwood/src/router.rs:818
↓ 2 callers
Method
send_snapshot
Phase 1 of split send: snapshot state under lock, increment nonce.
crates/ironwood/src/encrypted/session.rs:326
↓ 2 callers
Method
send_traffic
Handle outbound traffic (from local application).
crates/ironwood/src/router.rs:1102
↓ 2 callers
Function
session_rows
(sessions: &[serde_json::Value])
crates/yggdrasil/src/ctl.rs:271
↓ 2 callers
Method
should_throttle_lookup
Check if we should throttle a lookup to this destination.
crates/ironwood/src/pathfinder.rs:117
↓ 2 callers
Method
sign
Sign a message for a specific recipient. Signs `[toKey || msg]` and returns `[signature(64) || msg]`.
crates/ironwood/src/signed.rs:76
↓ 2 callers
Method
sign
Sign with our private key.
crates/ironwood/src/pathfinder.rs:77
↓ 2 callers
Method
signing_key
Parse the private key from hex.
crates/yggdrasil/src/config.rs:332
↓ 2 callers
Method
subnet
Get the local Yggdrasil /64 subnet.
crates/yggdrasil/src/core.rs:244
↓ 2 callers
Function
subtract_many
Subtract a set of exclude prefixes from a single include prefix. All prefixes must share an address family.
crates/yggdrasil/src/ckr.rs:216
↓ 2 callers
Method
update_key
Update key mappings when we learn about a key (from ironwood path notify or packet receipt).
crates/yggdrasil/src/ipv6rwc.rs:336
← previous
next →
101–200 of 719, ranked by callers