mirror of
https://github.com/GNS3/gns3-server.git
synced 2024-12-23 14:42:28 +00:00
Randomize the 4th and 5th bytes when provided with a base mac address. Fixes #522.
This commit is contained in:
parent
8e3e3c08f8
commit
914fe7e750
@ -28,6 +28,7 @@ import subprocess
|
||||
import shlex
|
||||
import asyncio
|
||||
import socket
|
||||
import random
|
||||
import gns3server
|
||||
|
||||
from gns3server.utils import parse_version
|
||||
@ -493,9 +494,9 @@ class QemuVM(BaseVM):
|
||||
"""
|
||||
|
||||
if not mac_address:
|
||||
self._mac_address = "00:00:ab:%s:%s:00" % (self.id[-4:-2], self.id[-2:])
|
||||
self._mac_address = "12:34:%02x:%02x:%02x:00" % (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
|
||||
else:
|
||||
self._mac_address = mac_address
|
||||
self._mac_address = mac_address[:8] + ":%02x:%02x:00" % (random.randint(0, 255), random.randint(0, 255))
|
||||
|
||||
log.info('QEMU VM "{name}" [{id}]: MAC address changed to {mac_addr}'.format(name=self._name,
|
||||
id=self._id,
|
||||
|
@ -30,19 +30,20 @@ def force_unix_path(path):
|
||||
return posixpath.normpath(path)
|
||||
|
||||
|
||||
def macaddress_to_int(macaddress):
|
||||
def macaddress_to_int(mac_address):
|
||||
"""
|
||||
Convert a macaddress with the format 00:0c:29:11:b0:0a to a int
|
||||
|
||||
:param macaddress: The mac address
|
||||
:param mac_address: The mac address
|
||||
|
||||
:returns: Integer
|
||||
"""
|
||||
return int(macaddress.replace(":", ""), 16)
|
||||
return int(mac_address.replace(":", ""), 16)
|
||||
|
||||
|
||||
def int_to_macaddress(integer):
|
||||
"""
|
||||
Convert an integer to a macaddress
|
||||
Convert an integer to a mac address
|
||||
"""
|
||||
return ":".join(textwrap.wrap("%012x" % (integer), width=2))
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user