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