microsoft / microsoft/ctsTraffic
Client Survivability across VPN Restarts
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 289
- Forks
- 54
- PR merge metrics
- No merged PRs in 30d
Description
Hello,
I have been running long (multi day) network good put tests using ctsTraffic with no issues. It’s been nice because the long tests I conduct need to persist through different unique “network reset / outage” scenarios, and ctsTraffic has been able to perform in those scenarios. For example, the ctsTraffic client performing a “pull” from a server doesn’t shut down even if I turn off the network router that the client is connected to. It will just record “0 up down” for the duration where network router outage occurs, and then pick back up when network connection is restored.
However, this all seems to break when I’m doing the test on a VPN. I will perform the same router reset test as before, and generally this happens:
1 Router reset initiated
2 VPN disconnects
3 ctsTraffic screams receive error warnings
4 vpn reconnects automatically
5 ctsTraffic comes back but says 0 Mb/s down even though there exists internet.
The issue can be resolved by manually disconnecting the VPN and then manually reconnecting (ctsTraffic session is restored, I see downlink traffic again) but I need this test to run automatically…
My initial thought was to automate vpn disconnect and reconnect but to do this properly you need to have admin privileges which I do not have. So - I found a work around - what I ended up doing to work around admin privileges to reset the VPN wad initiating ip config /release and ip config /renew. This seems to force restart the VPN properly, but then often this will cause ctsTraffic to close the session and exit the test.
What I need is a solution that either allows ctsTraffic to recognize that a vpn reconnect/disconnect occurred and properly restablish the connection without stopping the “pull” test, or persist through adapter ipconfig /release and /renew commands.
Any solutions, recommendations or assistance i greatly appreciated.
Thanks.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the ctsTraffic client pull test across a VPN disconnect and reconnect, including ipconfig /release and /renew. Investigate the client behavior when the VPN returns and define done as keeping the pull session alive and restoring downlink traffic without manual intervention.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100