|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| AES.cpp | H A D | 16-Nov-2021 | 47.4 KiB | 691 | 619 |
| AES.hpp | H A D | 16-Nov-2021 | 15.1 KiB | 595 | 317 |
| AES_aesni.cpp | H A D | 16-Nov-2021 | 25.1 KiB | 674 | 604 |
| AES_armcrypto.cpp | H A D | 16-Nov-2021 | 14.3 KiB | 388 | 331 |
| Address.hpp | H A D | 16-Nov-2021 | 4.6 KiB | 160 | 79 |
| AtomicCounter.hpp | H A D | 16-Nov-2021 | 1.2 KiB | 74 | 46 |
| Bond.cpp | H A D | 16-Nov-2021 | 62.6 KiB | 1,792 | 1,451 |
| Bond.hpp | H A D | 16-Nov-2021 | 40.1 KiB | 1,515 | 651 |
| Buffer.hpp | H A D | 16-Nov-2021 | 10.7 KiB | 463 | 264 |
| C25519.cpp | H A D | 16-Nov-2021 | 217.3 KiB | 2,582 | 2,225 |
| C25519.hpp | H A D | 16-Nov-2021 | 5.3 KiB | 172 | 63 |
| Capability.cpp | H A D | 16-Nov-2021 | 1.9 KiB | 62 | 39 |
| Capability.hpp | H A D | 16-Nov-2021 | 16.3 KiB | 486 | 359 |
| CertificateOfMembership.cpp | H A D | 16-Nov-2021 | 4.1 KiB | 131 | 98 |
| CertificateOfMembership.hpp | H A D | 16-Nov-2021 | 8.4 KiB | 308 | 144 |
| CertificateOfOwnership.cpp | H A D | 16-Nov-2021 | 1.5 KiB | 60 | 42 |
| CertificateOfOwnership.hpp | H A D | 16-Nov-2021 | 7 KiB | 232 | 167 |
| Constants.hpp | H A D | 03-May-2022 | 18.2 KiB | 670 | 241 |
| Credential.hpp | H A D | 16-Nov-2021 | 1 KiB | 53 | 26 |
| DNS.hpp | H A D | 16-Nov-2021 | 1.4 KiB | 57 | 34 |
| Dictionary.hpp | H A D | 16-Nov-2021 | 10 KiB | 445 | 272 |
| Hashtable.hpp | H A D | 16-Nov-2021 | 7.8 KiB | 425 | 307 |
| Identity.cpp | H A D | 16-Nov-2021 | 5.8 KiB | 203 | 157 |
| Identity.hpp | H A D | 16-Nov-2021 | 8.9 KiB | 323 | 159 |
| IncomingPacket.cpp | H A D | 16-Nov-2021 | 53 KiB | 1,334 | 1,078 |
| IncomingPacket.hpp | H A D | 16-Nov-2021 | 5 KiB | 142 | 59 |
| InetAddress.cpp | H A D | 16-Nov-2021 | 17.2 KiB | 457 | 413 |
| InetAddress.hpp | H A D | 16-Nov-2021 | 20.5 KiB | 652 | 373 |
| MAC.hpp | H A D | 16-Nov-2021 | 6.8 KiB | 238 | 140 |
| Membership.cpp | H A D | 16-Nov-2021 | 6.8 KiB | 215 | 175 |
| Membership.hpp | H A D | 16-Nov-2021 | 8.8 KiB | 298 | 171 |
| MulticastGroup.hpp | H A D | 16-Nov-2021 | 3.3 KiB | 113 | 51 |
| Multicaster.cpp | H A D | 16-Nov-2021 | 13.6 KiB | 440 | 358 |
| Multicaster.hpp | H A D | 16-Nov-2021 | 5.9 KiB | 198 | 84 |
| Mutex.hpp | H A D | 16-Nov-2021 | 2.3 KiB | 163 | 113 |
| Network.cpp | H A D | 16-Nov-2021 | 54.2 KiB | 1,546 | 1,293 |
| Network.hpp | H A D | 16-Nov-2021 | 14.7 KiB | 465 | 193 |
| NetworkConfig.cpp | H A D | 16-Nov-2021 | 13.9 KiB | 405 | 334 |
| NetworkConfig.hpp | H A D | 16-Nov-2021 | 17.9 KiB | 636 | 298 |
| NetworkController.hpp | H A D | 16-Nov-2021 | 3.5 KiB | 118 | 41 |
| Node.cpp | H A D | 16-Nov-2021 | 32 KiB | 1,017 | 855 |
| Node.hpp | H A D | 16-Nov-2021 | 11.4 KiB | 321 | 219 |
| OutboundMulticast.cpp | H A D | 16-Nov-2021 | 2.2 KiB | 86 | 64 |
| OutboundMulticast.hpp | H A D | 16-Nov-2021 | 4.1 KiB | 159 | 65 |
| Packet.cpp | H A D | 16-Nov-2021 | 37.1 KiB | 1,059 | 809 |
| Packet.hpp | H A D | 16-Nov-2021 | 52 KiB | 1,422 | 307 |
| Path.cpp | H A D | 16-Nov-2021 | 714 | 30 | 13 |
| Path.hpp | H A D | 16-Nov-2021 | 7.8 KiB | 286 | 137 |
| Peer.cpp | H A D | 16-Nov-2021 | 18.7 KiB | 607 | 518 |
| Peer.hpp | H A D | 16-Nov-2021 | 17.5 KiB | 600 | 286 |
| Poly1305.cpp | H A D | 16-Nov-2021 | 14.9 KiB | 520 | 387 |
| Poly1305.hpp | H A D | 16-Nov-2021 | 1.3 KiB | 50 | 12 |
| README.md | H A D | 16-Nov-2021 | 1.1 KiB | 15 | 10 |
| Revocation.cpp | H A D | 16-Nov-2021 | 1 KiB | 43 | 26 |
| Revocation.hpp | H A D | 16-Nov-2021 | 5.4 KiB | 196 | 129 |
| RingBuffer.hpp | H A D | 16-Nov-2021 | 7.4 KiB | 337 | 206 |
| RuntimeEnvironment.hpp | H A D | 16-Nov-2021 | 2 KiB | 90 | 50 |
| SHA512.cpp | H A D | 16-Nov-2021 | 8.9 KiB | 280 | 235 |
| SHA512.hpp | H A D | 16-Nov-2021 | 2.6 KiB | 89 | 46 |
| Salsa20.cpp | H A D | 16-Nov-2021 | 54.1 KiB | 1,342 | 1,210 |
| Salsa20.hpp | H A D | 16-Nov-2021 | 4.4 KiB | 160 | 101 |
| SelfAwareness.cpp | H A D | 16-Nov-2021 | 3.5 KiB | 115 | 77 |
| SelfAwareness.hpp | H A D | 16-Nov-2021 | 2.6 KiB | 87 | 41 |
| SharedPtr.hpp | H A D | 16-Nov-2021 | 2.9 KiB | 136 | 78 |
| Switch.cpp | H A D | 16-Nov-2021 | 39.2 KiB | 1,076 | 841 |
| Switch.hpp | H A D | 16-Nov-2021 | 10.5 KiB | 331 | 157 |
| Tag.cpp | H A D | 16-Nov-2021 | 1 KiB | 43 | 26 |
| Tag.hpp | H A D | 16-Nov-2021 | 6 KiB | 203 | 122 |
| Topology.cpp | H A D | 16-Nov-2021 | 14.1 KiB | 405 | 346 |
| Topology.hpp | H A D | 16-Nov-2021 | 13 KiB | 457 | 226 |
| Trace.cpp | H A D | 16-Nov-2021 | 21.2 KiB | 534 | 445 |
| Trace.hpp | H A D | 16-Nov-2021 | 5.6 KiB | 167 | 112 |
| Utils.cpp | H A D | 16-Nov-2021 | 7.3 KiB | 304 | 240 |
| Utils.hpp | H A D | 16-Nov-2021 | 21.1 KiB | 829 | 566 |
| World.hpp | H A D | 16-Nov-2021 | 8.4 KiB | 272 | 135 |
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