diff --git a/node/Constants.hpp b/node/Constants.hpp index 5021724fd..4d720d5d9 100644 --- a/node/Constants.hpp +++ b/node/Constants.hpp @@ -133,7 +133,7 @@ error_no_byte_order_defined; #define ZT_UDP_DEFAULT_PAYLOAD_MTU 1444 /** - * MTU used for Ethernet tap device + * Default MTU used for Ethernet tap device * * This is pretty much an unchangeable global constant. To make it change * across nodes would require logic to send ICMP packet too big messages, diff --git a/node/MAC.hpp b/node/MAC.hpp index 634f90339..cd749911d 100644 --- a/node/MAC.hpp +++ b/node/MAC.hpp @@ -224,7 +224,7 @@ public: throw() { unsigned char a = ((unsigned char)(nwid & 0xfe) | 0x02); // locally administered, not multicast, from LSB of network ID - return ((a == 0x52) ? 0x32 : a); // blacklist 0x52 since it's used by KVM + return ((a == 0x52) ? 0x32 : a); // blacklist 0x52 since it's used by KVM, libvirt, and other popular virtualization engines... seems de-facto standard on Linux } /** diff --git a/node/Switch.cpp b/node/Switch.cpp index 1c2fe8b14..88ad8f5d6 100644 --- a/node/Switch.cpp +++ b/node/Switch.cpp @@ -141,6 +141,8 @@ void Switch::onLocalEthernet(const SharedPtr &network,const MAC &from,c return; } + TRACE("%s: MULTICAST %s -> %s %s %d",network->tapDeviceName().c_str(),from.toString().c_str(),mg.toString().c_str(),etherTypeName(etherType),(int)data.size()); + const unsigned int mcid = ++_multicastIdCounter & 0xffffff; const uint16_t bloomNonce = (uint16_t)(_r->prng->next32() & 0xffff); // doesn't need to be cryptographically strong unsigned char bloom[ZT_PROTO_VERB_MULTICAST_FRAME_LEN_PROPAGATION_BLOOM];