httpd: read the static flag of an L2 entry from the byte that holds it

The MAC table listing tests bit 0 of byte 2 of the third table data
word for the static flag, but the flag lives in bit 0 of byte 1: an
entry written with byte 1 bit 0 set survives the aging engine
indefinitely where an identical entry without it ages out, and reads
back with exactly that bit set through both the address and the
next-entry read methods. Byte 2 of that word reads zero for learned and
static entries alike, so every entry has always been listed as learned
and a static entry has never been visible as such in the table listing.
This commit is contained in:
bloqaudio
2026-08-17 12:17:42 -05:00
parent 59d20ed9b6
commit a3d1a35e2f
+1 -1
View File
@@ -397,7 +397,7 @@ void send_l2(uint16_t idx)
// type // type
reg_read_m(RTL837x_L2_DATA_OUT_C); reg_read_m(RTL837x_L2_DATA_OUT_C);
if (sfr_data[2] & 0x1) if (sfr_data[1] & 0x1)
slen += strtox(outbuf + slen, "\",\"type\":\"s\",\"port\":"); slen += strtox(outbuf + slen, "\",\"type\":\"s\",\"port\":");
else else
slen += strtox(outbuf + slen, "\",\"type\":\"l\",\"port\":"); slen += strtox(outbuf + slen, "\",\"type\":\"l\",\"port\":");