routing: penalize node-level failures harder

Previously we only penalized the outgoing connections of a failing node.
This turned out not to be sufficient, because the next route sometimes
went into the same failing node again to try a different outgoing
connection that wasn't yet known to mission control and therefore not
penalized before.
This commit is contained in:
Joost Jager
2020-01-21 09:02:25 +01:00
parent ad0a89b844
commit ef28d2aaed
4 changed files with 26 additions and 15 deletions

View File

@@ -165,6 +165,8 @@ var resultTestCases = []resultTestCase{
pairResults: map[DirectedNodePair]pairResult{
getTestPair(1, 0): failPairResult(0),
getTestPair(1, 2): failPairResult(0),
getTestPair(0, 1): failPairResult(0),
getTestPair(2, 1): failPairResult(0),
},
},
},
@@ -182,6 +184,7 @@ var resultTestCases = []resultTestCase{
nodeFailure: &hops[1],
pairResults: map[DirectedNodePair]pairResult{
getTestPair(1, 0): failPairResult(0),
getTestPair(0, 1): failPairResult(0),
},
},
},
@@ -233,6 +236,7 @@ var resultTestCases = []resultTestCase{
amt: 97,
},
getTestPair(4, 3): {},
getTestPair(3, 4): {},
},
finalFailureReason: &reasonError,
nodeFailure: &hops[4],
@@ -257,6 +261,7 @@ var resultTestCases = []resultTestCase{
amt: 99,
},
getTestPair(3, 2): {},
getTestPair(2, 3): {},
},
finalFailureReason: &reasonError,
nodeFailure: &hops[3],
@@ -284,6 +289,8 @@ var resultTestCases = []resultTestCase{
},
getTestPair(3, 2): {},
getTestPair(3, 4): {},
getTestPair(2, 3): {},
getTestPair(4, 3): {},
},
nodeFailure: &hops[3],
},
@@ -301,6 +308,7 @@ var resultTestCases = []resultTestCase{
expectedResult: &interpretedResult{
pairResults: map[DirectedNodePair]pairResult{
getTestPair(1, 0): {},
getTestPair(0, 1): {},
},
finalFailureReason: &reasonError,
nodeFailure: &hops[1],