luci-mod-network: diagnostics: peg max traceroute hops to rpc timeout
In the worst case, traceroute might take up to 30s to complete when tracing
a completely unreachable path, due to the default limit of 30 hops multiplied
by the per-hop deadline of 1 second (-w 1).
Limit the maximum amount of hops to the configured rpc execution timeout,
20 second by default, in order to avoid running into timed out rpc requests.
Fixes: #5782
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 1ae142d7d1
)
This commit is contained in:
parent
3886866ad6
commit
f777bf78c1
1 changed files with 2 additions and 2 deletions
|
@ -29,7 +29,7 @@ return view.extend({
|
||||||
handlePing: function(ev, cmd) {
|
handlePing: function(ev, cmd) {
|
||||||
var exec = cmd || 'ping',
|
var exec = cmd || 'ping',
|
||||||
addr = ev.currentTarget.parentNode.previousSibling.value,
|
addr = ev.currentTarget.parentNode.previousSibling.value,
|
||||||
args = (exec == 'ping') ? [ '-4', '-c', '5', '-W', '1', addr ] : [ '-c', '5', addr ];
|
args = (exec == 'ping') ? [ '-4', '-c', '5', '-W', '1', addr ] : [ '-6', '-c', '5', addr ];
|
||||||
|
|
||||||
return this.handleCommand(exec, args);
|
return this.handleCommand(exec, args);
|
||||||
},
|
},
|
||||||
|
@ -37,7 +37,7 @@ return view.extend({
|
||||||
handleTraceroute: function(ev, cmd) {
|
handleTraceroute: function(ev, cmd) {
|
||||||
var exec = cmd || 'traceroute',
|
var exec = cmd || 'traceroute',
|
||||||
addr = ev.currentTarget.parentNode.previousSibling.value,
|
addr = ev.currentTarget.parentNode.previousSibling.value,
|
||||||
args = (exec == 'traceroute') ? [ '-4', '-q', '1', '-w', '1', '-n', addr ] : [ '-q', '1', '-w', '2', '-n', addr ];
|
args = (exec == 'traceroute') ? [ '-4', '-q', '1', '-w', '1', '-n', '-m', String(L.env.rpctimeout || 20), addr ] : [ '-q', '1', '-w', '2', '-n', addr ];
|
||||||
|
|
||||||
return this.handleCommand(exec, args);
|
return this.handleCommand(exec, args);
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in a new issue