WARNING!
This is a very specific problem, not the usual "I have two networks and I don't know how to configure VEP and Internet at the same time..." ;)
Thanks God, I am a computer engineer and I don't have problems dealing with advanced and sophisticated computer and network issues. :)
There is something that should be definitely looked into, when it comes to network management, in both the VEP plugin and server, which is one of the following (or both!):
1) allowing the user to "force" VEP on a specific network adapter (regardless of the IP addresses)
2) changing the behavior of VEP, so that if the plugin doesn't find a preserved instance at the IP address saved in the host project, it would scan the whole network looking for that specific instance name at a different IP address (please refer to THIS THREAD, where this issue was discussed, but nobody from VSL ever replied).
My studio setup includes a PC host and a PC server. Both computers have a dual ethernet connection, so that the first one is used for internet (on 192.168.0.x) on both computers and the second one is used exclusively for VEP (through a switch, on a separate network 192.168.1.x).
For the VEP side, the host is assigned to fixed IP 192.168.1.199 while the server is assigned to fixed IP 192.168.1.200.
Everything works like a charm!
The problem comes in when I am on the go and have to work with my mobile setup (a MacBook Pro + the same PC server), being forced to use whatever internet connection I get, through an external router (that I cannot configure as I like). In that case, I have my MacBook Pro connecting to the internet through the WiFi and to the PC server through an Ethernet adapter plugged into the Thunderbolt port.
Now, in that specific case, if the DHCP of the WiFi router is configured to assign IP addresses in the range 192.168.1.x, I am forced to use the SAME NETWORK for both Internet and VEP over TWO DIFFERENT adapters (I could change the VEP network to 192.168.y.x, where y <> 1, but my orchestral template would not connect anymore and manually reconnecting 20+ instances every time I open a new project is not fun at all!).
Now, I managed to PARTIALLY solve this issue using the following configuration:
- on the MacBook
- the LAN adapter is set as 192.168.1.199 with the gateway set as 192.168.1.200 (the VEP server)
- in Terminal, I added the route: sudo route add -net 192.168.1.200 192.168.1.199 (this way the VEP server's IP address is looked for through that specific network adapter)
- the WiFi adapter's priority is higher than the LAN's one (otherwise I won't connect to the internet)
- on the VEP server
- the VEP adapter is set as 192.168.1.200 with the gateway set as 192.168.1.199 (the IP address of the MacBook's LAN adapter)
With that configuration, my orchestral template is happily finding the instances on the VEP server, using the IP address that is saved in the host project (Nuendo, by the way).
There is only one issue!
Since the WiFi adapter has higher priority over the LAN adapter in the MacBook (otherwise I would not be able to surf the web), whenever I try to add a new instrument to my template, the VEP plugin, on connecting to the server, is offering me a list of instances through the WiFi, rather than through the LAN. And in order to avoid that, I have to select an instance from the list and manually change its address in the "Slave Address" box.
Not too bad, after all... but of course not ideal... especially if you happen to forget it and connect a new instance through the WiFi! :P
Ultimately, I think the best approach to avoid A LOT of issues related to the network configuration is to allow the user to specify, as an option, the possibility to force all the connection to go through a specific network adapter, as it is suggested by the attached picture.
In addition to that, the behavior of the plugin while looking for a specific instance should be changed so that, if that particular instance is not found at the given IP address, the whole network should be scanned and any found instance should be replaced to the original, automatically or upon user's request.