net/8021q: Implement Multiple VLAN Registration Protocol (MVRP)

Initial implementation of the Multiple VLAN Registration Protocol
(MVRP) from IEEE 802.1Q-2011, based on the existing implementation
of the GARP VLAN Registration Protocol (GVRP).

Signed-off-by: David Ward <david.ward@ll.mit.edu>
Acked-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David Ward
2013-02-08 17:17:07 +00:00
committed by David S. Miller
parent febf018d22
commit 86fbe9bb59
9 changed files with 136 additions and 7 deletions

View File

@@ -171,6 +171,22 @@ static inline int vlan_gvrp_init(void) { return 0; }
static inline void vlan_gvrp_uninit(void) {}
#endif
#ifdef CONFIG_VLAN_8021Q_MVRP
extern int vlan_mvrp_request_join(const struct net_device *dev);
extern void vlan_mvrp_request_leave(const struct net_device *dev);
extern int vlan_mvrp_init_applicant(struct net_device *dev);
extern void vlan_mvrp_uninit_applicant(struct net_device *dev);
extern int vlan_mvrp_init(void);
extern void vlan_mvrp_uninit(void);
#else
static inline int vlan_mvrp_request_join(const struct net_device *dev) { return 0; }
static inline void vlan_mvrp_request_leave(const struct net_device *dev) {}
static inline int vlan_mvrp_init_applicant(struct net_device *dev) { return 0; }
static inline void vlan_mvrp_uninit_applicant(struct net_device *dev) {}
static inline int vlan_mvrp_init(void) { return 0; }
static inline void vlan_mvrp_uninit(void) {}
#endif
extern const char vlan_fullname[];
extern const char vlan_version[];
extern int vlan_netlink_init(void);