Feature #978
Updated by Tobias Brunner over 10 years ago
In current implementation of Mobike, the order of interfaces listed in strongswan.conf interfaces_use parameter is taken into account only at startup.
After startup, the last valid interface is always used until it fails.
In some use cases, typically when one of the interfaces is a backup interface (PPP over cellular), it is desirable that Mobike will always use used the higher priority interface (e.g. Ethernet) as soon as it is detected valid:
If interfaces_use = eth0 , ppp0
and (new parameter) interface_priority=strict (current behaviour could be defined as interface_priority=sticky)
then
- Start Mobike over eth0 if it is valid
- if eth0 fails then use ppp0
- as soon as eth0 is valid again (up and client able to communicate with strongswan concentrator over this interface), then switch tunnel to eth0 again.
We are willing to fund development for this patch as it is required in a short term large scale project.
If such automatic priority enforcement is too difficult to implement as part
Instead of Strongswan, then we would need a command to force Mobike to try using a specific interface : this would allow external code to test interfaces (e.g. by attaching to each interface and pinging maintaining the concentrator) and force Mobike to start using the higher priority PPP interface as soon as it gets back up. But integration in strongswan would be better.
In case consulting is not possible, we would need a pointer to the part of the code that handles interface monitoring and switching, in order to prepare a patch by ourselves. up
After startup, the last valid interface is always used until it fails.
In some use cases, typically when one of the interfaces is a backup interface (PPP over cellular), it is desirable that Mobike will always use used the higher priority interface (e.g. Ethernet) as soon as it is detected valid:
If interfaces_use = eth0 , ppp0
and (new parameter) interface_priority=strict (current behaviour could be defined as interface_priority=sticky)
then
- Start Mobike over eth0 if it is valid
- if eth0 fails then use ppp0
- as soon as eth0 is valid again (up and client able to communicate with strongswan concentrator over this interface), then switch tunnel to eth0 again.
We are willing to fund development for this patch as it is required in a short term large scale project.
If such automatic priority enforcement is too difficult to implement as part
Instead of Strongswan, then we would need a command to force Mobike to try using a specific interface : this would allow external code to test interfaces (e.g. by attaching to each interface and pinging maintaining the concentrator) and force Mobike to start using the higher priority PPP interface as soon as it gets back up. But integration in strongswan would be better.
In case consulting is not possible, we would need a pointer to the part of the code that handles interface monitoring and switching, in order to prepare a patch by ourselves. up