37#ifndef LWIP_HDR_NETIF_BRIDGEIF_H
38#define LWIP_HDR_NETIF_BRIDGEIF_H
51#if (BRIDGEIF_MAX_PORTS < 0) || (BRIDGEIF_MAX_PORTS >= 64)
52#error BRIDGEIF_MAX_PORTS must be [1..63]
53#elif BRIDGEIF_MAX_PORTS < 8
55#elif BRIDGEIF_MAX_PORTS < 16
57#elif BRIDGEIF_MAX_PORTS < 32
59#elif BRIDGEIF_MAX_PORTS < 64
63#define BR_FLOOD ((bridgeif_portmask_t)-1)
87#define BRIDGEIF_INITDATA1(max_ports, max_fdb_dynamic_entries, max_fdb_static_entries, ethaddr) {ethaddr, max_ports, max_fdb_dynamic_entries, max_fdb_static_entries}
92#define BRIDGEIF_INITDATA2(max_ports, max_fdb_dynamic_entries, max_fdb_static_entries, e0, e1, e2, e3, e4, e5) {{e0, e1, e2, e3, e4, e5}, max_ports, max_fdb_dynamic_entries, max_fdb_static_entries}
104#if BRIDGEIF_PORT_NETIFS_OUTPUT_DIRECT
105#ifndef BRIDGEIF_DECL_PROTECT
108#define BRIDGEIF_DECL_PROTECT(lev) SYS_ARCH_DECL_PROTECT(lev)
109#define BRIDGEIF_READ_PROTECT(lev) SYS_ARCH_PROTECT(lev)
110#define BRIDGEIF_READ_UNPROTECT(lev) SYS_ARCH_UNPROTECT(lev)
111#define BRIDGEIF_WRITE_PROTECT(lev)
112#define BRIDGEIF_WRITE_UNPROTECT(lev)
116#define BRIDGEIF_DECL_PROTECT(lev)
117#define BRIDGEIF_READ_PROTECT(lev)
118#define BRIDGEIF_READ_UNPROTECT(lev)
119#define BRIDGEIF_WRITE_PROTECT(lev)
120#define BRIDGEIF_WRITE_UNPROTECT(lev)
err_t bridgeif_init(struct netif *netif)
err_t bridgeif_add_port(struct netif *bridgeif, struct netif *portif)
err_t bridgeif_fdb_remove(struct netif *bridgeif, const struct eth_addr *addr)
err_t bridgeif_fdb_add(struct netif *bridgeif, const struct eth_addr *addr, bridgeif_portmask_t ports)
GLenum const GLvoid * addr
void * bridgeif_fdb_init(u16_t max_fdb_entries)
bridgeif_portmask_t bridgeif_fdb_get_dst_ports(void *fdb_ptr, struct eth_addr *dst_addr)
void bridgeif_fdb_update_src(void *fdb_ptr, struct eth_addr *src_addr, u8_t port_idx)
struct bridgeif_initdata_s bridgeif_initdata_t
u16_t max_fdb_static_entries
u16_t max_fdb_dynamic_entries