diff options
Diffstat (limited to 'node/Node.cpp')
| -rw-r--r-- | node/Node.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/node/Node.cpp b/node/Node.cpp index fd1daab3..9f95eaa7 100644 --- a/node/Node.cpp +++ b/node/Node.cpp @@ -1011,6 +1011,22 @@ bool Node::updateCheck() return false; } +bool Node::injectPacketFromHost(uint64_t nwid,const unsigned char *from,const unsigned char *to,unsigned int etherType,const void *data,unsigned int len) +{ + if (!running()) + return false; + if ((!from)||(!to)) + return false; + + _NodeImpl *impl = (_NodeImpl *)_impl; + RuntimeEnvironment *RR = (RuntimeEnvironment *)&(impl->renv); + + SharedPtr<Network> network(RR->nc->network(nwid)); + if (network) + return network->tapInjectPacketFromHost(MAC(from,6),MAC(to,6),etherType,data,len); + return false; +} + class _VersionStringMaker { public: |
