X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fnet_packet.c;h=6f72e05b3380d4102c19521dbd178d36b02d2375;hp=fc5720a2aee1fe5a1da7dfe8025a69ca7c6848e6;hb=bdd84660c756437cf3bc8f64adf612055acc84ea;hpb=684bd659ae0c6ca623422851c245188037658698 diff --git a/src/net_packet.c b/src/net_packet.c index fc5720a2..6f72e05b 100644 --- a/src/net_packet.c +++ b/src/net_packet.c @@ -1252,8 +1252,12 @@ void send_packet(node_t *n, vpn_packet_t *packet) { // If it's for myself, write it to the tun/tap device. if(n == myself) { - if(overwrite_mac) + if(overwrite_mac) { memcpy(DATA(packet), mymac.x, ETH_ALEN); + // Use an arbitrary fake source address. + memcpy(DATA(packet) + ETH_ALEN, DATA(packet), ETH_ALEN); + DATA(packet)[ETH_ALEN * 2 - 1] ^= 0xFF; + } n->out_packets++; n->out_bytes += packet->len; devops.write(packet);