• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

AES.cppH A D16-Nov-202147.4 KiB691619

AES.hppH A D16-Nov-202115.1 KiB595317

AES_aesni.cppH A D16-Nov-202125.1 KiB674604

AES_armcrypto.cppH A D16-Nov-202114.3 KiB388331

Address.hppH A D16-Nov-20214.6 KiB16079

AtomicCounter.hppH A D16-Nov-20211.2 KiB7446

Bond.cppH A D16-Nov-202162.6 KiB1,7921,451

Bond.hppH A D16-Nov-202140.1 KiB1,515651

Buffer.hppH A D16-Nov-202110.7 KiB463264

C25519.cppH A D16-Nov-2021217.3 KiB2,5822,225

C25519.hppH A D16-Nov-20215.3 KiB17263

Capability.cppH A D16-Nov-20211.9 KiB6239

Capability.hppH A D16-Nov-202116.3 KiB486359

CertificateOfMembership.cppH A D16-Nov-20214.1 KiB13198

CertificateOfMembership.hppH A D16-Nov-20218.4 KiB308144

CertificateOfOwnership.cppH A D16-Nov-20211.5 KiB6042

CertificateOfOwnership.hppH A D16-Nov-20217 KiB232167

Constants.hppH A D03-May-202218.2 KiB670241

Credential.hppH A D16-Nov-20211 KiB5326

DNS.hppH A D16-Nov-20211.4 KiB5734

Dictionary.hppH A D16-Nov-202110 KiB445272

Hashtable.hppH A D16-Nov-20217.8 KiB425307

Identity.cppH A D16-Nov-20215.8 KiB203157

Identity.hppH A D16-Nov-20218.9 KiB323159

IncomingPacket.cppH A D16-Nov-202153 KiB1,3341,078

IncomingPacket.hppH A D16-Nov-20215 KiB14259

InetAddress.cppH A D16-Nov-202117.2 KiB457413

InetAddress.hppH A D16-Nov-202120.5 KiB652373

MAC.hppH A D16-Nov-20216.8 KiB238140

Membership.cppH A D16-Nov-20216.8 KiB215175

Membership.hppH A D16-Nov-20218.8 KiB298171

MulticastGroup.hppH A D16-Nov-20213.3 KiB11351

Multicaster.cppH A D16-Nov-202113.6 KiB440358

Multicaster.hppH A D16-Nov-20215.9 KiB19884

Mutex.hppH A D16-Nov-20212.3 KiB163113

Network.cppH A D16-Nov-202154.2 KiB1,5461,293

Network.hppH A D16-Nov-202114.7 KiB465193

NetworkConfig.cppH A D16-Nov-202113.9 KiB405334

NetworkConfig.hppH A D16-Nov-202117.9 KiB636298

NetworkController.hppH A D16-Nov-20213.5 KiB11841

Node.cppH A D16-Nov-202132 KiB1,017855

Node.hppH A D16-Nov-202111.4 KiB321219

OutboundMulticast.cppH A D16-Nov-20212.2 KiB8664

OutboundMulticast.hppH A D16-Nov-20214.1 KiB15965

Packet.cppH A D16-Nov-202137.1 KiB1,059809

Packet.hppH A D16-Nov-202152 KiB1,422307

Path.cppH A D16-Nov-2021714 3013

Path.hppH A D16-Nov-20217.8 KiB286137

Peer.cppH A D16-Nov-202118.7 KiB607518

Peer.hppH A D16-Nov-202117.5 KiB600286

Poly1305.cppH A D16-Nov-202114.9 KiB520387

Poly1305.hppH A D16-Nov-20211.3 KiB5012

README.mdH A D16-Nov-20211.1 KiB1510

Revocation.cppH A D16-Nov-20211 KiB4326

Revocation.hppH A D16-Nov-20215.4 KiB196129

RingBuffer.hppH A D16-Nov-20217.4 KiB337206

RuntimeEnvironment.hppH A D16-Nov-20212 KiB9050

SHA512.cppH A D16-Nov-20218.9 KiB280235

SHA512.hppH A D16-Nov-20212.6 KiB8946

Salsa20.cppH A D16-Nov-202154.1 KiB1,3421,210

Salsa20.hppH A D16-Nov-20214.4 KiB160101

SelfAwareness.cppH A D16-Nov-20213.5 KiB11577

SelfAwareness.hppH A D16-Nov-20212.6 KiB8741

SharedPtr.hppH A D16-Nov-20212.9 KiB13678

Switch.cppH A D16-Nov-202139.2 KiB1,076841

Switch.hppH A D16-Nov-202110.5 KiB331157

Tag.cppH A D16-Nov-20211 KiB4326

Tag.hppH A D16-Nov-20216 KiB203122

Topology.cppH A D16-Nov-202114.1 KiB405346

Topology.hppH A D16-Nov-202113 KiB457226

Trace.cppH A D16-Nov-202121.2 KiB534445

Trace.hppH A D16-Nov-20215.6 KiB167112

Utils.cppH A D16-Nov-20217.3 KiB304240

Utils.hppH A D16-Nov-202121.1 KiB829566

World.hppH A D16-Nov-20218.4 KiB272135

README.md

1ZeroTier Network Hypervisor Core
2======
3
4This directory contains the *real* ZeroTier: a completely OS-independent global virtual Ethernet switch engine. This is where the magic happens.
5
6Give it wire packets and it gives you Ethernet packets, and vice versa. The core contains absolutely no actual I/O, port configuration, or other OS-specific code (except Utils::getSecureRandom()). It provides a simple C API via [/include/ZeroTierOne.h](../include/ZeroTierOne.h). It's designed to be small and maximally portable for future use on small embedded and special purpose systems.
7
8Code in here follows these guidelines:
9
10 - Keep it minimal, especially in terms of code footprint and memory use.
11 - There should be no OS-dependent code here unless absolutely necessary (e.g. getSecureRandom).
12 - If it's not part of the core virtual Ethernet switch it does not belong here.
13 - No C++11 or C++14 since older and embedded compilers don't support it yet and this should be maximally portable.
14 - Minimize the use of complex C++ features since at some point we might end up "minus-minus'ing" this code if doing so proves necessary to port to tiny embedded systems.
15