diff options
Diffstat (limited to 'node/Switch.hpp')
-rw-r--r-- | node/Switch.hpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/node/Switch.hpp b/node/Switch.hpp index 3cc6887c..68e3c6c4 100644 --- a/node/Switch.hpp +++ b/node/Switch.hpp @@ -48,6 +48,16 @@ #include "Multicaster.hpp" #include "PacketDecoder.hpp" +/* Ethernet frame types that might be relevant to us */ +#define ZT_ETHERTYPE_IPV4 0x0800 +#define ZT_ETHERTYPE_ARP 0x0806 +#define ZT_ETHERTYPE_RARP 0x8035 +#define ZT_ETHERTYPE_ATALK 0x809b +#define ZT_ETHERTYPE_AARP 0x80f3 +#define ZT_ETHERTYPE_IPX_A 0x8137 +#define ZT_ETHERTYPE_IPX_B 0x8138 +#define ZT_ETHERTYPE_IPV6 0x86dd + namespace ZeroTier { class RuntimeEnvironment; @@ -195,6 +205,13 @@ public: */ void doAnythingWaitingForPeer(const SharedPtr<Peer> &peer); + /** + * @param etherType Ethernet type ID + * @return Human-readable name + */ + static const char *etherTypeName(const unsigned int etherType) + throw(); + private: void _handleRemotePacketFragment( Demarc::Port localPort, |