From 379c2161095adc566f96cd183c50a887e4d93a65 Mon Sep 17 00:00:00 2001
From: grossmj <grossmj@gns3.net>
Date: Sun, 26 Jun 2016 21:50:08 -0600
Subject: [PATCH] Allow for (a lot) more docker container ports. Fixes #593.

---
 gns3server/modules/docker/docker_vm.py |  8 ++++----
 tests/modules/docker/test_docker_vm.py | 14 +++++++-------
 2 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/gns3server/modules/docker/docker_vm.py b/gns3server/modules/docker/docker_vm.py
index 3c4d1349..3378ec78 100644
--- a/gns3server/modules/docker/docker_vm.py
+++ b/gns3server/modules/docker/docker_vm.py
@@ -622,11 +622,11 @@ class DockerVM(BaseVM):
             raise DockerError(
                 "Adapter {adapter_number} doesn't exist on Docker container '{name}'".format(name=self.name, adapter_number=adapter_number))
 
-        for index in range(128):
-            if "veth-gns3-ext{}".format(index) not in psutil.net_if_addrs():
+        for index in range(4096):
+            if "gns3-ext{}".format(index) not in psutil.net_if_addrs():
                 adapter.ifc = "eth{}".format(str(index))
-                adapter.host_ifc = "veth-gns3-ext{}".format(str(index))
-                adapter.guest_ifc = "veth-gns3-int{}".format(str(index))
+                adapter.host_ifc = "gns3-ext{}".format(str(index))
+                adapter.guest_ifc = "gns3-int{}".format(str(index))
                 break
         if not hasattr(adapter, "ifc"):
             raise DockerError(
diff --git a/tests/modules/docker/test_docker_vm.py b/tests/modules/docker/test_docker_vm.py
index e3217413..728b0068 100644
--- a/tests/modules/docker/test_docker_vm.py
+++ b/tests/modules/docker/test_docker_vm.py
@@ -692,10 +692,10 @@ def test_add_ubridge_connection(loop, vm):
     loop.run_until_complete(asyncio.async(vm._add_ubridge_connection(nio, 0, 42)))
 
     calls = [
-        call.send("docker create_veth veth-gns3-ext0 veth-gns3-int0"),
-        call.send('docker move_to_ns veth-gns3-int0 42 eth0'),
+        call.send("docker create_veth gns3-ext0 gns3-int0"),
+        call.send('docker move_to_ns gns3-int0 42 eth0'),
         call.send('bridge create bridge0'),
-        call.send('bridge add_nio_linux_raw bridge0 veth-gns3-ext0'),
+        call.send('bridge add_nio_linux_raw bridge0 gns3-ext0'),
         call.send('bridge add_nio_udp bridge0 4242 127.0.0.1 4343'),
         call.send('bridge start_capture bridge0 "/tmp/capture.pcap"'),
         call.send('bridge start bridge0')
@@ -712,8 +712,8 @@ def test_add_ubridge_connection_none_nio(loop, vm):
     loop.run_until_complete(asyncio.async(vm._add_ubridge_connection(nio, 0, 42)))
 
     calls = [
-        call.send("docker create_veth veth-gns3-ext0 veth-gns3-int0"),
-        call.send('docker move_to_ns veth-gns3-int0 42 eth0'),
+        call.send("docker create_veth gns3-ext0 gns3-int0"),
+        call.send('docker move_to_ns gns3-int0 42 eth0'),
     ]
     # We need to check any_order ortherwise mock is confused by asyncio
     vm._ubridge_hypervisor.assert_has_calls(calls, any_order=True)
@@ -740,7 +740,7 @@ def test_add_ubridge_connection_no_free_interface(loop, vm):
     with pytest.raises(DockerError):
 
         # We create fake ethernet interfaces for docker
-        interfaces = ["veth-gns3-ext{}".format(index) for index in range(128)]
+        interfaces = ["gns3-ext{}".format(index) for index in range(128)]
 
         with patch("psutil.net_if_addrs", return_value=interfaces):
             loop.run_until_complete(asyncio.async(vm._add_ubridge_connection(nio, 0, 42)))
@@ -760,7 +760,7 @@ def test_delete_ubridge_connection(loop, vm):
 
     calls = [
         call.send("bridge delete bridge0"),
-        call.send('docker delete_veth veth-gns3-ext0')
+        call.send('docker delete_veth gns3-ext0')
     ]
     vm._ubridge_hypervisor.assert_has_calls(calls, any_order=True)