xref: /linux/drivers/net/dsa/realtek/rtl8365mb_l2.h (revision 336e3e4a1ab37b6826fae27e53cd2ac43c9a96ca)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Forwarding and multicast database interface for the rtl8365mb switch family
3  *
4  * Copyright (C) 2022 Alvin Šipraga <alsi@bang-olufsen.dk>
5  */
6 
7 #ifndef _REALTEK_RTL8365MB_L2_H
8 #define _REALTEK_RTL8365MB_L2_H
9 
10 #include <linux/if_ether.h>
11 #include <linux/types.h>
12 
13 #include "realtek.h"
14 
15 int rtl8365mb_l2_get_next_uc(struct realtek_priv *priv, u16 *addr, int port,
16 			     struct realtek_fdb_entry *entry);
17 int rtl8365mb_l2_add_uc(struct realtek_priv *priv, int port,
18 			const unsigned char addr[static ETH_ALEN],
19 			u16 efid, u16 vid);
20 int rtl8365mb_l2_del_uc(struct realtek_priv *priv, int port,
21 			const unsigned char addr[static ETH_ALEN],
22 			u16 efid, u16 vid);
23 int rtl8365mb_l2_flush(struct realtek_priv *priv, int port, u16 vid);
24 
25 int rtl8365mb_l2_add_mc(struct realtek_priv *priv, int port,
26 			const unsigned char mac_addr[static ETH_ALEN],
27 			u16 vid);
28 int rtl8365mb_l2_del_mc(struct realtek_priv *priv, int port,
29 			const unsigned char mac_addr[static ETH_ALEN],
30 			u16 vid);
31 
32 #endif /* _REALTEK_RTL8365MB_L2_H */
33