Some tap interface changes and integration into main.cpp for *nix systems.
This commit is contained in:
parent
8a804b5257
commit
92d9ad4a7f
4 changed files with 55 additions and 3 deletions
37
main.cpp
37
main.cpp
|
@ -56,6 +56,7 @@
|
|||
#endif
|
||||
|
||||
#include "node/Constants.hpp"
|
||||
|
||||
#include "node/Defaults.hpp"
|
||||
#include "node/Utils.hpp"
|
||||
#include "node/Node.hpp"
|
||||
|
@ -63,6 +64,33 @@
|
|||
#include "node/Identity.hpp"
|
||||
#include "node/Thread.hpp"
|
||||
#include "node/CertificateOfMembership.hpp"
|
||||
#include "node/EthernetTapFactory.hpp"
|
||||
#include "node/RoutingTable.hpp"
|
||||
|
||||
#ifdef __WINDOWS__
|
||||
#include "osnet/WindowsEthernetTapFactory.hpp"
|
||||
#include "osnet/WindowsRoutingTable.hpp"
|
||||
#define ZTCreatePlatformEthernetTapFactory (new WindowsEthernetTapFactory(homeDir))
|
||||
#define ZTCreatePlatformRoutingTable (new WindowsRoutingTable())
|
||||
#endif
|
||||
|
||||
#ifdef __LINUX__
|
||||
#include "osnet/LinuxEthernetTapFactory.hpp"
|
||||
#include "osnet/LinuxRoutingTable.hpp"
|
||||
#define ZTCreatePlatformEthernetTapFactory (new LinuxEthernetTapFactory())
|
||||
#define ZTCreatePlatformRoutingTable (new LinuxRoutingTable())
|
||||
#endif
|
||||
|
||||
#ifdef __APPLE__
|
||||
#include "osnet/OSXEthernetTapFactory.hpp"
|
||||
#include "osnet/BSDRoutingTable.hpp"
|
||||
#define ZTCreatePlatformEthernetTapFactory (new OSXEthernetTapFactory(homeDir,"tap.kext"))
|
||||
#define ZTCreatePlatformRoutingTable (new BSDRoutingTable())
|
||||
#endif
|
||||
|
||||
#ifndef ZTCreatePlatformEthernetTapFactory
|
||||
#error Sorry, this platform has no osnet/ implementation yet. Fork me on GitHub and add one?
|
||||
#endif
|
||||
|
||||
using namespace ZeroTier;
|
||||
|
||||
|
@ -649,7 +677,7 @@ int main(int argc,char **argv)
|
|||
fclose(pf);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif // __UNIX_LIKE__
|
||||
|
||||
#ifdef __WINDOWS__
|
||||
if (winRunFromCommandLine) {
|
||||
|
@ -670,12 +698,15 @@ int main(int argc,char **argv)
|
|||
return 1;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif // __WINDOWS__
|
||||
|
||||
int exitCode = 0;
|
||||
bool needsReset = false;
|
||||
try {
|
||||
node = new Node(homeDir,udpPort,tcpPort,needsReset);
|
||||
EthernetTapFactory *tapFactory = ZTCreatePlatformEthernetTapFactory;
|
||||
RoutingTable *routingTable = ZTCreatePlatformRoutingTable;
|
||||
|
||||
node = new Node(homeDir,tapFactory,routingTable,udpPort,tcpPort,needsReset);
|
||||
switch(node->run()) {
|
||||
#ifdef __WINDOWS__
|
||||
case Node::NODE_RESTART_FOR_UPGRADE: {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue