diff options
Diffstat (limited to 'net/bridge/br_private.h')
-rw-r--r-- | net/bridge/br_private.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h index fcd12333c59b..3ba11bc99b65 100644 --- a/net/bridge/br_private.h +++ b/net/bridge/br_private.h | |||
@@ -104,6 +104,7 @@ struct net_bridge_fdb_entry | |||
104 | mac_addr addr; | 104 | mac_addr addr; |
105 | unsigned char is_local; | 105 | unsigned char is_local; |
106 | unsigned char is_static; | 106 | unsigned char is_static; |
107 | unsigned char added_by_user; | ||
107 | __u16 vlan_id; | 108 | __u16 vlan_id; |
108 | }; | 109 | }; |
109 | 110 | ||
@@ -370,6 +371,9 @@ static inline void br_netpoll_disable(struct net_bridge_port *p) | |||
370 | int br_fdb_init(void); | 371 | int br_fdb_init(void); |
371 | void br_fdb_fini(void); | 372 | void br_fdb_fini(void); |
372 | void br_fdb_flush(struct net_bridge *br); | 373 | void br_fdb_flush(struct net_bridge *br); |
374 | void br_fdb_find_delete_local(struct net_bridge *br, | ||
375 | const struct net_bridge_port *p, | ||
376 | const unsigned char *addr, u16 vid); | ||
373 | void br_fdb_changeaddr(struct net_bridge_port *p, const unsigned char *newaddr); | 377 | void br_fdb_changeaddr(struct net_bridge_port *p, const unsigned char *newaddr); |
374 | void br_fdb_change_mac_address(struct net_bridge *br, const u8 *newaddr); | 378 | void br_fdb_change_mac_address(struct net_bridge *br, const u8 *newaddr); |
375 | void br_fdb_cleanup(unsigned long arg); | 379 | void br_fdb_cleanup(unsigned long arg); |
@@ -383,8 +387,7 @@ int br_fdb_fillbuf(struct net_bridge *br, void *buf, unsigned long count, | |||
383 | int br_fdb_insert(struct net_bridge *br, struct net_bridge_port *source, | 387 | int br_fdb_insert(struct net_bridge *br, struct net_bridge_port *source, |
384 | const unsigned char *addr, u16 vid); | 388 | const unsigned char *addr, u16 vid); |
385 | void br_fdb_update(struct net_bridge *br, struct net_bridge_port *source, | 389 | void br_fdb_update(struct net_bridge *br, struct net_bridge_port *source, |
386 | const unsigned char *addr, u16 vid); | 390 | const unsigned char *addr, u16 vid, bool added_by_user); |
387 | int fdb_delete_by_addr(struct net_bridge *br, const u8 *addr, u16 vid); | ||
388 | 391 | ||
389 | int br_fdb_delete(struct ndmsg *ndm, struct nlattr *tb[], | 392 | int br_fdb_delete(struct ndmsg *ndm, struct nlattr *tb[], |
390 | struct net_device *dev, const unsigned char *addr); | 393 | struct net_device *dev, const unsigned char *addr); |
@@ -584,6 +587,7 @@ struct sk_buff *br_handle_vlan(struct net_bridge *br, | |||
584 | int br_vlan_add(struct net_bridge *br, u16 vid, u16 flags); | 587 | int br_vlan_add(struct net_bridge *br, u16 vid, u16 flags); |
585 | int br_vlan_delete(struct net_bridge *br, u16 vid); | 588 | int br_vlan_delete(struct net_bridge *br, u16 vid); |
586 | void br_vlan_flush(struct net_bridge *br); | 589 | void br_vlan_flush(struct net_bridge *br); |
590 | bool br_vlan_find(struct net_bridge *br, u16 vid); | ||
587 | int br_vlan_filter_toggle(struct net_bridge *br, unsigned long val); | 591 | int br_vlan_filter_toggle(struct net_bridge *br, unsigned long val); |
588 | int nbp_vlan_add(struct net_bridge_port *port, u16 vid, u16 flags); | 592 | int nbp_vlan_add(struct net_bridge_port *port, u16 vid, u16 flags); |
589 | int nbp_vlan_delete(struct net_bridge_port *port, u16 vid); | 593 | int nbp_vlan_delete(struct net_bridge_port *port, u16 vid); |
@@ -665,6 +669,11 @@ static inline void br_vlan_flush(struct net_bridge *br) | |||
665 | { | 669 | { |
666 | } | 670 | } |
667 | 671 | ||
672 | static inline bool br_vlan_find(struct net_bridge *br, u16 vid) | ||
673 | { | ||
674 | return false; | ||
675 | } | ||
676 | |||
668 | static inline int nbp_vlan_add(struct net_bridge_port *port, u16 vid, u16 flags) | 677 | static inline int nbp_vlan_add(struct net_bridge_port *port, u16 vid, u16 flags) |
669 | { | 678 | { |
670 | return -EOPNOTSUPP; | 679 | return -EOPNOTSUPP; |