diff --git a/luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js b/luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js index 939c4b88..af22cf6c 100644 --- a/luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js +++ b/luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js @@ -56,6 +56,7 @@ var COUNTER_LABELS = { OFOQueueTail: _('Out-of-order segments queued at tail'), OFOQueue: _('Out-of-order segments queued'), OFOMerge: _('Out-of-order segments merged'), + RcvPruned: _('Received segments pruned from the receive queue (memory pressure)'), /* Subflow lifecycle: stale/blackhole detection and removal */ Blackhole: _('Blackhole detected on the path'), @@ -133,17 +134,6 @@ return view.extend({ E('img', { 'src': L.resource('spinner.gif') }) ]); - var seeAlso = E('div', { 'class': 'cbi-section' }, [ - E('legend', {}, [ _('Related pages') ]), - E('ul', {}, [ - E('li', {}, [ E('a', { 'href': L.url('admin/system/openmptcprouter/status') }, [ _('OpenMPTCProuter Network overview / Status') ]) ]), - E('li', {}, [ E('a', { 'href': L.url('admin/network/mptcp/mptcp') }, [ _('MPTCP Settings') ]) ]), - E('li', {}, [ E('a', { 'href': L.url('admin/network/mptcp/mptcp_fullmesh') }, [ _('MPTCP Fullmesh (subflow map)') ]) ]), - E('li', {}, [ E('a', { 'href': L.url('admin/network/mptcp/mptcp_connections') }, [ _('MPTCP Established connections') ]) ]), - E('li', {}, [ E('a', { 'href': L.url('admin/network/mptcp/mptcp_monitor') }, [ _('MPTCP monitoring (raw kernel counters)') ]) ]) - ]) - ]); - var page = E('div', {}, [ E('h2', {}, [ _('MPTCP Diagnostics') ]), E('div', { 'class': 'cbi-map-descr' }, [ @@ -151,8 +141,7 @@ return view.extend({ 'blackholed/stale subflows, resets, checksum errors, and WANs that never got an MPTCP endpoint ' + 'registered at all. Refreshes automatically every 15 seconds.') ]), - container, - seeAlso + container ]); this.renderAll(container, initialData); @@ -171,6 +160,7 @@ return view.extend({ container.appendChild(this.renderIssues(d.issues || [])); container.appendChild(this.renderWanTable(d.wans || [])); + container.appendChild(this.renderSubflowsTable(d.subflows || [])); container.appendChild(this.renderSettings(d.settings || {}, d.limits || {}, d.established_count)); container.appendChild(this.renderCounters(d.counters || {})); }, @@ -231,6 +221,64 @@ return view.extend({ return wrap; }, + renderSubflowsTable: function(subflows) { + var wrap = E('div', {}, [ E('h3', {}, [ _('Live MPTCP subflows') ]) ]); + if (!subflows.length) { + wrap.appendChild(E('p', {}, [ + _('No active MPTCP subflow found on any multipath-enabled WAN right now.') + ])); + return wrap; + } + + var fmtRate = function(bps) { + if (bps === undefined || bps === null) return '-'; + if (bps >= 1000000000) return (bps / 1000000000).toFixed(1) + ' Gbps'; + if (bps >= 1000000) return (bps / 1000000).toFixed(1) + ' Mbps'; + if (bps >= 1000) return (bps / 1000).toFixed(1) + ' Kbps'; + return bps + ' bps'; + }; + var fmtPair = function(a, b) { + if (a === undefined || a === null) return '-'; + return (b === undefined || b === null) ? String(a) : a + ' / ' + b; + }; + + var table = E('table', { 'class': 'omrdiag-wan-table' }, [ + E('tr', {}, [ + E('th', {}, [ _('WAN') ]), + E('th', {}, [ _('Local') ]), + E('th', {}, [ _('Remote') ]), + E('th', {}, [ _('Backup') ]), + E('th', {}, [ _('cwnd') ]), + E('th', {}, [ _('RTT / var (ms)') ]), + E('th', {}, [ _('Retrans / total') ]), + E('th', {}, [ _('Pacing rate') ]), + E('th', {}, [ _('Delivery rate') ]) + ]) + ]); + subflows.forEach(function(sf) { + table.appendChild(E('tr', {}, [ + E('td', {}, [ sf.wan || sf.dev || '-' ]), + E('td', {}, [ (sf.local_ip || '-') + ':' + (sf.local_port != null ? sf.local_port : '') ]), + E('td', {}, [ (sf.remote_ip || '-') + ':' + (sf.remote_port != null ? sf.remote_port : '') ]), + E('td', {}, [ + // "backup" is a normal role (not a health issue), so it + // deliberately gets no severity class -- only "active" + // (the role actually carrying scheduled traffic) is + // highlighted green. + E('span', { 'class': 'omrdiag-badge' + (sf.backup ? '' : ' ok') }, + [ sf.backup ? _('backup') : _('active') ]) + ]), + E('td', {}, [ sf.cwnd != null ? String(sf.cwnd) : '-' ]), + E('td', {}, [ fmtPair(sf.rtt, sf.rttvar) ]), + E('td', {}, [ fmtPair(sf.retrans, sf.retrans_total) ]), + E('td', {}, [ fmtRate(sf.pacing_rate) ]), + E('td', {}, [ fmtRate(sf.delivery_rate) ]) + ])); + }); + wrap.appendChild(table); + return wrap; + }, + renderSettings: function(settings, limits, establishedCount) { // "1"/"0" mean enabled/disabled for the enabled and checksum sysctls -- // but NOT for path_manager: on the in-kernel MPTCP sysctl layout, diff --git a/luci-app-mptcp/po/de/mptcp.po b/luci-app-mptcp/po/de/mptcp.po index d5b90262..3b7fab8e 100644 --- a/luci-app-mptcp/po/de/mptcp.po +++ b/luci-app-mptcp/po/de/mptcp.po @@ -17,7 +17,7 @@ msgstr "" msgid "(no output)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_dscp_routing.js:45 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_dscp_routing.js:54 msgid "-- not pinned --" msgstr "" @@ -41,43 +41,43 @@ msgid "" "attractive. Max 256." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:73 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:74 msgid "ADD_ADDR echo failed to send" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:71 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:72 msgid "ADD_ADDR echo received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:72 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:73 msgid "ADD_ADDR echo sent" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:74 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:75 msgid "ADD_ADDR received with a port number" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:70 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:71 msgid "ADD_ADDR signals dropped" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:69 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:70 msgid "ADD_ADDR signals failed to send" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:67 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:68 msgid "ADD_ADDR signals received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:68 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:69 msgid "ADD_ADDR signals sent" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:262 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:310 msgid "Accepted ADD_ADDR limit" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:259 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:307 msgid "Add-addr timeout (s)" msgstr "" @@ -102,11 +102,15 @@ msgstr "Durchschnitt" msgid "BPF schedulers (not available on all platforms):" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:250 +msgid "Backup" +msgstr "" + #: luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json:47 msgid "Bandwidth" msgstr "Bandbreite" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:61 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:62 msgid "Blackhole detected on the path" msgstr "" @@ -114,7 +118,7 @@ msgstr "" msgid "Blackhole timeout" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:258 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:306 msgid "Blackhole timeout (s)" msgstr "" @@ -156,7 +160,7 @@ msgstr "" "Prüfung auf transparenten Transport von MPTCP-Paketen zwischen Anschluss und " "Server." -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:256 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:304 msgid "Checksum" msgstr "" @@ -173,7 +177,7 @@ msgstr "" msgid "Close timeout" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:260 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:308 msgid "Close timeout (s)" msgstr "" @@ -194,11 +198,11 @@ msgstr "" msgid "Could not allocate an MPTCP token, fell back to TCP" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:104 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:105 msgid "Couldn't fall back to TCP (connection state didn't allow it)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:288 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:336 msgid "Counter" msgstr "" @@ -232,11 +236,11 @@ msgstr "" msgid "Data checksum errors" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:86 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:87 msgid "Data mapping failures received (MP_FAIL)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:85 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:86 msgid "Data mapping failures sent (MP_FAIL)" msgstr "" @@ -258,7 +262,11 @@ msgstr "Voreinstellung ist 'bbr'" msgid "Default is fullmesh" msgstr "Voreinstellung ist 'bbr'" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:211 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:255 +msgid "Delivery rate" +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:201 msgid "Device" msgstr "" @@ -266,7 +274,7 @@ msgstr "" msgid "Diagnostics" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:244 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:292 msgid "Disabled" msgstr "" @@ -286,11 +294,11 @@ msgstr "" msgid "Enable MPTCPd" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:243 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:291 msgid "Enabled" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:214 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:204 msgid "Endpoint flags" msgstr "" @@ -311,11 +319,11 @@ msgstr "" msgid "Error fetching monitor data." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:99 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:100 msgid "Established MPTCP connections (current)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:263 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:311 msgid "Established MPTCP connections (right now)" msgstr "" @@ -331,27 +339,27 @@ msgstr "" msgid "Fallback to TCP (SYN/ACK stripped)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:88 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:89 msgid "Fastclose received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:87 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:88 msgid "Fastclose sent" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:102 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:103 msgid "Fell back to TCP: bad or missing data sequence signal" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:101 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:102 msgid "Fell back to TCP: conflicting TCP MD5SIG option" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:100 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:101 msgid "Fell back to TCP: missing data on first established packet" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:103 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:104 msgid "Fell back to TCP: simultaneous connect" msgstr "" @@ -384,7 +392,7 @@ msgstr "" msgid "Grant UCI access for luci-app-mptcp" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:150 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:140 msgid "" "Helps explain why MPTCP might not be aggregating your WANs correctly: " "fallback to plain TCP, blackholed/stale subflows, resets, checksum errors, " @@ -403,7 +411,7 @@ msgstr "" msgid "In" msgstr "Eingehend" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:248 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:296 msgid "In-kernel" msgstr "" @@ -464,7 +472,7 @@ msgstr "" msgid "JOIN request rejected by the path manager" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:265 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:313 msgid "Kernel MPTCP configuration" msgstr "" @@ -472,7 +480,7 @@ msgstr "" msgid "LE (1) - Lower effort" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:170 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:159 msgid "Last updated:" msgstr "" @@ -486,6 +494,14 @@ msgstr "" "Gateway zu spiegeln -- das gleiche Verhalten \"Download folgt immer dem " "Upload\", das mqvpn bereits nativ eingebaut hat." +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:225 +msgid "Live MPTCP subflows" +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:248 +msgid "Local" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/multipath.js:75 msgid "MB/s" msgstr "MByte/s" @@ -496,35 +512,23 @@ msgstr "MByte/s" msgid "MPTCP" msgstr "MPTCP" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:148 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:138 msgid "MPTCP Diagnostics" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:142 -msgid "MPTCP Established connections" -msgstr "" - #: luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json:69 msgid "MPTCP Fullmesh" msgstr "MPTCP Vollvermaschung" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:141 -msgid "MPTCP Fullmesh (subflow map)" -msgstr "" - -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:140 -msgid "MPTCP Settings" -msgstr "" - #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_check.js:46 msgid "MPTCP Support Check" msgstr "Prüfung auf Transparenz für MPTCP" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:253 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:301 msgid "MPTCP enabled" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:213 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:203 msgid "MPTCP endpoint" msgstr "" @@ -552,7 +556,7 @@ msgstr "" msgid "MPTCP handshake dropped client-side, fell back to TCP" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:277 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:325 msgid "MPTCP kernel counters (since boot)" msgstr "" @@ -560,19 +564,15 @@ msgstr "" msgid "MPTCP monitoring" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:143 -msgid "MPTCP monitoring (raw kernel counters)" -msgstr "" - #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:22 msgid "MPTCP rejected on a port-only endpoint" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:90 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:91 msgid "MPTCP resets received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:89 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:90 msgid "MPTCP resets sent" msgstr "" @@ -580,7 +580,7 @@ msgstr "" msgid "MPTCP-level retransmissions" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:105 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:106 msgid "MPTCP-level zero-window probes" msgstr "" @@ -617,7 +617,7 @@ msgstr "MBit/s" msgid "Mirror DSCP/weight pins to gateway" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:212 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:202 msgid "Mode" msgstr "" @@ -659,7 +659,11 @@ msgstr "Netlink-Layer" msgid "Networks MPTCP settings." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:279 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:228 +msgid "No active MPTCP subflow found on any multipath-enabled WAN right now." +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:327 msgid "No counters available (nstat/multipath -m returned nothing)." msgstr "" @@ -667,7 +671,7 @@ msgstr "" msgid "No data" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:184 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:174 msgid "No diagnostic data available yet." msgstr "" @@ -675,7 +679,7 @@ msgstr "" msgid "No multipath WAN interface is currently available." msgstr "Derzeit ist keine Multipath-WAN-Schnittstelle verfügbar." -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:205 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:195 msgid "No multipath-enabled WAN interfaces found." msgstr "" @@ -704,10 +708,6 @@ msgid "" "scheduler is selected." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:139 -msgid "OpenMPTCProuter Network overview / Status" -msgstr "" - #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/multipath.js:700 msgid "Out" msgstr "Ausgehend" @@ -732,11 +732,15 @@ msgstr "Ausgehender Verkehr" msgid "Outbound – all interfaces" msgstr "Ausgehend - alle Schnittstellen" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:254 +msgid "Pacing rate" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:150 msgid "Path Manager type" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:254 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:302 msgid "Path manager" msgstr "" @@ -745,50 +749,62 @@ msgstr "" msgid "Peak" msgstr "Spitze" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:203 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:193 msgid "Per-WAN MPTCP endpoint status" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:78 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:79 msgid "RM_ADDR signals dropped" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:77 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:78 msgid "RM_ADDR signals failed to send" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:75 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:76 msgid "RM_ADDR signals received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:76 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:77 msgid "RM_ADDR signals sent" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:252 +msgid "RTT / var (ms)" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:260 msgid "Re-create fullmesh subflows after a timeout" msgstr "Wiederverbindungs-Wartezeit der Vollvermaschungs-Verbindungen" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:95 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:96 msgid "Receive window conflict resolved on update" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:94 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:95 msgid "Receive window shared across subflows" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:96 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:97 msgid "Receive window update conflicts" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:137 -msgid "Related pages" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:59 +msgid "Received segments pruned from the receive queue (memory pressure)" +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:249 +msgid "Remote" msgstr "" #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:223 msgid "Retranmission intervals" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:253 +msgid "Retrans / total" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_dscp_routing.js:144 msgid "" "Router → internet. Pins this class to a WAN for MPTCP’s bpf_dscp scheduler " @@ -796,7 +812,7 @@ msgid "" "DSCP mask via the control API." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:255 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:303 msgid "Scheduler" msgstr "" @@ -804,7 +820,7 @@ msgstr "" msgid "Segments received outside the MPTCP mapping window" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:93 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:94 msgid "Send window shared across subflows" msgstr "" @@ -826,11 +842,11 @@ msgstr "" msgid "Settings" msgstr "Einstellungen" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:257 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:305 msgid "Stale loss count threshold" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:63 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:64 msgid "Stale subflows recovered" msgstr "" @@ -890,23 +906,23 @@ msgstr "" msgid "Subflow JOIN failed: could not create socket" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:261 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:309 msgid "Subflow limit" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:82 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:83 msgid "Subflow priority change received (MP_PRIO)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:81 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:82 msgid "Subflow priority change sent (MP_PRIO)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:62 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:63 msgid "Subflows marked stale (possible blackhole)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:64 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:65 msgid "Subflows removed" msgstr "" @@ -956,7 +972,7 @@ msgid "" "traffic class." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:249 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:297 msgid "Userspace" msgstr "" @@ -964,11 +980,12 @@ msgstr "" msgid "Userspace path manager" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:288 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:336 msgid "Value" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:210 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:200 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:247 msgid "WAN" msgstr "" @@ -1003,7 +1020,12 @@ msgid "" "effect until this is re-enabled and applied." msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:269 +msgid "active" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:293 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:269 msgid "backup" msgstr "Sicherung" @@ -1024,6 +1046,10 @@ msgid "" "bpf_rr => always picks the next available subflow to send data (round-robin)" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:251 +msgid "cwnd" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:66 #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:82 msgid "default" @@ -1083,7 +1109,7 @@ msgstr "primär" msgid "minutes window, 1 second interval" msgstr "Minuten Zeitfenster, 1-Sekunden-Intervall" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:225 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:215 msgid "missing" msgstr "" @@ -1097,7 +1123,7 @@ msgstr "" msgid "ndiffports subflows number" msgstr "ndiff-Ports Verbindungs-Nummer" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:225 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:215 msgid "registered" msgstr "" diff --git a/luci-app-mptcp/po/fr/mptcp.po b/luci-app-mptcp/po/fr/mptcp.po index 417e0a3f..7e984795 100644 --- a/luci-app-mptcp/po/fr/mptcp.po +++ b/luci-app-mptcp/po/fr/mptcp.po @@ -18,7 +18,7 @@ msgstr "" msgid "(no output)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_dscp_routing.js:45 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_dscp_routing.js:54 msgid "-- not pinned --" msgstr "" @@ -42,43 +42,43 @@ msgid "" "attractive. Max 256." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:73 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:74 msgid "ADD_ADDR echo failed to send" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:71 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:72 msgid "ADD_ADDR echo received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:72 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:73 msgid "ADD_ADDR echo sent" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:74 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:75 msgid "ADD_ADDR received with a port number" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:70 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:71 msgid "ADD_ADDR signals dropped" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:69 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:70 msgid "ADD_ADDR signals failed to send" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:67 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:68 msgid "ADD_ADDR signals received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:68 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:69 msgid "ADD_ADDR signals sent" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:262 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:310 msgid "Accepted ADD_ADDR limit" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:259 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:307 msgid "Add-addr timeout (s)" msgstr "" @@ -103,11 +103,15 @@ msgstr "Moyenne" msgid "BPF schedulers (not available on all platforms):" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:250 +msgid "Backup" +msgstr "" + #: luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json:47 msgid "Bandwidth" msgstr "Bande passante" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:61 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:62 msgid "Blackhole detected on the path" msgstr "" @@ -115,7 +119,7 @@ msgstr "" msgid "Blackhole timeout" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:258 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:306 msgid "Blackhole timeout (s)" msgstr "" @@ -155,7 +159,7 @@ msgstr "" msgid "Check if MPTCP between interface and server is working." msgstr "Vérifiez si MPTCP entre l'interface et le serveur fonctionne." -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:256 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:304 msgid "Checksum" msgstr "" @@ -172,7 +176,7 @@ msgstr "" msgid "Close timeout" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:260 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:308 msgid "Close timeout (s)" msgstr "" @@ -193,11 +197,11 @@ msgstr "" msgid "Could not allocate an MPTCP token, fell back to TCP" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:104 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:105 msgid "Couldn't fall back to TCP (connection state didn't allow it)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:288 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:336 msgid "Counter" msgstr "" @@ -231,11 +235,11 @@ msgstr "" msgid "Data checksum errors" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:86 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:87 msgid "Data mapping failures received (MP_FAIL)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:85 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:86 msgid "Data mapping failures sent (MP_FAIL)" msgstr "" @@ -255,7 +259,11 @@ msgstr "La valeur par défaut est cubic" msgid "Default is fullmesh" msgstr "La valeur par défaut est fullmesh" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:211 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:255 +msgid "Delivery rate" +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:201 msgid "Device" msgstr "" @@ -263,7 +271,7 @@ msgstr "" msgid "Diagnostics" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:244 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:292 msgid "Disabled" msgstr "" @@ -283,11 +291,11 @@ msgstr "" msgid "Enable MPTCPd" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:243 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:291 msgid "Enabled" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:214 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:204 msgid "Endpoint flags" msgstr "" @@ -308,11 +316,11 @@ msgstr "" msgid "Error fetching monitor data." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:99 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:100 msgid "Established MPTCP connections (current)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:263 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:311 msgid "Established MPTCP connections (right now)" msgstr "" @@ -328,27 +336,27 @@ msgstr "" msgid "Fallback to TCP (SYN/ACK stripped)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:88 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:89 msgid "Fastclose received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:87 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:88 msgid "Fastclose sent" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:102 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:103 msgid "Fell back to TCP: bad or missing data sequence signal" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:101 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:102 msgid "Fell back to TCP: conflicting TCP MD5SIG option" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:100 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:101 msgid "Fell back to TCP: missing data on first established packet" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:103 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:104 msgid "Fell back to TCP: simultaneous connect" msgstr "" @@ -380,7 +388,7 @@ msgstr "" msgid "Grant UCI access for luci-app-mptcp" msgstr "Accorder l'accès UCI pour luci-app-mlvpn" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:150 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:140 msgid "" "Helps explain why MPTCP might not be aggregating your WANs correctly: " "fallback to plain TCP, blackholed/stale subflows, resets, checksum errors, " @@ -402,7 +410,7 @@ msgstr "" msgid "In" msgstr "Entrant" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:248 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:296 msgid "In-kernel" msgstr "" @@ -463,7 +471,7 @@ msgstr "" msgid "JOIN request rejected by the path manager" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:265 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:313 msgid "Kernel MPTCP configuration" msgstr "" @@ -471,7 +479,7 @@ msgstr "" msgid "LE (1) - Lower effort" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:170 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:159 msgid "Last updated:" msgstr "" @@ -481,9 +489,17 @@ msgid "" "instead -- the same \"download always follows upload\" behavior mqvpn " "already has built in natively." msgstr "" -"Laisser vide pour simplement refléter l’interface Upload de cette ligne " -"vers la passerelle -- le même comportement \"le téléchargement suit " -"toujours l’envoi\" que mqvpn a déjà nativement." +"Laisser vide pour simplement refléter l’interface Upload de cette ligne vers " +"la passerelle -- le même comportement \"le téléchargement suit toujours " +"l’envoi\" que mqvpn a déjà nativement." + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:225 +msgid "Live MPTCP subflows" +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:248 +msgid "Local" +msgstr "" #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/multipath.js:75 msgid "MB/s" @@ -495,35 +511,23 @@ msgstr "Mo/s" msgid "MPTCP" msgstr "MPTCP" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:148 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:138 msgid "MPTCP Diagnostics" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:142 -msgid "MPTCP Established connections" -msgstr "" - #: luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json:69 msgid "MPTCP Fullmesh" msgstr "MPTCP Fullmesh" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:141 -msgid "MPTCP Fullmesh (subflow map)" -msgstr "" - -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:140 -msgid "MPTCP Settings" -msgstr "" - #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_check.js:46 msgid "MPTCP Support Check" msgstr "Vérification du support MPTCP" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:253 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:301 msgid "MPTCP enabled" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:213 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:203 msgid "MPTCP endpoint" msgstr "" @@ -551,7 +555,7 @@ msgstr "" msgid "MPTCP handshake dropped client-side, fell back to TCP" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:277 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:325 msgid "MPTCP kernel counters (since boot)" msgstr "" @@ -559,19 +563,15 @@ msgstr "" msgid "MPTCP monitoring" msgstr "Surveillance MPTCP" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:143 -msgid "MPTCP monitoring (raw kernel counters)" -msgstr "" - #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:22 msgid "MPTCP rejected on a port-only endpoint" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:90 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:91 msgid "MPTCP resets received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:89 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:90 msgid "MPTCP resets sent" msgstr "" @@ -579,7 +579,7 @@ msgstr "" msgid "MPTCP-level retransmissions" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:105 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:106 msgid "MPTCP-level zero-window probes" msgstr "" @@ -616,7 +616,7 @@ msgstr "Mbit/s" msgid "Mirror DSCP/weight pins to gateway" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:212 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:202 msgid "Mode" msgstr "" @@ -657,7 +657,11 @@ msgstr "Netlink" msgid "Networks MPTCP settings." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:279 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:228 +msgid "No active MPTCP subflow found on any multipath-enabled WAN right now." +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:327 msgid "No counters available (nstat/multipath -m returned nothing)." msgstr "" @@ -665,7 +669,7 @@ msgstr "" msgid "No data" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:184 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:174 msgid "No diagnostic data available yet." msgstr "" @@ -673,7 +677,7 @@ msgstr "" msgid "No multipath WAN interface is currently available." msgstr "Aucune interface WAN multipath n'est actuellement disponible." -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:205 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:195 msgid "No multipath-enabled WAN interfaces found." msgstr "" @@ -694,8 +698,8 @@ msgid "" "MPTCP page’s Interfaces Settings) are listed below." msgstr "" "Seuls les WAN avec Multipath TCP activé (l’option « Multipath TCP » de la " -"section Configuration des interfaces de la page MPTCP) sont listés " -"ci-dessous." +"section Configuration des interfaces de la page MPTCP) sont listés ci-" +"dessous." #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:304 msgid "" @@ -703,10 +707,6 @@ msgid "" "scheduler is selected." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:139 -msgid "OpenMPTCProuter Network overview / Status" -msgstr "" - #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/multipath.js:700 msgid "Out" msgstr "Sortant" @@ -731,11 +731,15 @@ msgstr "Trafic sortant" msgid "Outbound – all interfaces" msgstr "Sortant - toutes les interfaces" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:254 +msgid "Pacing rate" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:150 msgid "Path Manager type" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:254 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:302 msgid "Path manager" msgstr "" @@ -744,50 +748,62 @@ msgstr "" msgid "Peak" msgstr "Pointe" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:203 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:193 msgid "Per-WAN MPTCP endpoint status" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:78 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:79 msgid "RM_ADDR signals dropped" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:77 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:78 msgid "RM_ADDR signals failed to send" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:75 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:76 msgid "RM_ADDR signals received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:76 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:77 msgid "RM_ADDR signals sent" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:252 +msgid "RTT / var (ms)" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:260 msgid "Re-create fullmesh subflows after a timeout" msgstr "Recréer les sous-flux fullmesh après le délai d'expiration" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:95 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:96 msgid "Receive window conflict resolved on update" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:94 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:95 msgid "Receive window shared across subflows" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:96 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:97 msgid "Receive window update conflicts" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:137 -msgid "Related pages" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:59 +msgid "Received segments pruned from the receive queue (memory pressure)" +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:249 +msgid "Remote" msgstr "" #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:223 msgid "Retranmission intervals" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:253 +msgid "Retrans / total" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_dscp_routing.js:144 msgid "" "Router → internet. Pins this class to a WAN for MPTCP’s bpf_dscp scheduler " @@ -795,7 +811,7 @@ msgid "" "DSCP mask via the control API." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:255 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:303 msgid "Scheduler" msgstr "" @@ -803,7 +819,7 @@ msgstr "" msgid "Segments received outside the MPTCP mapping window" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:93 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:94 msgid "Send window shared across subflows" msgstr "" @@ -825,11 +841,11 @@ msgstr "" msgid "Settings" msgstr "Paramètres" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:257 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:305 msgid "Stale loss count threshold" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:63 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:64 msgid "Stale subflows recovered" msgstr "" @@ -889,23 +905,23 @@ msgstr "" msgid "Subflow JOIN failed: could not create socket" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:261 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:309 msgid "Subflow limit" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:82 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:83 msgid "Subflow priority change received (MP_PRIO)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:81 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:82 msgid "Subflow priority change sent (MP_PRIO)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:62 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:63 msgid "Subflows marked stale (possible blackhole)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:64 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:65 msgid "Subflows removed" msgstr "" @@ -955,7 +971,7 @@ msgid "" "traffic class." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:249 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:297 msgid "Userspace" msgstr "" @@ -963,11 +979,12 @@ msgstr "" msgid "Userspace path manager" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:288 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:336 msgid "Value" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:210 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:200 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:247 msgid "WAN" msgstr "" @@ -1002,7 +1019,12 @@ msgid "" "effect until this is re-enabled and applied." msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:269 +msgid "active" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:293 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:269 msgid "backup" msgstr "remplaçant" @@ -1023,6 +1045,10 @@ msgid "" "bpf_rr => always picks the next available subflow to send data (round-robin)" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:251 +msgid "cwnd" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:66 #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:82 msgid "default" @@ -1082,7 +1108,7 @@ msgstr "maître" msgid "minutes window, 1 second interval" msgstr "minutes de fenêtre, intervalle d'une seconde" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:225 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:215 msgid "missing" msgstr "" @@ -1096,7 +1122,7 @@ msgstr "" msgid "ndiffports subflows number" msgstr "Nombre de sous-flux ndiffports" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:225 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:215 msgid "registered" msgstr "" diff --git a/luci-app-mptcp/po/it/mptcp.po b/luci-app-mptcp/po/it/mptcp.po index 52e27146..561347bb 100644 --- a/luci-app-mptcp/po/it/mptcp.po +++ b/luci-app-mptcp/po/it/mptcp.po @@ -17,7 +17,7 @@ msgstr "" msgid "(no output)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_dscp_routing.js:45 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_dscp_routing.js:54 msgid "-- not pinned --" msgstr "" @@ -41,43 +41,43 @@ msgid "" "attractive. Max 256." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:73 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:74 msgid "ADD_ADDR echo failed to send" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:71 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:72 msgid "ADD_ADDR echo received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:72 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:73 msgid "ADD_ADDR echo sent" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:74 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:75 msgid "ADD_ADDR received with a port number" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:70 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:71 msgid "ADD_ADDR signals dropped" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:69 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:70 msgid "ADD_ADDR signals failed to send" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:67 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:68 msgid "ADD_ADDR signals received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:68 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:69 msgid "ADD_ADDR signals sent" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:262 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:310 msgid "Accepted ADD_ADDR limit" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:259 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:307 msgid "Add-addr timeout (s)" msgstr "" @@ -103,11 +103,15 @@ msgstr "Media" msgid "BPF schedulers (not available on all platforms):" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:250 +msgid "Backup" +msgstr "" + #: luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json:47 msgid "Bandwidth" msgstr "Larghezza banda" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:61 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:62 msgid "Blackhole detected on the path" msgstr "" @@ -115,7 +119,7 @@ msgstr "" msgid "Blackhole timeout" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:258 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:306 msgid "Blackhole timeout (s)" msgstr "" @@ -155,7 +159,7 @@ msgstr "" msgid "Check if MPTCP between interface and server is working." msgstr "Controlla se MPTCP tra l'interfaccia e il server funziona." -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:256 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:304 msgid "Checksum" msgstr "" @@ -172,7 +176,7 @@ msgstr "" msgid "Close timeout" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:260 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:308 msgid "Close timeout (s)" msgstr "" @@ -193,11 +197,11 @@ msgstr "" msgid "Could not allocate an MPTCP token, fell back to TCP" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:104 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:105 msgid "Couldn't fall back to TCP (connection state didn't allow it)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:288 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:336 msgid "Counter" msgstr "" @@ -231,11 +235,11 @@ msgstr "" msgid "Data checksum errors" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:86 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:87 msgid "Data mapping failures received (MP_FAIL)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:85 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:86 msgid "Data mapping failures sent (MP_FAIL)" msgstr "" @@ -257,7 +261,11 @@ msgstr "L'impostazione predefinita è bbr" msgid "Default is fullmesh" msgstr "L'impostazione predefinita è bbr" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:211 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:255 +msgid "Delivery rate" +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:201 msgid "Device" msgstr "" @@ -265,7 +273,7 @@ msgstr "" msgid "Diagnostics" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:244 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:292 msgid "Disabled" msgstr "" @@ -285,11 +293,11 @@ msgstr "" msgid "Enable MPTCPd" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:243 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:291 msgid "Enabled" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:214 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:204 msgid "Endpoint flags" msgstr "" @@ -310,11 +318,11 @@ msgstr "" msgid "Error fetching monitor data." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:99 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:100 msgid "Established MPTCP connections (current)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:263 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:311 msgid "Established MPTCP connections (right now)" msgstr "" @@ -330,27 +338,27 @@ msgstr "" msgid "Fallback to TCP (SYN/ACK stripped)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:88 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:89 msgid "Fastclose received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:87 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:88 msgid "Fastclose sent" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:102 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:103 msgid "Fell back to TCP: bad or missing data sequence signal" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:101 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:102 msgid "Fell back to TCP: conflicting TCP MD5SIG option" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:100 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:101 msgid "Fell back to TCP: missing data on first established packet" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:103 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:104 msgid "Fell back to TCP: simultaneous connect" msgstr "" @@ -381,7 +389,7 @@ msgstr "" msgid "Grant UCI access for luci-app-mptcp" msgstr "Concedi l'accesso UCI per luci-app-mptcp" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:150 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:140 msgid "" "Helps explain why MPTCP might not be aggregating your WANs correctly: " "fallback to plain TCP, blackholed/stale subflows, resets, checksum errors, " @@ -400,7 +408,7 @@ msgstr "" msgid "In" msgstr "Entrata" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:248 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:296 msgid "In-kernel" msgstr "" @@ -461,7 +469,7 @@ msgstr "" msgid "JOIN request rejected by the path manager" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:265 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:313 msgid "Kernel MPTCP configuration" msgstr "" @@ -469,7 +477,7 @@ msgstr "" msgid "LE (1) - Lower effort" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:170 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:159 msgid "Last updated:" msgstr "" @@ -483,6 +491,14 @@ msgstr "" "riga verso il gateway -- lo stesso comportamento \"il download segue sempre " "l’upload\" che mqvpn ha già integrato nativamente." +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:225 +msgid "Live MPTCP subflows" +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:248 +msgid "Local" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/multipath.js:75 msgid "MB/s" msgstr "MB/s" @@ -493,35 +509,23 @@ msgstr "MB/s" msgid "MPTCP" msgstr "MPTCP" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:148 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:138 msgid "MPTCP Diagnostics" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:142 -msgid "MPTCP Established connections" -msgstr "" - #: luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json:69 msgid "MPTCP Fullmesh" msgstr "MPTCP Fullmesh" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:141 -msgid "MPTCP Fullmesh (subflow map)" -msgstr "" - -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:140 -msgid "MPTCP Settings" -msgstr "" - #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_check.js:46 msgid "MPTCP Support Check" msgstr "Verifica supporto MPTCP" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:253 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:301 msgid "MPTCP enabled" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:213 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:203 msgid "MPTCP endpoint" msgstr "" @@ -549,7 +553,7 @@ msgstr "" msgid "MPTCP handshake dropped client-side, fell back to TCP" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:277 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:325 msgid "MPTCP kernel counters (since boot)" msgstr "" @@ -557,19 +561,15 @@ msgstr "" msgid "MPTCP monitoring" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:143 -msgid "MPTCP monitoring (raw kernel counters)" -msgstr "" - #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:22 msgid "MPTCP rejected on a port-only endpoint" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:90 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:91 msgid "MPTCP resets received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:89 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:90 msgid "MPTCP resets sent" msgstr "" @@ -577,7 +577,7 @@ msgstr "" msgid "MPTCP-level retransmissions" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:105 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:106 msgid "MPTCP-level zero-window probes" msgstr "" @@ -614,7 +614,7 @@ msgstr "Mbit/s" msgid "Mirror DSCP/weight pins to gateway" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:212 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:202 msgid "Mode" msgstr "" @@ -656,7 +656,11 @@ msgstr "Netlink" msgid "Networks MPTCP settings." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:279 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:228 +msgid "No active MPTCP subflow found on any multipath-enabled WAN right now." +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:327 msgid "No counters available (nstat/multipath -m returned nothing)." msgstr "" @@ -664,7 +668,7 @@ msgstr "" msgid "No data" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:184 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:174 msgid "No diagnostic data available yet." msgstr "" @@ -672,7 +676,7 @@ msgstr "" msgid "No multipath WAN interface is currently available." msgstr "Nessuna interfaccia WAN multipath e attualmente disponibile." -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:205 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:195 msgid "No multipath-enabled WAN interfaces found." msgstr "" @@ -701,10 +705,6 @@ msgid "" "scheduler is selected." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:139 -msgid "OpenMPTCProuter Network overview / Status" -msgstr "" - #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/multipath.js:700 msgid "Out" msgstr "Uscita" @@ -729,11 +729,15 @@ msgstr "Traffico in uscita" msgid "Outbound – all interfaces" msgstr "Uscita - tutte le interfacce" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:254 +msgid "Pacing rate" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:150 msgid "Path Manager type" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:254 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:302 msgid "Path manager" msgstr "" @@ -742,50 +746,62 @@ msgstr "" msgid "Peak" msgstr "Picco" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:203 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:193 msgid "Per-WAN MPTCP endpoint status" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:78 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:79 msgid "RM_ADDR signals dropped" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:77 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:78 msgid "RM_ADDR signals failed to send" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:75 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:76 msgid "RM_ADDR signals received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:76 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:77 msgid "RM_ADDR signals sent" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:252 +msgid "RTT / var (ms)" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:260 msgid "Re-create fullmesh subflows after a timeout" msgstr "Ricrea i flussi secondari fullmesh dopo un timeout" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:95 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:96 msgid "Receive window conflict resolved on update" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:94 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:95 msgid "Receive window shared across subflows" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:96 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:97 msgid "Receive window update conflicts" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:137 -msgid "Related pages" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:59 +msgid "Received segments pruned from the receive queue (memory pressure)" +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:249 +msgid "Remote" msgstr "" #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:223 msgid "Retranmission intervals" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:253 +msgid "Retrans / total" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_dscp_routing.js:144 msgid "" "Router → internet. Pins this class to a WAN for MPTCP’s bpf_dscp scheduler " @@ -793,7 +809,7 @@ msgid "" "DSCP mask via the control API." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:255 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:303 msgid "Scheduler" msgstr "" @@ -801,7 +817,7 @@ msgstr "" msgid "Segments received outside the MPTCP mapping window" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:93 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:94 msgid "Send window shared across subflows" msgstr "" @@ -823,11 +839,11 @@ msgstr "" msgid "Settings" msgstr "Impostazioni" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:257 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:305 msgid "Stale loss count threshold" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:63 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:64 msgid "Stale subflows recovered" msgstr "" @@ -887,23 +903,23 @@ msgstr "" msgid "Subflow JOIN failed: could not create socket" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:261 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:309 msgid "Subflow limit" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:82 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:83 msgid "Subflow priority change received (MP_PRIO)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:81 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:82 msgid "Subflow priority change sent (MP_PRIO)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:62 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:63 msgid "Subflows marked stale (possible blackhole)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:64 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:65 msgid "Subflows removed" msgstr "" @@ -953,7 +969,7 @@ msgid "" "traffic class." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:249 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:297 msgid "Userspace" msgstr "" @@ -961,11 +977,12 @@ msgstr "" msgid "Userspace path manager" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:288 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:336 msgid "Value" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:210 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:200 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:247 msgid "WAN" msgstr "" @@ -1000,7 +1017,12 @@ msgid "" "effect until this is re-enabled and applied." msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:269 +msgid "active" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:293 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:269 msgid "backup" msgstr "backup" @@ -1021,6 +1043,10 @@ msgid "" "bpf_rr => always picks the next available subflow to send data (round-robin)" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:251 +msgid "cwnd" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:66 #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:82 msgid "default" @@ -1080,7 +1106,7 @@ msgstr "Principale" msgid "minutes window, 1 second interval" msgstr "finestra in minuti, intervallo di 1 secondo" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:225 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:215 msgid "missing" msgstr "" @@ -1094,7 +1120,7 @@ msgstr "" msgid "ndiffports subflows number" msgstr "ndiffports subflows number" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:225 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:215 msgid "registered" msgstr "" diff --git a/luci-app-mptcp/po/oc/mptcp.po b/luci-app-mptcp/po/oc/mptcp.po index 46d5ade1..ded1e0e4 100644 --- a/luci-app-mptcp/po/oc/mptcp.po +++ b/luci-app-mptcp/po/oc/mptcp.po @@ -15,7 +15,7 @@ msgstr "" msgid "(no output)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_dscp_routing.js:45 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_dscp_routing.js:54 msgid "-- not pinned --" msgstr "" @@ -39,43 +39,43 @@ msgid "" "attractive. Max 256." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:73 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:74 msgid "ADD_ADDR echo failed to send" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:71 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:72 msgid "ADD_ADDR echo received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:72 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:73 msgid "ADD_ADDR echo sent" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:74 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:75 msgid "ADD_ADDR received with a port number" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:70 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:71 msgid "ADD_ADDR signals dropped" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:69 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:70 msgid "ADD_ADDR signals failed to send" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:67 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:68 msgid "ADD_ADDR signals received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:68 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:69 msgid "ADD_ADDR signals sent" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:262 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:310 msgid "Accepted ADD_ADDR limit" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:259 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:307 msgid "Add-addr timeout (s)" msgstr "" @@ -100,11 +100,15 @@ msgstr "" msgid "BPF schedulers (not available on all platforms):" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:250 +msgid "Backup" +msgstr "" + #: luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json:47 msgid "Bandwidth" msgstr "Benda passanta" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:61 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:62 msgid "Blackhole detected on the path" msgstr "" @@ -112,7 +116,7 @@ msgstr "" msgid "Blackhole timeout" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:258 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:306 msgid "Blackhole timeout (s)" msgstr "" @@ -152,7 +156,7 @@ msgstr "" msgid "Check if MPTCP between interface and server is working." msgstr "Verificar se MPTCP entre l‘interfàcia e lo servidor fonciona." -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:256 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:304 msgid "Checksum" msgstr "" @@ -169,7 +173,7 @@ msgstr "" msgid "Close timeout" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:260 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:308 msgid "Close timeout (s)" msgstr "" @@ -190,11 +194,11 @@ msgstr "" msgid "Could not allocate an MPTCP token, fell back to TCP" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:104 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:105 msgid "Couldn't fall back to TCP (connection state didn't allow it)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:288 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:336 msgid "Counter" msgstr "" @@ -228,11 +232,11 @@ msgstr "" msgid "Data checksum errors" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:86 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:87 msgid "Data mapping failures received (MP_FAIL)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:85 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:86 msgid "Data mapping failures sent (MP_FAIL)" msgstr "" @@ -254,7 +258,11 @@ msgstr "Per defaut bbr" msgid "Default is fullmesh" msgstr "Per defaut bbr" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:211 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:255 +msgid "Delivery rate" +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:201 msgid "Device" msgstr "" @@ -262,7 +270,7 @@ msgstr "" msgid "Diagnostics" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:244 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:292 msgid "Disabled" msgstr "" @@ -282,11 +290,11 @@ msgstr "" msgid "Enable MPTCPd" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:243 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:291 msgid "Enabled" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:214 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:204 msgid "Endpoint flags" msgstr "" @@ -307,11 +315,11 @@ msgstr "" msgid "Error fetching monitor data." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:99 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:100 msgid "Established MPTCP connections (current)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:263 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:311 msgid "Established MPTCP connections (right now)" msgstr "" @@ -327,27 +335,27 @@ msgstr "" msgid "Fallback to TCP (SYN/ACK stripped)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:88 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:89 msgid "Fastclose received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:87 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:88 msgid "Fastclose sent" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:102 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:103 msgid "Fell back to TCP: bad or missing data sequence signal" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:101 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:102 msgid "Fell back to TCP: conflicting TCP MD5SIG option" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:100 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:101 msgid "Fell back to TCP: missing data on first established packet" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:103 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:104 msgid "Fell back to TCP: simultaneous connect" msgstr "" @@ -378,7 +386,7 @@ msgstr "" msgid "Grant UCI access for luci-app-mptcp" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:150 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:140 msgid "" "Helps explain why MPTCP might not be aggregating your WANs correctly: " "fallback to plain TCP, blackholed/stale subflows, resets, checksum errors, " @@ -397,7 +405,7 @@ msgstr "" msgid "In" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:248 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:296 msgid "In-kernel" msgstr "" @@ -458,7 +466,7 @@ msgstr "" msgid "JOIN request rejected by the path manager" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:265 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:313 msgid "Kernel MPTCP configuration" msgstr "" @@ -466,7 +474,7 @@ msgstr "" msgid "LE (1) - Lower effort" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:170 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:159 msgid "Last updated:" msgstr "" @@ -480,6 +488,14 @@ msgstr "" "cap a la passarèla -- lo meteis compòrtament \"lo telecargament seguís " "totjorn l’mandadís\" que mqvpn a ja integrat nativament." +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:225 +msgid "Live MPTCP subflows" +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:248 +msgid "Local" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/multipath.js:75 msgid "MB/s" msgstr "Mo/s" @@ -490,35 +506,23 @@ msgstr "Mo/s" msgid "MPTCP" msgstr "MPTCP" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:148 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:138 msgid "MPTCP Diagnostics" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:142 -msgid "MPTCP Established connections" -msgstr "" - #: luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json:69 msgid "MPTCP Fullmesh" msgstr "MPTCP Fullmesh" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:141 -msgid "MPTCP Fullmesh (subflow map)" -msgstr "" - -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:140 -msgid "MPTCP Settings" -msgstr "" - #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_check.js:46 msgid "MPTCP Support Check" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:253 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:301 msgid "MPTCP enabled" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:213 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:203 msgid "MPTCP endpoint" msgstr "" @@ -546,7 +550,7 @@ msgstr "" msgid "MPTCP handshake dropped client-side, fell back to TCP" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:277 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:325 msgid "MPTCP kernel counters (since boot)" msgstr "" @@ -554,19 +558,15 @@ msgstr "" msgid "MPTCP monitoring" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:143 -msgid "MPTCP monitoring (raw kernel counters)" -msgstr "" - #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:22 msgid "MPTCP rejected on a port-only endpoint" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:90 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:91 msgid "MPTCP resets received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:89 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:90 msgid "MPTCP resets sent" msgstr "" @@ -574,7 +574,7 @@ msgstr "" msgid "MPTCP-level retransmissions" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:105 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:106 msgid "MPTCP-level zero-window probes" msgstr "" @@ -611,7 +611,7 @@ msgstr "Mbit/s" msgid "Mirror DSCP/weight pins to gateway" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:212 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:202 msgid "Mode" msgstr "" @@ -653,7 +653,11 @@ msgstr "Ligam ret" msgid "Networks MPTCP settings." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:279 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:228 +msgid "No active MPTCP subflow found on any multipath-enabled WAN right now." +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:327 msgid "No counters available (nstat/multipath -m returned nothing)." msgstr "" @@ -661,7 +665,7 @@ msgstr "" msgid "No data" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:184 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:174 msgid "No diagnostic data available yet." msgstr "" @@ -669,7 +673,7 @@ msgstr "" msgid "No multipath WAN interface is currently available." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:205 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:195 msgid "No multipath-enabled WAN interfaces found." msgstr "" @@ -689,9 +693,9 @@ msgid "" "Only WANs with Multipath TCP enabled (the “Multipath TCP” option on the " "MPTCP page’s Interfaces Settings) are listed below." msgstr "" -"Solament los WAN amb Multipath TCP activat (l’opcion « Multipath TCP » de " -"la seccion Configuracion de las interfàcias de la pagina MPTCP) son listats " -"çai-jós." +"Solament los WAN amb Multipath TCP activat (l’opcion « Multipath TCP » de la " +"seccion Configuracion de las interfàcias de la pagina MPTCP) son listats çai-" +"jós." #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:304 msgid "" @@ -699,10 +703,6 @@ msgid "" "scheduler is selected." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:139 -msgid "OpenMPTCProuter Network overview / Status" -msgstr "" - #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/multipath.js:700 msgid "Out" msgstr "" @@ -727,11 +727,15 @@ msgstr "" msgid "Outbound – all interfaces" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:254 +msgid "Pacing rate" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:150 msgid "Path Manager type" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:254 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:302 msgid "Path manager" msgstr "" @@ -740,50 +744,62 @@ msgstr "" msgid "Peak" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:203 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:193 msgid "Per-WAN MPTCP endpoint status" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:78 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:79 msgid "RM_ADDR signals dropped" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:77 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:78 msgid "RM_ADDR signals failed to send" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:75 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:76 msgid "RM_ADDR signals received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:76 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:77 msgid "RM_ADDR signals sent" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:252 +msgid "RTT / var (ms)" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:260 msgid "Re-create fullmesh subflows after a timeout" msgstr "Tornar crear los jos-flus fullmesh aprèp lo relambi d’expiracion" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:95 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:96 msgid "Receive window conflict resolved on update" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:94 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:95 msgid "Receive window shared across subflows" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:96 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:97 msgid "Receive window update conflicts" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:137 -msgid "Related pages" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:59 +msgid "Received segments pruned from the receive queue (memory pressure)" +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:249 +msgid "Remote" msgstr "" #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:223 msgid "Retranmission intervals" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:253 +msgid "Retrans / total" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_dscp_routing.js:144 msgid "" "Router → internet. Pins this class to a WAN for MPTCP’s bpf_dscp scheduler " @@ -791,7 +807,7 @@ msgid "" "DSCP mask via the control API." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:255 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:303 msgid "Scheduler" msgstr "" @@ -799,7 +815,7 @@ msgstr "" msgid "Segments received outside the MPTCP mapping window" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:93 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:94 msgid "Send window shared across subflows" msgstr "" @@ -821,11 +837,11 @@ msgstr "" msgid "Settings" msgstr "Paramètres" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:257 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:305 msgid "Stale loss count threshold" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:63 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:64 msgid "Stale subflows recovered" msgstr "" @@ -885,23 +901,23 @@ msgstr "" msgid "Subflow JOIN failed: could not create socket" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:261 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:309 msgid "Subflow limit" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:82 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:83 msgid "Subflow priority change received (MP_PRIO)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:81 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:82 msgid "Subflow priority change sent (MP_PRIO)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:62 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:63 msgid "Subflows marked stale (possible blackhole)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:64 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:65 msgid "Subflows removed" msgstr "" @@ -951,7 +967,7 @@ msgid "" "traffic class." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:249 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:297 msgid "Userspace" msgstr "" @@ -959,11 +975,12 @@ msgstr "" msgid "Userspace path manager" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:288 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:336 msgid "Value" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:210 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:200 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:247 msgid "WAN" msgstr "" @@ -998,7 +1015,12 @@ msgid "" "effect until this is re-enabled and applied." msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:269 +msgid "active" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:293 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:269 msgid "backup" msgstr "subordinat" @@ -1019,6 +1041,10 @@ msgid "" "bpf_rr => always picks the next available subflow to send data (round-robin)" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:251 +msgid "cwnd" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:66 #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:82 msgid "default" @@ -1078,7 +1104,7 @@ msgstr "màger" msgid "minutes window, 1 second interval" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:225 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:215 msgid "missing" msgstr "" @@ -1092,7 +1118,7 @@ msgstr "" msgid "ndiffports subflows number" msgstr "Nombre de jos-flux ndiffports" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:225 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:215 msgid "registered" msgstr "" diff --git a/luci-app-mptcp/po/ru/mptcp.po b/luci-app-mptcp/po/ru/mptcp.po index 3a56f286..df32f7df 100644 --- a/luci-app-mptcp/po/ru/mptcp.po +++ b/luci-app-mptcp/po/ru/mptcp.po @@ -16,7 +16,7 @@ msgstr "" msgid "(no output)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_dscp_routing.js:45 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_dscp_routing.js:54 msgid "-- not pinned --" msgstr "" @@ -40,43 +40,43 @@ msgid "" "attractive. Max 256." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:73 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:74 msgid "ADD_ADDR echo failed to send" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:71 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:72 msgid "ADD_ADDR echo received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:72 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:73 msgid "ADD_ADDR echo sent" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:74 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:75 msgid "ADD_ADDR received with a port number" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:70 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:71 msgid "ADD_ADDR signals dropped" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:69 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:70 msgid "ADD_ADDR signals failed to send" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:67 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:68 msgid "ADD_ADDR signals received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:68 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:69 msgid "ADD_ADDR signals sent" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:262 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:310 msgid "Accepted ADD_ADDR limit" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:259 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:307 msgid "Add-addr timeout (s)" msgstr "" @@ -101,11 +101,15 @@ msgstr "" msgid "BPF schedulers (not available on all platforms):" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:250 +msgid "Backup" +msgstr "" + #: luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json:47 msgid "Bandwidth" msgstr "Пропускная способность" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:61 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:62 msgid "Blackhole detected on the path" msgstr "" @@ -113,7 +117,7 @@ msgstr "" msgid "Blackhole timeout" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:258 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:306 msgid "Blackhole timeout (s)" msgstr "" @@ -153,7 +157,7 @@ msgstr "" msgid "Check if MPTCP between interface and server is working." msgstr "Проверьте, работает ли MPTCP между интерфейсом и сервером." -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:256 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:304 msgid "Checksum" msgstr "" @@ -170,7 +174,7 @@ msgstr "" msgid "Close timeout" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:260 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:308 msgid "Close timeout (s)" msgstr "" @@ -191,11 +195,11 @@ msgstr "" msgid "Could not allocate an MPTCP token, fell back to TCP" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:104 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:105 msgid "Couldn't fall back to TCP (connection state didn't allow it)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:288 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:336 msgid "Counter" msgstr "" @@ -229,11 +233,11 @@ msgstr "" msgid "Data checksum errors" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:86 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:87 msgid "Data mapping failures received (MP_FAIL)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:85 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:86 msgid "Data mapping failures sent (MP_FAIL)" msgstr "" @@ -253,7 +257,11 @@ msgstr "По умолчанию кубический" msgid "Default is fullmesh" msgstr "По умолчанию - fullmesh" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:211 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:255 +msgid "Delivery rate" +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:201 msgid "Device" msgstr "" @@ -261,7 +269,7 @@ msgstr "" msgid "Diagnostics" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:244 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:292 msgid "Disabled" msgstr "" @@ -281,11 +289,11 @@ msgstr "" msgid "Enable MPTCPd" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:243 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:291 msgid "Enabled" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:214 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:204 msgid "Endpoint flags" msgstr "" @@ -306,11 +314,11 @@ msgstr "" msgid "Error fetching monitor data." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:99 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:100 msgid "Established MPTCP connections (current)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:263 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:311 msgid "Established MPTCP connections (right now)" msgstr "" @@ -326,27 +334,27 @@ msgstr "" msgid "Fallback to TCP (SYN/ACK stripped)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:88 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:89 msgid "Fastclose received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:87 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:88 msgid "Fastclose sent" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:102 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:103 msgid "Fell back to TCP: bad or missing data sequence signal" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:101 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:102 msgid "Fell back to TCP: conflicting TCP MD5SIG option" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:100 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:101 msgid "Fell back to TCP: missing data on first established packet" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:103 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:104 msgid "Fell back to TCP: simultaneous connect" msgstr "" @@ -377,7 +385,7 @@ msgstr "" msgid "Grant UCI access for luci-app-mptcp" msgstr "Предоставить доступ UCI для luci-app-mptcp" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:150 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:140 msgid "" "Helps explain why MPTCP might not be aggregating your WANs correctly: " "fallback to plain TCP, blackholed/stale subflows, resets, checksum errors, " @@ -398,7 +406,7 @@ msgstr "" msgid "In" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:248 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:296 msgid "In-kernel" msgstr "" @@ -459,7 +467,7 @@ msgstr "" msgid "JOIN request rejected by the path manager" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:265 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:313 msgid "Kernel MPTCP configuration" msgstr "" @@ -467,7 +475,7 @@ msgstr "" msgid "LE (1) - Lower effort" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:170 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:159 msgid "Last updated:" msgstr "" @@ -477,9 +485,17 @@ msgid "" "instead -- the same \"download always follows upload\" behavior mqvpn " "already has built in natively." msgstr "" -"Оставьте пустым, чтобы просто отразить интерфейс Upload этой строки на " -"шлюз -- то же поведение \"скачивание всегда следует за отправкой\", которое " -"уже встроено в mqvpn." +"Оставьте пустым, чтобы просто отразить интерфейс Upload этой строки на шлюз " +"-- то же поведение \"скачивание всегда следует за отправкой\", которое уже " +"встроено в mqvpn." + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:225 +msgid "Live MPTCP subflows" +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:248 +msgid "Local" +msgstr "" #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/multipath.js:75 msgid "MB/s" @@ -491,35 +507,23 @@ msgstr "MB/s" msgid "MPTCP" msgstr "MPTCP" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:148 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:138 msgid "MPTCP Diagnostics" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:142 -msgid "MPTCP Established connections" -msgstr "" - #: luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json:69 msgid "MPTCP Fullmesh" msgstr "MPTCP Fullmesh" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:141 -msgid "MPTCP Fullmesh (subflow map)" -msgstr "" - -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:140 -msgid "MPTCP Settings" -msgstr "" - #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_check.js:46 msgid "MPTCP Support Check" msgstr "Проверка поддержки MPTCP" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:253 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:301 msgid "MPTCP enabled" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:213 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:203 msgid "MPTCP endpoint" msgstr "" @@ -547,7 +551,7 @@ msgstr "" msgid "MPTCP handshake dropped client-side, fell back to TCP" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:277 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:325 msgid "MPTCP kernel counters (since boot)" msgstr "" @@ -555,19 +559,15 @@ msgstr "" msgid "MPTCP monitoring" msgstr "Мониторинг MPTCP" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:143 -msgid "MPTCP monitoring (raw kernel counters)" -msgstr "" - #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:22 msgid "MPTCP rejected on a port-only endpoint" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:90 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:91 msgid "MPTCP resets received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:89 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:90 msgid "MPTCP resets sent" msgstr "" @@ -575,7 +575,7 @@ msgstr "" msgid "MPTCP-level retransmissions" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:105 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:106 msgid "MPTCP-level zero-window probes" msgstr "" @@ -612,7 +612,7 @@ msgstr "Mbit/s" msgid "Mirror DSCP/weight pins to gateway" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:212 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:202 msgid "Mode" msgstr "" @@ -654,7 +654,11 @@ msgstr "Netlink" msgid "Networks MPTCP settings." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:279 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:228 +msgid "No active MPTCP subflow found on any multipath-enabled WAN right now." +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:327 msgid "No counters available (nstat/multipath -m returned nothing)." msgstr "" @@ -662,7 +666,7 @@ msgstr "" msgid "No data" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:184 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:174 msgid "No diagnostic data available yet." msgstr "" @@ -670,7 +674,7 @@ msgstr "" msgid "No multipath WAN interface is currently available." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:205 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:195 msgid "No multipath-enabled WAN interfaces found." msgstr "" @@ -699,10 +703,6 @@ msgid "" "scheduler is selected." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:139 -msgid "OpenMPTCProuter Network overview / Status" -msgstr "" - #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/multipath.js:700 msgid "Out" msgstr "" @@ -727,11 +727,15 @@ msgstr "" msgid "Outbound – all interfaces" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:254 +msgid "Pacing rate" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:150 msgid "Path Manager type" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:254 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:302 msgid "Path manager" msgstr "" @@ -740,50 +744,62 @@ msgstr "" msgid "Peak" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:203 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:193 msgid "Per-WAN MPTCP endpoint status" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:78 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:79 msgid "RM_ADDR signals dropped" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:77 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:78 msgid "RM_ADDR signals failed to send" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:75 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:76 msgid "RM_ADDR signals received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:76 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:77 msgid "RM_ADDR signals sent" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:252 +msgid "RTT / var (ms)" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:260 msgid "Re-create fullmesh subflows after a timeout" msgstr "Повторно создать подпотоки fullmesh после тайм-аута" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:95 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:96 msgid "Receive window conflict resolved on update" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:94 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:95 msgid "Receive window shared across subflows" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:96 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:97 msgid "Receive window update conflicts" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:137 -msgid "Related pages" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:59 +msgid "Received segments pruned from the receive queue (memory pressure)" +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:249 +msgid "Remote" msgstr "" #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:223 msgid "Retranmission intervals" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:253 +msgid "Retrans / total" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_dscp_routing.js:144 msgid "" "Router → internet. Pins this class to a WAN for MPTCP’s bpf_dscp scheduler " @@ -791,7 +807,7 @@ msgid "" "DSCP mask via the control API." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:255 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:303 msgid "Scheduler" msgstr "" @@ -799,7 +815,7 @@ msgstr "" msgid "Segments received outside the MPTCP mapping window" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:93 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:94 msgid "Send window shared across subflows" msgstr "" @@ -821,11 +837,11 @@ msgstr "" msgid "Settings" msgstr "Настройки" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:257 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:305 msgid "Stale loss count threshold" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:63 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:64 msgid "Stale subflows recovered" msgstr "" @@ -885,23 +901,23 @@ msgstr "" msgid "Subflow JOIN failed: could not create socket" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:261 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:309 msgid "Subflow limit" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:82 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:83 msgid "Subflow priority change received (MP_PRIO)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:81 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:82 msgid "Subflow priority change sent (MP_PRIO)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:62 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:63 msgid "Subflows marked stale (possible blackhole)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:64 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:65 msgid "Subflows removed" msgstr "" @@ -951,7 +967,7 @@ msgid "" "traffic class." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:249 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:297 msgid "Userspace" msgstr "" @@ -959,11 +975,12 @@ msgstr "" msgid "Userspace path manager" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:288 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:336 msgid "Value" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:210 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:200 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:247 msgid "WAN" msgstr "" @@ -998,7 +1015,12 @@ msgid "" "effect until this is re-enabled and applied." msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:269 +msgid "active" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:293 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:269 msgid "backup" msgstr "Резервирование" @@ -1019,6 +1041,10 @@ msgid "" "bpf_rr => always picks the next available subflow to send data (round-robin)" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:251 +msgid "cwnd" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:66 #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:82 msgid "default" @@ -1078,7 +1104,7 @@ msgstr "мастер" msgid "minutes window, 1 second interval" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:225 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:215 msgid "missing" msgstr "" @@ -1092,7 +1118,7 @@ msgstr "" msgid "ndiffports subflows number" msgstr "количество подпотоков ndiffports" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:225 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:215 msgid "registered" msgstr "" diff --git a/luci-app-mptcp/po/templates/mptcp.pot b/luci-app-mptcp/po/templates/mptcp.pot index 3107b03d..51cecb84 100644 --- a/luci-app-mptcp/po/templates/mptcp.pot +++ b/luci-app-mptcp/po/templates/mptcp.pot @@ -1,8 +1,8 @@ msgid "" msgstr "" "Project-Id-Version: luci-app-mptcp\n" -"POT-Creation-Date: 2026-08-16 00:00+0000\n" -"PO-Revision-Date: 2026-08-16 00:00+0000\n" +"POT-Creation-Date: 2026-08-24 00:00+0000\n" +"PO-Revision-Date: 2026-08-24 00:00+0000\n" "Last-Translator: \n" "Language-Team: \n" "Language: en\n" @@ -15,7 +15,7 @@ msgstr "" msgid "(no output)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_dscp_routing.js:45 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_dscp_routing.js:54 msgid "-- not pinned --" msgstr "" @@ -39,43 +39,43 @@ msgid "" "attractive. Max 256." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:73 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:74 msgid "ADD_ADDR echo failed to send" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:71 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:72 msgid "ADD_ADDR echo received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:72 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:73 msgid "ADD_ADDR echo sent" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:74 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:75 msgid "ADD_ADDR received with a port number" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:70 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:71 msgid "ADD_ADDR signals dropped" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:69 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:70 msgid "ADD_ADDR signals failed to send" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:67 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:68 msgid "ADD_ADDR signals received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:68 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:69 msgid "ADD_ADDR signals sent" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:262 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:310 msgid "Accepted ADD_ADDR limit" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:259 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:307 msgid "Add-addr timeout (s)" msgstr "" @@ -100,11 +100,15 @@ msgstr "" msgid "BPF schedulers (not available on all platforms):" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:250 +msgid "Backup" +msgstr "" + #: luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json:47 msgid "Bandwidth" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:61 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:62 msgid "Blackhole detected on the path" msgstr "" @@ -112,7 +116,7 @@ msgstr "" msgid "Blackhole timeout" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:258 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:306 msgid "Blackhole timeout (s)" msgstr "" @@ -152,7 +156,7 @@ msgstr "" msgid "Check if MPTCP between interface and server is working." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:256 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:304 msgid "Checksum" msgstr "" @@ -169,7 +173,7 @@ msgstr "" msgid "Close timeout" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:260 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:308 msgid "Close timeout (s)" msgstr "" @@ -190,11 +194,11 @@ msgstr "" msgid "Could not allocate an MPTCP token, fell back to TCP" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:104 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:105 msgid "Couldn't fall back to TCP (connection state didn't allow it)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:288 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:336 msgid "Counter" msgstr "" @@ -228,11 +232,11 @@ msgstr "" msgid "Data checksum errors" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:86 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:87 msgid "Data mapping failures received (MP_FAIL)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:85 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:86 msgid "Data mapping failures sent (MP_FAIL)" msgstr "" @@ -252,7 +256,11 @@ msgstr "" msgid "Default is fullmesh" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:211 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:255 +msgid "Delivery rate" +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:201 msgid "Device" msgstr "" @@ -260,7 +268,7 @@ msgstr "" msgid "Diagnostics" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:244 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:292 msgid "Disabled" msgstr "" @@ -280,11 +288,11 @@ msgstr "" msgid "Enable MPTCPd" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:243 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:291 msgid "Enabled" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:214 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:204 msgid "Endpoint flags" msgstr "" @@ -305,11 +313,11 @@ msgstr "" msgid "Error fetching monitor data." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:99 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:100 msgid "Established MPTCP connections (current)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:263 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:311 msgid "Established MPTCP connections (right now)" msgstr "" @@ -325,27 +333,27 @@ msgstr "" msgid "Fallback to TCP (SYN/ACK stripped)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:88 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:89 msgid "Fastclose received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:87 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:88 msgid "Fastclose sent" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:102 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:103 msgid "Fell back to TCP: bad or missing data sequence signal" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:101 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:102 msgid "Fell back to TCP: conflicting TCP MD5SIG option" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:100 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:101 msgid "Fell back to TCP: missing data on first established packet" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:103 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:104 msgid "Fell back to TCP: simultaneous connect" msgstr "" @@ -376,7 +384,7 @@ msgstr "" msgid "Grant UCI access for luci-app-mptcp" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:150 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:140 msgid "" "Helps explain why MPTCP might not be aggregating your WANs correctly: " "fallback to plain TCP, blackholed/stale subflows, resets, checksum errors, " @@ -395,7 +403,7 @@ msgstr "" msgid "In" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:248 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:296 msgid "In-kernel" msgstr "" @@ -456,7 +464,7 @@ msgstr "" msgid "JOIN request rejected by the path manager" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:265 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:313 msgid "Kernel MPTCP configuration" msgstr "" @@ -464,7 +472,7 @@ msgstr "" msgid "LE (1) - Lower effort" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:170 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:159 msgid "Last updated:" msgstr "" @@ -475,6 +483,14 @@ msgid "" "already has built in natively." msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:225 +msgid "Live MPTCP subflows" +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:248 +msgid "Local" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/multipath.js:75 msgid "MB/s" msgstr "" @@ -485,35 +501,23 @@ msgstr "" msgid "MPTCP" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:148 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:138 msgid "MPTCP Diagnostics" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:142 -msgid "MPTCP Established connections" -msgstr "" - #: luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json:69 msgid "MPTCP Fullmesh" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:141 -msgid "MPTCP Fullmesh (subflow map)" -msgstr "" - -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:140 -msgid "MPTCP Settings" -msgstr "" - #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_check.js:46 msgid "MPTCP Support Check" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:253 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:301 msgid "MPTCP enabled" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:213 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:203 msgid "MPTCP endpoint" msgstr "" @@ -541,7 +545,7 @@ msgstr "" msgid "MPTCP handshake dropped client-side, fell back to TCP" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:277 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:325 msgid "MPTCP kernel counters (since boot)" msgstr "" @@ -549,19 +553,15 @@ msgstr "" msgid "MPTCP monitoring" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:143 -msgid "MPTCP monitoring (raw kernel counters)" -msgstr "" - #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:22 msgid "MPTCP rejected on a port-only endpoint" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:90 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:91 msgid "MPTCP resets received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:89 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:90 msgid "MPTCP resets sent" msgstr "" @@ -569,7 +569,7 @@ msgstr "" msgid "MPTCP-level retransmissions" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:105 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:106 msgid "MPTCP-level zero-window probes" msgstr "" @@ -606,7 +606,7 @@ msgstr "" msgid "Mirror DSCP/weight pins to gateway" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:212 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:202 msgid "Mode" msgstr "" @@ -647,7 +647,11 @@ msgstr "" msgid "Networks MPTCP settings." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:279 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:228 +msgid "No active MPTCP subflow found on any multipath-enabled WAN right now." +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:327 msgid "No counters available (nstat/multipath -m returned nothing)." msgstr "" @@ -655,7 +659,7 @@ msgstr "" msgid "No data" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:184 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:174 msgid "No diagnostic data available yet." msgstr "" @@ -663,7 +667,7 @@ msgstr "" msgid "No multipath WAN interface is currently available." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:205 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:195 msgid "No multipath-enabled WAN interfaces found." msgstr "" @@ -690,10 +694,6 @@ msgid "" "scheduler is selected." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:139 -msgid "OpenMPTCProuter Network overview / Status" -msgstr "" - #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/multipath.js:700 msgid "Out" msgstr "" @@ -718,11 +718,15 @@ msgstr "" msgid "Outbound – all interfaces" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:254 +msgid "Pacing rate" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:150 msgid "Path Manager type" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:254 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:302 msgid "Path manager" msgstr "" @@ -731,50 +735,62 @@ msgstr "" msgid "Peak" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:203 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:193 msgid "Per-WAN MPTCP endpoint status" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:78 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:79 msgid "RM_ADDR signals dropped" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:77 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:78 msgid "RM_ADDR signals failed to send" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:75 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:76 msgid "RM_ADDR signals received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:76 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:77 msgid "RM_ADDR signals sent" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:252 +msgid "RTT / var (ms)" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:260 msgid "Re-create fullmesh subflows after a timeout" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:95 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:96 msgid "Receive window conflict resolved on update" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:94 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:95 msgid "Receive window shared across subflows" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:96 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:97 msgid "Receive window update conflicts" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:137 -msgid "Related pages" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:59 +msgid "Received segments pruned from the receive queue (memory pressure)" +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:249 +msgid "Remote" msgstr "" #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:223 msgid "Retranmission intervals" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:253 +msgid "Retrans / total" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_dscp_routing.js:144 msgid "" "Router → internet. Pins this class to a WAN for MPTCP’s bpf_dscp scheduler " @@ -782,7 +798,7 @@ msgid "" "DSCP mask via the control API." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:255 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:303 msgid "Scheduler" msgstr "" @@ -790,7 +806,7 @@ msgstr "" msgid "Segments received outside the MPTCP mapping window" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:93 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:94 msgid "Send window shared across subflows" msgstr "" @@ -812,11 +828,11 @@ msgstr "" msgid "Settings" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:257 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:305 msgid "Stale loss count threshold" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:63 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:64 msgid "Stale subflows recovered" msgstr "" @@ -876,23 +892,23 @@ msgstr "" msgid "Subflow JOIN failed: could not create socket" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:261 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:309 msgid "Subflow limit" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:82 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:83 msgid "Subflow priority change received (MP_PRIO)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:81 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:82 msgid "Subflow priority change sent (MP_PRIO)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:62 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:63 msgid "Subflows marked stale (possible blackhole)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:64 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:65 msgid "Subflows removed" msgstr "" @@ -942,7 +958,7 @@ msgid "" "traffic class." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:249 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:297 msgid "Userspace" msgstr "" @@ -950,11 +966,12 @@ msgstr "" msgid "Userspace path manager" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:288 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:336 msgid "Value" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:210 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:200 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:247 msgid "WAN" msgstr "" @@ -989,7 +1006,12 @@ msgid "" "effect until this is re-enabled and applied." msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:269 +msgid "active" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:293 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:269 msgid "backup" msgstr "" @@ -1010,6 +1032,10 @@ msgid "" "bpf_rr => always picks the next available subflow to send data (round-robin)" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:251 +msgid "cwnd" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:66 #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:82 msgid "default" @@ -1069,7 +1095,7 @@ msgstr "" msgid "minutes window, 1 second interval" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:225 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:215 msgid "missing" msgstr "" @@ -1083,7 +1109,7 @@ msgstr "" msgid "ndiffports subflows number" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:225 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:215 msgid "registered" msgstr "" diff --git a/luci-app-mptcp/po/zh_Hans/mptcp.po b/luci-app-mptcp/po/zh_Hans/mptcp.po index 4409fb98..197c2df9 100644 --- a/luci-app-mptcp/po/zh_Hans/mptcp.po +++ b/luci-app-mptcp/po/zh_Hans/mptcp.po @@ -15,7 +15,7 @@ msgstr "" msgid "(no output)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_dscp_routing.js:45 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_dscp_routing.js:54 msgid "-- not pinned --" msgstr "" @@ -39,43 +39,43 @@ msgid "" "attractive. Max 256." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:73 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:74 msgid "ADD_ADDR echo failed to send" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:71 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:72 msgid "ADD_ADDR echo received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:72 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:73 msgid "ADD_ADDR echo sent" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:74 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:75 msgid "ADD_ADDR received with a port number" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:70 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:71 msgid "ADD_ADDR signals dropped" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:69 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:70 msgid "ADD_ADDR signals failed to send" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:67 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:68 msgid "ADD_ADDR signals received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:68 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:69 msgid "ADD_ADDR signals sent" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:262 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:310 msgid "Accepted ADD_ADDR limit" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:259 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:307 msgid "Add-addr timeout (s)" msgstr "" @@ -100,11 +100,15 @@ msgstr "平均" msgid "BPF schedulers (not available on all platforms):" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:250 +msgid "Backup" +msgstr "" + #: luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json:47 msgid "Bandwidth" msgstr "带宽" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:61 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:62 msgid "Blackhole detected on the path" msgstr "" @@ -112,7 +116,7 @@ msgstr "" msgid "Blackhole timeout" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:258 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:306 msgid "Blackhole timeout (s)" msgstr "" @@ -152,7 +156,7 @@ msgstr "" msgid "Check if MPTCP between interface and server is working." msgstr "检查接口和服务器之间的MPTCP是否正常工作." -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:256 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:304 msgid "Checksum" msgstr "" @@ -169,7 +173,7 @@ msgstr "" msgid "Close timeout" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:260 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:308 msgid "Close timeout (s)" msgstr "" @@ -190,11 +194,11 @@ msgstr "" msgid "Could not allocate an MPTCP token, fell back to TCP" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:104 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:105 msgid "Couldn't fall back to TCP (connection state didn't allow it)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:288 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:336 msgid "Counter" msgstr "" @@ -228,11 +232,11 @@ msgstr "" msgid "Data checksum errors" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:86 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:87 msgid "Data mapping failures received (MP_FAIL)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:85 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:86 msgid "Data mapping failures sent (MP_FAIL)" msgstr "" @@ -252,7 +256,11 @@ msgstr "默认设置 cubic" msgid "Default is fullmesh" msgstr "默认设置fullmesh" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:211 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:255 +msgid "Delivery rate" +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:201 msgid "Device" msgstr "" @@ -260,7 +268,7 @@ msgstr "" msgid "Diagnostics" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:244 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:292 msgid "Disabled" msgstr "" @@ -280,11 +288,11 @@ msgstr "" msgid "Enable MPTCPd" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:243 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:291 msgid "Enabled" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:214 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:204 msgid "Endpoint flags" msgstr "" @@ -305,11 +313,11 @@ msgstr "" msgid "Error fetching monitor data." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:99 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:100 msgid "Established MPTCP connections (current)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:263 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:311 msgid "Established MPTCP connections (right now)" msgstr "" @@ -325,27 +333,27 @@ msgstr "" msgid "Fallback to TCP (SYN/ACK stripped)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:88 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:89 msgid "Fastclose received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:87 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:88 msgid "Fastclose sent" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:102 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:103 msgid "Fell back to TCP: bad or missing data sequence signal" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:101 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:102 msgid "Fell back to TCP: conflicting TCP MD5SIG option" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:100 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:101 msgid "Fell back to TCP: missing data on first established packet" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:103 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:104 msgid "Fell back to TCP: simultaneous connect" msgstr "" @@ -376,7 +384,7 @@ msgstr "" msgid "Grant UCI access for luci-app-mptcp" msgstr "授予UCI访问luci-app-mptcp的权限" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:150 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:140 msgid "" "Helps explain why MPTCP might not be aggregating your WANs correctly: " "fallback to plain TCP, blackholed/stale subflows, resets, checksum errors, " @@ -396,7 +404,7 @@ msgstr "" msgid "In" msgstr "入站" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:248 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:296 msgid "In-kernel" msgstr "" @@ -457,7 +465,7 @@ msgstr "" msgid "JOIN request rejected by the path manager" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:265 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:313 msgid "Kernel MPTCP configuration" msgstr "" @@ -465,7 +473,7 @@ msgstr "" msgid "LE (1) - Lower effort" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:170 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:159 msgid "Last updated:" msgstr "" @@ -478,6 +486,14 @@ msgstr "" "留空则只是把本行的上传接口镜像到网关 -- 与 mqvpn 原生自带的\"下载始终跟随上传" "\"行为相同。" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:225 +msgid "Live MPTCP subflows" +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:248 +msgid "Local" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/multipath.js:75 msgid "MB/s" msgstr "MB/s" @@ -488,35 +504,23 @@ msgstr "MB/s" msgid "MPTCP" msgstr "MPTCP" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:148 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:138 msgid "MPTCP Diagnostics" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:142 -msgid "MPTCP Established connections" -msgstr "" - #: luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json:69 msgid "MPTCP Fullmesh" msgstr "设置MPTCP全网" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:141 -msgid "MPTCP Fullmesh (subflow map)" -msgstr "" - -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:140 -msgid "MPTCP Settings" -msgstr "" - #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_check.js:46 msgid "MPTCP Support Check" msgstr "MPTCP支持检查" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:253 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:301 msgid "MPTCP enabled" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:213 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:203 msgid "MPTCP endpoint" msgstr "" @@ -544,7 +548,7 @@ msgstr "" msgid "MPTCP handshake dropped client-side, fell back to TCP" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:277 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:325 msgid "MPTCP kernel counters (since boot)" msgstr "" @@ -552,19 +556,15 @@ msgstr "" msgid "MPTCP monitoring" msgstr "MPTCP监控" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:143 -msgid "MPTCP monitoring (raw kernel counters)" -msgstr "" - #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:22 msgid "MPTCP rejected on a port-only endpoint" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:90 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:91 msgid "MPTCP resets received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:89 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:90 msgid "MPTCP resets sent" msgstr "" @@ -572,7 +572,7 @@ msgstr "" msgid "MPTCP-level retransmissions" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:105 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:106 msgid "MPTCP-level zero-window probes" msgstr "" @@ -609,7 +609,7 @@ msgstr "Mbit/s" msgid "Mirror DSCP/weight pins to gateway" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:212 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:202 msgid "Mode" msgstr "" @@ -651,7 +651,11 @@ msgstr "网络链接" msgid "Networks MPTCP settings." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:279 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:228 +msgid "No active MPTCP subflow found on any multipath-enabled WAN right now." +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:327 msgid "No counters available (nstat/multipath -m returned nothing)." msgstr "" @@ -659,7 +663,7 @@ msgstr "" msgid "No data" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:184 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:174 msgid "No diagnostic data available yet." msgstr "" @@ -667,7 +671,7 @@ msgstr "" msgid "No multipath WAN interface is currently available." msgstr "当前没有可用的多路径 WAN 接口。" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:205 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:195 msgid "No multipath-enabled WAN interfaces found." msgstr "" @@ -696,10 +700,6 @@ msgid "" "scheduler is selected." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:139 -msgid "OpenMPTCProuter Network overview / Status" -msgstr "" - #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/multipath.js:700 msgid "Out" msgstr "出站" @@ -724,11 +724,15 @@ msgstr "出站流量" msgid "Outbound – all interfaces" msgstr "出站 – 所有接口" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:254 +msgid "Pacing rate" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:150 msgid "Path Manager type" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:254 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:302 msgid "Path manager" msgstr "" @@ -737,50 +741,62 @@ msgstr "" msgid "Peak" msgstr "峰值" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:203 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:193 msgid "Per-WAN MPTCP endpoint status" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:78 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:79 msgid "RM_ADDR signals dropped" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:77 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:78 msgid "RM_ADDR signals failed to send" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:75 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:76 msgid "RM_ADDR signals received" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:76 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:77 msgid "RM_ADDR signals sent" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:252 +msgid "RTT / var (ms)" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:260 msgid "Re-create fullmesh subflows after a timeout" msgstr "超时后重新创建全网格子流" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:95 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:96 msgid "Receive window conflict resolved on update" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:94 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:95 msgid "Receive window shared across subflows" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:96 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:97 msgid "Receive window update conflicts" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:137 -msgid "Related pages" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:59 +msgid "Received segments pruned from the receive queue (memory pressure)" +msgstr "" + +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:249 +msgid "Remote" msgstr "" #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:223 msgid "Retranmission intervals" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:253 +msgid "Retrans / total" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_dscp_routing.js:144 msgid "" "Router → internet. Pins this class to a WAN for MPTCP’s bpf_dscp scheduler " @@ -788,7 +804,7 @@ msgid "" "DSCP mask via the control API." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:255 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:303 msgid "Scheduler" msgstr "" @@ -796,7 +812,7 @@ msgstr "" msgid "Segments received outside the MPTCP mapping window" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:93 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:94 msgid "Send window shared across subflows" msgstr "" @@ -818,11 +834,11 @@ msgstr "" msgid "Settings" msgstr "设置" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:257 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:305 msgid "Stale loss count threshold" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:63 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:64 msgid "Stale subflows recovered" msgstr "" @@ -882,23 +898,23 @@ msgstr "" msgid "Subflow JOIN failed: could not create socket" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:261 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:309 msgid "Subflow limit" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:82 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:83 msgid "Subflow priority change received (MP_PRIO)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:81 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:82 msgid "Subflow priority change sent (MP_PRIO)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:62 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:63 msgid "Subflows marked stale (possible blackhole)" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:64 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:65 msgid "Subflows removed" msgstr "" @@ -948,7 +964,7 @@ msgid "" "traffic class." msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:249 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:297 msgid "Userspace" msgstr "" @@ -956,11 +972,12 @@ msgstr "" msgid "Userspace path manager" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:288 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:336 msgid "Value" msgstr "" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:210 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:200 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:247 msgid "WAN" msgstr "" @@ -995,7 +1012,12 @@ msgid "" "effect until this is re-enabled and applied." msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:269 +msgid "active" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:293 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:269 msgid "backup" msgstr "备份" @@ -1016,6 +1038,10 @@ msgid "" "bpf_rr => always picks the next available subflow to send data (round-robin)" msgstr "" +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:251 +msgid "cwnd" +msgstr "" + #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:66 #: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js:82 msgid "default" @@ -1075,7 +1101,7 @@ msgstr "主" msgid "minutes window, 1 second interval" msgstr "分钟窗口,1 秒间隔" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:225 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:215 msgid "missing" msgstr "" @@ -1089,7 +1115,7 @@ msgstr "" msgid "ndiffports subflows number" msgstr "ndiffports子流数" -#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:225 +#: luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp_diagnostics.js:215 msgid "registered" msgstr "" diff --git a/luci-app-mptcp/root/usr/libexec/rpcd/luci.mptcp b/luci-app-mptcp/root/usr/libexec/rpcd/luci.mptcp index 7a42ed07..619ebd19 100755 --- a/luci-app-mptcp/root/usr/libexec/rpcd/luci.mptcp +++ b/luci-app-mptcp/root/usr/libexec/rpcd/luci.mptcp @@ -206,6 +206,89 @@ function parse_limits(raw) return limits end +-- Live per-subflow TCP metrics via "ss -tin" (no per-WAN "src " filter -- +-- one call for every established connection on the box, then each +-- connection's local address is looked up against the endpoints list to +-- attribute it to a WAN and pick up its id/backup/fullmesh flags). This +-- mirrors the shell/awk field parsing in omr-metrics' 040-metrics +-- post-tracking hook, reimplemented natively in Lua here so the Diagnostics +-- page stays self-contained: no dependency on omr-metrics being installed, +-- and always a live read rather than whatever omr-tracker last cached for a +-- WAN that may not have cycled recently. +-- +-- Known limitation: a connection is only attributed to a WAN if its local +-- address matches a registered MPTCP endpoint. In practice every +-- multipath-enabled interface gets one (multipath's "on"/"backup" hotplug +-- path always registers an endpoint for it), so this only misses a WAN that +-- somehow never got one -- which "wan_endpoint_status" below already flags +-- as its own issue. +local function tobps(s) + local v = tonumber((s or ""):match("^[%d%.]+")) or 0 + if s:find("Gbps") then return math.floor(v * 1000000000) + elseif s:find("Mbps") then return math.floor(v * 1000000) + elseif s:find("[Kk]bps") then return math.floor(v * 1000) + end + return math.floor(v) +end + +-- ss prints "ip:port", or "[v6addr]:port" for IPv6. +local function split_hostport(s) + local ip, port = (s or ""):match("^(.-):(%d+)$") + if not ip then return s, nil end + return (ip:gsub("^%[", ""):gsub("%]$", "")), tonumber(port) +end + +function parse_ss_subflows(raw, endpoints) + local by_addr = {} + for _, ep in ipairs(endpoints) do by_addr[ep.address] = ep end + + local subflows = {} + local cur + for line in (raw or ""):gmatch("[^\n]+") do + local state, lhost, rhost = line:match("^(%S+)%s+%d+%s+%d+%s+(%S+)%s+(%S+)") + if state == "ESTAB" then + if cur then subflows[#subflows + 1] = cur end + cur = nil + local lip, lport = split_hostport(lhost) + local rip, rport = split_hostport(rhost) + local ep = by_addr[lip] + if ep then + cur = { + dev = ep.dev, endpoint_id = ep.id, backup = ep.backup, + local_ip = lip, local_port = lport, + remote_ip = rip, remote_port = rport, + } + end + elseif cur then + for token in line:gmatch("%S+") do + if token:match("^cwnd:") then cur.cwnd = tonumber(token:match(":(%d+)")) + elseif token:match("^ssthresh:") then cur.ssthresh = tonumber(token:match(":(%d+)")) + elseif token:match("^rtt:") then + local r, rv = token:match(":([%d%.]+)/([%d%.]+)") + cur.rtt = tonumber(r); cur.rttvar = tonumber(rv) + elseif token:match("^retrans:") then + local c, t = token:match(":(%d+)/(%d+)") + cur.retrans = tonumber(c); cur.retrans_total = tonumber(t) + elseif token:match("^bytes_sent:") then cur.bytes_sent = tonumber(token:match(":(%d+)")) + elseif token:match("^bytes_acked:") then cur.bytes_acked = tonumber(token:match(":(%d+)")) + elseif token:match("^bytes_retrans:") then cur.bytes_retrans = tonumber(token:match(":(%d+)")) + elseif token:match("^bytes_received:") then cur.bytes_received = tonumber(token:match(":(%d+)")) + elseif token:match("^minrtt:") then cur.min_rtt = tonumber(token:match(":([%d%.]+)")) + end + end + -- pacing_rate/delivery_rate are separate space-joined tokens + -- ("pacing_rate 6.4Mbps"), not "key:value" -- match on the whole + -- line instead of a single token. + local pr = line:match("pacing_rate%s+(%S+)") + if pr then cur.pacing_rate = tobps(pr) end + local dr = line:match("delivery_rate%s+(%S+)") + if dr then cur.delivery_rate = tobps(dr) end + end + end + if cur then subflows[#subflows + 1] = cur end + return subflows +end + -- Per-WAN endpoint cross-check: for every interface the router considers -- multipath-enabled, is its device actually registered as an MPTCP -- endpoint? If not, that WAN can never carry an MPTCP subflow no matter @@ -331,6 +414,20 @@ function build_issues(settings, counters, wans) "that corrupts data) triggers this.") end + -- RcvPruned counts data the kernel already received on an MPTCP subflow + -- but then had to drop from the receive queue under socket memory + -- pressure -- unlike the other counters here, this points at a local + -- resource problem on this router (or the VPS, if it's the one pruning), + -- not the network path: the data arrived fine and was thrown away anyway. + if (counters.RcvPruned or 0) > 0 then + add_issue(issues, "warning", "mptcp_rcv_pruned", + string.format("%d segment(s) pruned from an MPTCP receive queue (memory pressure).", counters.RcvPruned), + "Data that was already received had to be dropped because the socket ran out of receive buffer " .. + "space -- a local resource problem, not a network issue. Usually means something is reading from " .. + "the proxied connection too slowly (a slow/blocked application) or overall memory is tight. If " .. + "this keeps climbing, check free memory and whether any proxy process is stalled.") + end + -- Split by direction, not just summed: which side is doing the closing -- matters. Confirmed live on the bench (2026-08-16) -- a steady climb -- here traced back to OMR's own per-WAN shadowsocks health-check loop @@ -736,6 +833,17 @@ local methods = { established_count = established_count + 1 end + -- Attribute each subflow's device to its UCI interface name + -- (endpoints only carry the device, e.g. "eth1", not "wan1"). + local dev_to_name = {} + for _, w in ipairs(wans) do + if w.device ~= "" then dev_to_name[w.device] = w.name end + end + local subflows = parse_ss_subflows(exec_output("ss -tin 2>/dev/null"), endpoints) + for _, sf in ipairs(subflows) do + sf.wan = dev_to_name[sf.dev] or sf.dev + end + return { settings = settings, counters = counters, @@ -744,6 +852,7 @@ local methods = { wans = wans, issues = issues, established_count = established_count, + subflows = subflows, } end }, diff --git a/luci-proto-wwand/Makefile b/luci-proto-wwand/Makefile index 8b72382b..c717aa2e 100644 --- a/luci-proto-wwand/Makefile +++ b/luci-proto-wwand/Makefile @@ -18,12 +18,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-proto-wwand -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/ddimension/luci-proto-wwand.git -PKG_SOURCE_VERSION:=7d9ac0fe15257ac6469d9e2c0228506789200229 -PKG_SOURCE_DATE:=2026-08-11 +PKG_SOURCE_VERSION:=680692f5cc74862b874fe34108b7574a3b05a49b +PKG_SOURCE_DATE:=2026-08-24 PKG_MIRROR_HASH:=skip PKG_LICENSE:=GPL-2.0-only @@ -36,9 +36,9 @@ define Package/luci-proto-wwand CATEGORY:=LuCI SUBMENU:=4. Protocols TITLE:=Support for QMI/5G cellular modems (wwand) - # This handler requires six resource modules that luci-app-wwand ships — - # wwand.bands, .format, .modemopts, .modemsid, .rpc and .simlist — so it - # depends on the app rather than carrying a second copy of them. + # This handler uses five resource modules that luci-app-wwand ships — + # wwand.bands, .format, .modemopts, .modemsid and .rpc — so it depends on + # the app rather than carrying a second copy of them. DEPENDS:=+luci-base +wwand +luci-app-wwand PKGARCH:=all endef diff --git a/luci-theme-footstrap/Makefile b/luci-theme-footstrap/Makefile index 51332910..52eeddfe 100644 --- a/luci-theme-footstrap/Makefile +++ b/luci-theme-footstrap/Makefile @@ -17,7 +17,7 @@ LUCI_NAME:=luci-theme-footstrap FOOTSTRAP_VERSION?= ifneq ($(FOOTSTRAP_VERSION),) PKG_VERSION:=$(FOOTSTRAP_VERSION) -PKG_RELEASE:=35 +PKG_RELEASE:=36 endif LUCI_TITLE:=Footstrap Theme diff --git a/luci-theme-footstrap/styles/theme/45-misc.css b/luci-theme-footstrap/styles/theme/45-misc.css index 0c82c2fc..9a874a63 100644 --- a/luci-theme-footstrap/styles/theme/45-misc.css +++ b/luci-theme-footstrap/styles/theme/45-misc.css @@ -247,4 +247,25 @@ * SQM, but nothing here is about SQM: it is one class luci-base gives every such section, and * the gap belongs to the pattern rather than to the page. */ .cbi-section-remove { margin-bottom: var(--fs-space-2); } + + /* A TOP-LEVEL BLOCK IN A MAP THAT IS NOT A SECTION still keeps the page's rhythm. + * + * A view may return a bare widget where a section is expected — `s.render = () => new + * ui.Textarea(...).render()` hands the map a plain `
` with no `.cbi-section` on it, which is + * what luci-app-irqbalance does for its /proc/interrupts snapshot. Nothing then gives that block + * the gap every section carries, so the next section starts against it. Stock bootstrap measures + * the same 0px, but there a section is a stretch of page and here it is a CARD: the missing gap + * reads as two cards fused, which is what was reported. + * + * Written against what a map contains rather than against that app: the exclusions are the + * children luci-base itself puts there and which own their spacing already — the map heading and + * its description, the page's action bar, a tabbed map's tab bar and its pane, and sections. Anything else is a block the view built, + * and it gets the same 16px as a card. + * + * `:not(:empty)` because a map can hold a placeholder that renders nothing — Status → Realtime → + * Wireless mounts an empty `
` for its graphs — and a gap under a box of zero height is a gap + * out of nowhere (measured: 0px tall, 16px of margin, on that page alone). */ + .cbi-map > *:not(.cbi-section):not(.cbi-map-descr):not(.cbi-page-actions):not(h2):not(legend):not(.cbi-tabmenu):not(.cbi-map-tabbed):not(:empty) { + margin-bottom: var(--fs-card-gap); + } } diff --git a/wwand/Makefile b/wwand/Makefile index a9f07f07..6b771209 100644 --- a/wwand/Makefile +++ b/wwand/Makefile @@ -30,11 +30,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=wwand -PKG_RELEASE:=8 +PKG_RELEASE:=9 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/ddimension/wwand.git -PKG_SOURCE_VERSION:=b5c9bb6897fba2eba8ddc64af3fe415871ff24b9 +PKG_SOURCE_VERSION:=4134174ed37d2e17a9e1cb5b41c8e6c1f4c73675 PKG_SOURCE_DATE:=2026-08-24 PKG_MIRROR_HASH:=skip