Adam Ierymenko %!s(int64=4) %!d(string=hai) anos
pai
achega
59dd71187e
Modificáronse 2 ficheiros con 3 adicións e 1 borrados
  1. 2 1
      osdep/LinuxEthernetTap.cpp
  2. 1 0
      osdep/LinuxEthernetTap.hpp

+ 2 - 1
osdep/LinuxEthernetTap.cpp

@@ -80,6 +80,7 @@ LinuxEthernetTap::LinuxEthernetTap(
 	_handler(handler),
 	_arg(arg),
 	_nwid(nwid),
+	_mac(mac),
 	_homePath(homePath),
 	_mtu(mtu),
 	_fd(0),
@@ -432,7 +433,7 @@ void LinuxEthernetTap::threadMain()
 		Thread::sleep(500);
 
 		ifr.ifr_ifru.ifru_hwaddr.sa_family = ARPHRD_ETHER;
-		mac.copyTo(ifr.ifr_ifru.ifru_hwaddr.sa_data,6);
+		_mac.copyTo(ifr.ifr_ifru.ifru_hwaddr.sa_data,6);
 		if (ioctl(sock,SIOCSIFHWADDR,(void *)&ifr) < 0) {
 			::close(sock);
 			printf("WARNING: ioctl() failed setting up Linux tap device (set MAC)\n");

+ 1 - 0
osdep/LinuxEthernetTap.hpp

@@ -63,6 +63,7 @@ private:
 	void (*_handler)(void *,void *,uint64_t,const MAC &,const MAC &,unsigned int,unsigned int,const void *,unsigned int);
 	void *_arg;
 	uint64_t _nwid;
+	MAC _mac;
 	Thread _thread;
 	std::string _homePath;
 	std::string _dev;