mirror of
https://github.com/slackhq/nebula.git
synced 2026-11-15 08:56:52 +01:00
Probe for another path when a keepalive punch finds a tunnel's remote unreachable
This commit is contained in:
1 parent
2fd9966fef
commit
0f07faab0e
6 files changed
+288
-28
No files matched your search
@@ -31,6 +31,8 @@ func TestDualStackRoamToV4Only(t *testing.T) {
|
||||
{name: "peer sends", themSends: true},
|
||||
{name: "peer sends, rebind", themSends: true, rebind: true},
|
||||
{name: "peer sends, lh over v4", themSends: true, lhOverV4: true},
|
||||
{name: "peer sends, punchy", themSends: true, punchy: true},
|
||||
{name: "peer sends, punchy all", themSends: true, punchy: true, punchAll: true},
|
||||
} {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
t.Parallel()
|
||||
@@ -51,6 +53,8 @@ type dualStackRoamCase struct {
|
||||
// simultaneous has both sides initiate at once at the office, which can leave each side a different primary
|
||||
// tunnel for the other
|
||||
simultaneous bool
|
||||
// punchy turns on punchy.punch everywhere, punchAll adds punchy.target_all_remotes
|
||||
punchy, punchAll bool
|
||||
}
|
||||
|
||||
func fmtRecovery(d time.Duration) string {
|
||||
@@ -115,6 +119,10 @@ func measureDualStackRoam(t *testing.T, tc dualStackRoamCase) (time.Duration, ti
|
||||
"connection_alive_interval": 5,
|
||||
"pending_deletion_interval": 10,
|
||||
},
|
||||
"punchy": m{
|
||||
"punch": tc.punchy,
|
||||
"target_all_remotes": tc.punchAll,
|
||||
},
|
||||
}
|
||||
|
||||
me := newDualStackNode(ca, caKey, "me", "10.128.0.2/24", ap("10.0.0.2:4242"), ap("[fd00::2]:4242"), peerCfg)
|
||||
|
||||
Reference in new issue
Block a user