diff --git a/scripts/js/network.js b/scripts/js/network.js
index e6116e8f10..350ddab5bb 100644
--- a/scripts/js/network.js
+++ b/scripts/js/network.js
@@ -179,16 +179,57 @@ $(() => {
$("td:eq(0)", row).html(ips.join("
"));
// MAC + Vendor field if available
- if (data.macVendor && data.macVendor.length > 0) {
- $("td:eq(1)", row).html(
- utils.escapeHtml(data.hwaddr) + "
" + utils.escapeHtml(data.macVendor)
- );
- }
-
- // Make mock MAC addresses italics and add title
+ const cell = $("td:eq(1)", row);
if (data.hwaddr.startsWith("ip-")) {
- $("td:eq(1)", row).css("font-style", "italic");
- $("td:eq(1)", row).attr("title", "Mock MAC address");
+ // Case 1 - Make mock MAC addresses italics and add title
+ cell.css("font-style", "italic").attr("title", "Mock MAC address");
+ } else if (data.hwaddr.includes(":")) {
+ // Case 2 — MAC-like address
+ const parts = data.hwaddr.split(":");
+ const firstOctet = Number.parseInt(parts[0], 16);
+ // Arithmetic-only flag detection
+ const isMulticast = firstOctet % 2 === 1; // bit 0
+ const isLocal = Math.floor(firstOctet / 2) % 2 === 1; // bit 1
+ // Multicast overrides all SLAP meaning
+ if (isMulticast) {
+ // Case 2.1 - Multicast
+ cell.html(utils.escapeHtml(data.hwaddr) + "
Multicast Address");
+ } else if (isLocal) {
+ // Case 2.2 - Local SLAP
+ let slapLabel = null;
+ // SLAP quadrant resolution (RFC 9542)
+ const ts = Math.floor(firstOctet / 4) % 4; // bits 2–3 become bits 0–1
+ switch (ts) {
+ case 0x0:
+ slapLabel = "Administratively Assigned (AAI)";
+ break;
+ case 0x1:
+ slapLabel = "Extended Local (ELI)";
+ break;
+ case 0x2:
+ slapLabel = "Reserved";
+ break;
+ case 0x3:
+ slapLabel = "Standard Assigned (SAI)";
+ break;
+ default:
+ // satisfy ESLint
+ slapLabel = "Unclassified";
+ break;
+ }
+
+ cell.html(utils.escapeHtml(data.hwaddr) + "
Locally Administered");
+ cell.css("font-style", "italic").attr("title", slapLabel);
+ } else if (data.macVendor && data.macVendor.length > 0) {
+ // Case 2.3 - Global address space (U/L = 0)
+ cell.html(utils.escapeHtml(data.hwaddr) + "
" + utils.escapeHtml(data.macVendor));
+ } else {
+ // Case 2.4 - Lookup failed
+ cell.html(utils.escapeHtml(data.hwaddr) + "
Global: Unknown");
+ }
+ } else {
+ // Case 3 — Not IP-mock, not MAC-like
+ cell.css("color", "red").html(utils.escapeHtml(data.hwaddr) + "
Unknown Format");
}
// Add delete button