From c30f9832b0a926914986bc9160190dbfec7ceddd Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Tue, 10 Jun 2014 21:41:34 -0700 Subject: Packet decoder work for EXT_FRAME for bridging - GitHub issue #68 --- node/Network.hpp | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'node/Network.hpp') diff --git a/node/Network.hpp b/node/Network.hpp index b40afd45..0a89c848 100644 --- a/node/Network.hpp +++ b/node/Network.hpp @@ -371,21 +371,6 @@ public: t->put(from,to,etherType,data,len); } - /** - * Inject a frame into tap with local MAC as destination MAC (if it's created) - * - * @param from Origin MAC - * @param etherType Ethernet frame type - * @param data Frame data - * @param len Frame length - */ - inline void tapPut(const MAC &from,unsigned int etherType,const void *data,unsigned int len) - { - EthernetTap *t = _tap; - if (t) - t->put(from,t->mac(),etherType,data,len); - } - /** * @return Tap device name or empty string if still initializing */ @@ -401,6 +386,7 @@ public: * @return Ethernet MAC address for this network's local interface */ inline const MAC &mac() const + throw() { return _mac; } @@ -416,6 +402,20 @@ public: return std::set(); } + /** + * Shortcut for config()->permitsBridging(), returns false if no config + * + * @param peer Peer address to check + * @return True if peer can bridge other Ethernet nodes into this network or network is in permissive bridging mode + */ + inline bool permitsBridging(const Address &peer) const + { + Mutex::Lock _l(_lock); + if (_config) + return _config->permitsBridging(peer); + return false; + } + /** * @param mac MAC address * @return ZeroTier address of bridge to this MAC or null address if not found -- cgit v1.2.3