summaryrefslogtreecommitdiff
path: root/include/linux/if_bridge.h
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2015-09-24 00:35:59 +0300
committerDavid S. Miller <davem@davemloft.net>2015-09-24 00:35:59 +0300
commit16cfbae160c46eadf0105892b676c365b051bfc2 (patch)
tree356b5084c6b138fc48e67f63e339bd67c629912a /include/linux/if_bridge.h
parent34ea90ef725405a0b431843b775fb9f4021da6ae (diff)
parent45ffda75e145ed7a2b40f6a5de35431d7e62d1f0 (diff)
downloadlinux-16cfbae160c46eadf0105892b676c365b051bfc2.tar.xz
Merge branch 'bridge_external_fdb_aging'
Scott Feldman says: ==================== bridge: don't age out externally added FDB entries v3: Per davem review: add del_timer_sync on rocker port remove. v2: Per Jiri review comment: add BR_DEFAULT_AGEING_TIME to defines Siva originally proposed skipping externally added FDB entries in the bridge's FDB garbage collection func, and moving the ageing of externally added entries to the port driver/device. This broke rocker, since rocker didn't have a hardware (or software) mechanism for ageing out its learned FDB entries. This patchset reintroduces Siva's bridge driver patch to skip externally added entries and adds support in rocker so rocker can age out its own entries. Rocker does this using a software timer similar to the bridge's FDB garbage collection timer. Other switchdev devices/drivers can use this software timer method or program the device to nofity aged-out entries to the driver. Updated switchdev.txt documentation to reflect current state-of-the-art. This removes one more XXX todo comment in switchdev.txt. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/if_bridge.h')
-rw-r--r--include/linux/if_bridge.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/if_bridge.h b/include/linux/if_bridge.h
index dad8b00beed2..a338a688ee4a 100644
--- a/include/linux/if_bridge.h
+++ b/include/linux/if_bridge.h
@@ -46,6 +46,12 @@ struct br_ip_list {
#define BR_LEARNING_SYNC BIT(9)
#define BR_PROXYARP_WIFI BIT(10)
+/* values as per ieee8021QBridgeFdbAgingTime */
+#define BR_MIN_AGEING_TIME (10 * HZ)
+#define BR_MAX_AGEING_TIME (1000000 * HZ)
+
+#define BR_DEFAULT_AGEING_TIME (300 * HZ)
+
extern void brioctl_set(int (*ioctl_hook)(struct net *, unsigned int, void __user *));
typedef int br_should_route_hook_t(struct sk_buff *skb);