bridge: simplify the flush_store by calling store_bridge_parm
There are some repetitive codes in flush_store, we can remove them by calling store_bridge_parm, also, it would send rtnl notification after we add it in store_bridge_parm in the following patches. Signed-off-by: Xin Long <lucien.xin@gmail.com> Reviewed-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
f9a7cbbf18
commit
14f31bb39f
@@ -336,17 +336,17 @@ static ssize_t group_addr_store(struct device *d,
|
|||||||
|
|
||||||
static DEVICE_ATTR_RW(group_addr);
|
static DEVICE_ATTR_RW(group_addr);
|
||||||
|
|
||||||
|
static int set_flush(struct net_bridge *br, unsigned long val)
|
||||||
|
{
|
||||||
|
br_fdb_flush(br);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static ssize_t flush_store(struct device *d,
|
static ssize_t flush_store(struct device *d,
|
||||||
struct device_attribute *attr,
|
struct device_attribute *attr,
|
||||||
const char *buf, size_t len)
|
const char *buf, size_t len)
|
||||||
{
|
{
|
||||||
struct net_bridge *br = to_bridge(d);
|
return store_bridge_parm(d, buf, len, set_flush);
|
||||||
|
|
||||||
if (!ns_capable(dev_net(br->dev)->user_ns, CAP_NET_ADMIN))
|
|
||||||
return -EPERM;
|
|
||||||
|
|
||||||
br_fdb_flush(br);
|
|
||||||
return len;
|
|
||||||
}
|
}
|
||||||
static DEVICE_ATTR_WO(flush);
|
static DEVICE_ATTR_WO(flush);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user