mirror of
https://github.com/logicog/RTLPlayground.git
synced 2026-10-29 17:54:14 +08:00
A matrix of the ports, one row per ingress port, showing which ports a frame entering there may leave through. The port number of a row turns red when the port is not fully open, and the cell for the port itself is marked since it is always allowed. Apply sends one "isolate" command per changed row, and Allow all ticks the whole matrix. The switch side is a new /isolation.json, which reports each port's allowance mask read back from the hardware. The page is an Isolation section of the single-page UI.
44 lines
919 B
C
44 lines
919 B
C
#ifndef __PAGE_IMPL_H__
|
|
#define __PAGE_IMPL_H__
|
|
|
|
#include <stdbool.h>
|
|
|
|
extern __code const uint8_t * __code const HTTP_RESPONCE_TXT;
|
|
|
|
void itoa16_html(uint16_t v);
|
|
|
|
bool send_counters(uint8_t phys_port);
|
|
void send_status(void);
|
|
void send_vlan(uint16_t vlan);
|
|
void send_basic_info(void);
|
|
void send_bandwidth(void);
|
|
void send_storm(void);
|
|
void send_eee(void);
|
|
void send_l2(uint16_t idx);
|
|
void l2_delete(uint16_t idx);
|
|
void send_mirror(void);
|
|
void send_mtu(void);
|
|
void send_isolation(void);
|
|
void send_config(void);
|
|
void send_cmd_log(void);
|
|
void send_lag(void);
|
|
void send_stp(void);
|
|
void send_vlanlist(void);
|
|
|
|
/* Convert only the lower nibble to ascii HEX char.
|
|
For convenience the upper nibble is masked out.
|
|
*/
|
|
inline char itohex(uint8_t val) {
|
|
// Ignore upper nibble for convenience.
|
|
val &= 0x0f;
|
|
val -= 10;
|
|
|
|
// 10 or above
|
|
if ((int8_t)val >= 0)
|
|
val += ('a' - '0' - 10);
|
|
|
|
return val + ('0' + 10);
|
|
}
|
|
|
|
#endif
|