summaryrefslogtreecommitdiff
path: root/node/Node.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'node/Node.hpp')
-rw-r--r--node/Node.hpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/node/Node.hpp b/node/Node.hpp
index 858a3737..259cdea2 100644
--- a/node/Node.hpp
+++ b/node/Node.hpp
@@ -227,6 +227,23 @@ public:
bool updateCheck()
throw();
+ /**
+ * Inject a packet into a network's tap as if it came from the host
+ *
+ * This is primarily for debugging, and at the moment is only supported on
+ * the test/dummy Ethernet tap implementation. Attempting to use it for real
+ * devices will fail and return 'false.'
+ *
+ * @param nwid Network ID
+ * @param from Source MAC address (must be 6 bytes in length)
+ * @param to Destination MAC address (must be 6 bytes in length)
+ * @param etherType Ethernet frame type
+ * @param data Frame data
+ * @param len Length of frame in bytes
+ * @return True on success; false if not a member of network, injection not supported, or data too large
+ */
+ bool injectPacketFromHost(uint64_t nwid,const unsigned char *from,const unsigned char *to,unsigned int etherType,const void *data,unsigned int len);
+
static const char *versionString() throw();
static unsigned int versionMajor() throw();
static unsigned int versionMinor() throw();