Tune for low-end devices
Placeholder — cutting memory, connection and file-descriptor usage on small hardware. Not written yet.
This page has not been written. EdgeVPN has a full set of resource-limiting
flags and none of them are explained beyond their --help line. There is no
guidance on which to reach for on a Raspberry Pi, a router or a container with a
tight memory cgroup.
What is missing, and where the source is:
--low-profile(envEDGEVPNLOWPROFILE) is on by default, which is itself undocumented, and its name promises more than it does: inpkg/config/config.gothe flag’s only effect isdht.BucketSize(20). A second, unrelatedvpn.LowProfilelibrary option inpkg/vpn/config.goswaps in a bounded stream manager (pkg/vpn/vpn.go) and is not wired to the CLI flag. The difference needs writing up.- The ten
limit-*flags incmd/util.go, which configure the libp2p resource manager:--limit-enable(off by default — the others do nothing until it is on),--limit-file,--limit-scope,--limit-config-streams,--limit-config-streams-inbound,--limit-config-streams-outbound,--limit-config-conn,--limit-config-conn-inbound,--limit-config-conn-outboundand--limit-config-fd. Their defaults (200/30/30, 200/30/30, 30) are not documented and their relationship to--limit-scopeis not explained. - Connection water marks.
--connection-high-waterand--connection-low-water(envEDGEVPN_CONNECTION_HIGH_WATER/EDGEVPN_CONNECTION_LOW_WATER) both default to0, and what0means is not stated anywhere.--max-connections(envEDGEVPNMAXCONNS) is a third knob in the same area. - What to turn off.
--dht,--mdns,--natservice,--natmap,--autorelayand--relay-serviceare all on by default and all cost something;--relay-service=falsein particular stops the node carrying other peers’ traffic. See relays and hop nodes.
Contributions welcome — see contributing.