summaryrefslogtreecommitdiff
path: root/node/Switch.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'node/Switch.hpp')
-rw-r--r--node/Switch.hpp17
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,