Browse Source

Destroy feth devices before creating to delete old ones if they were left behind (MacEthernetTap).

Adam Ierymenko 6 years ago
parent
commit
92c811deb7
1 changed files with 5 additions and 1 deletions
  1. 5 1
      osdep/MacEthernetTapAgent.c

+ 5 - 1
osdep/MacEthernetTapAgent.c

@@ -245,13 +245,17 @@ int main(int argc,char **argv)
 		return ZT_MACETHERNETTAPAGENT_EXIT_CODE_UNABLE_TO_CREATE;
 	}
 
+	snprintf(s_deviceName,sizeof(s_deviceName),"feth%d",deviceNo);
 	snprintf(s_peerDeviceName,sizeof(s_peerDeviceName),"feth%d",deviceNo+5000);
+	run(P_IFCONFIG,s_peerDeviceName,"destroy",(char *)0);
+	usleep(10);
+	run(P_IFCONFIG,s_deviceName,"destroy",(char *)0);
+	usleep(10);
 	if (run(P_IFCONFIG,s_peerDeviceName,"create",(char *)0) != 0) {
 		fprintf(stderr,"E unable to create %s\n",s_deviceName);
 		return ZT_MACETHERNETTAPAGENT_EXIT_CODE_UNABLE_TO_CREATE;
 	}
 	usleep(10);
-	snprintf(s_deviceName,sizeof(s_deviceName),"feth%d",deviceNo);
 	if (run(P_IFCONFIG,s_deviceName,"create",(char *)0) != 0) {
 		fprintf(stderr,"E unable to create %s\n",s_deviceName);
 		return ZT_MACETHERNETTAPAGENT_EXIT_CODE_UNABLE_TO_CREATE;