]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/bridge/br_private.h
bridge: add local MAC address to forwarding table (v2)
[karo-tx-linux.git] / net / bridge / br_private.h
index 857a021deea9fb6b1d2351fe7a8d3b5d84667947..89969080c3846afc9850b2fa7f541862e5f02abb 100644 (file)
 
 #define BR_VERSION     "2.3"
 
+/* Control of forwarding link local multicast */
+#define BR_GROUPFWD_DEFAULT    0
+/* Don't allow forwarding control protocols like STP and LLDP */
+#define BR_GROUPFWD_RESTRICTED 0x4007u
+
 /* Path to usermode spanning tree program */
 #define BR_STP_PROG    "/sbin/bridge-stp"
 
@@ -193,6 +198,8 @@ struct net_bridge
        unsigned long                   flags;
 #define BR_SET_MAC_ADDR                0x00000001
 
+       u16                             group_fwd_mask;
+
        /* STP */
        bridge_id                       designated_root;
        bridge_id                       bridge_id;
@@ -341,6 +348,7 @@ extern void br_fdb_fini(void);
 extern void br_fdb_flush(struct net_bridge *br);
 extern void br_fdb_changeaddr(struct net_bridge_port *p,
                              const unsigned char *newaddr);
+extern void br_fdb_change_mac_address(struct net_bridge *br, const u8 *newaddr);
 extern void br_fdb_cleanup(unsigned long arg);
 extern void br_fdb_delete_by_port(struct net_bridge *br,
                                  const struct net_bridge_port *p, int do_all);
@@ -380,7 +388,8 @@ extern int br_add_if(struct net_bridge *br,
 extern int br_del_if(struct net_bridge *br,
              struct net_device *dev);
 extern int br_min_mtu(const struct net_bridge *br);
-extern u32 br_features_recompute(struct net_bridge *br, u32 features);
+extern netdev_features_t br_features_recompute(struct net_bridge *br,
+       netdev_features_t features);
 
 /* br_input.c */
 extern int br_handle_frame_finish(struct sk_buff *skb);