diff --git a/html/l2.js b/html/l2.js
index 21bd91c..d3a058b 100644
--- a/html/l2.js
+++ b/html/l2.js
@@ -65,10 +65,10 @@ function delL2(idx) {
}
var l2All = [];
+const l2Cols = ['port', 'mac', 'vlan', 'type'];
var l2SortCol = 'port';
var l2SortDir = 1;
-/* Sort keys: ports are numbers except the CPU, which must not compare as one. */
function l2Key(e, col) {
if (col === 'port') return e.port === 'CPU' ? Number.MAX_SAFE_INTEGER : Number(e.port);
if (col === 'vlan') return Number(e.vlan);
@@ -87,12 +87,12 @@ function renderL2() {
var tbl = document.getElementById('l2table');
if (!tbl) return;
var f = {};
- ['port', 'mac', 'vlan', 'type'].forEach(function(c) {
+ l2Cols.forEach(function(c) {
var el = document.getElementById('l2f_' + c);
f[c] = el ? el.value.trim().toLowerCase() : '';
});
var rows = l2All.filter(function(e) {
- return ['port', 'mac', 'vlan', 'type'].every(function(c) {
+ return l2Cols.every(function(c) {
return !f[c] || String(e[c]).toLowerCase().indexOf(f[c]) !== -1;
});
});
@@ -100,7 +100,7 @@ function renderL2() {
var x = l2Key(a, l2SortCol), y = l2Key(b, l2SortCol);
return (x < y ? -1 : x > y ? 1 : 0) * l2SortDir;
});
- ['port', 'mac', 'vlan', 'type'].forEach(function(c) {
+ l2Cols.forEach(function(c) {
var a = document.getElementById('l2a_' + c);
if (a) a.textContent = (c === l2SortCol) ? (l2SortDir > 0 ? ' \u25b2' : ' \u25bc') : ' \u21c5';
});
@@ -155,9 +155,6 @@ function getL2() {
e.vlan = parseInt(e.vlan, 16);
e.idx = parseInt(e.idx, 16);
e.type = e.type == "s" ? t('l2_static') : t('l2_learned');
- /* Label the CPU port before mapping to physical numbering: the
- * SFP port maps to physical 9 as well, and tagging afterwards
- * relabelled every SFP entry as CPU. */
e.port = e.port == 9 ? 'CPU' : logToPhysPort[e.port];
return e;
});
diff --git a/html/style.css b/html/style.css
index 758800b..1830557 100644
--- a/html/style.css
+++ b/html/style.css
@@ -165,7 +165,6 @@ select { text-align-last: right; font-family: monospace}
option { direction: rtl; font-family: sans-serif}
#vlanTable td { text-align: left; }
-/* L2 table: sortable headers and per-column filters */
.l2sort{cursor:pointer;user-select:none}
.l2sort:hover{text-decoration:underline}
.l2arrow{opacity:0.55;font-size:0.85em}