Re: [PATCH net-next] net: dsa: add port fdb dump

2017-09-21 Thread David Miller
From: Vivien Didelot 
Date: Wed, 20 Sep 2017 19:32:14 -0400

> Dumping a DSA port's FDB entries is not specific to a DSA slave, so add
> a dsa_port_fdb_dump function, similarly to dsa_port_fdb_add and
> dsa_port_fdb_del.
> 
> Signed-off-by: Vivien Didelot 

Applied.


Re: [PATCH net-next] net: dsa: add port fdb dump

2017-09-21 Thread David Miller
From: Vivien Didelot 
Date: Wed, 20 Sep 2017 19:32:14 -0400

> Dumping a DSA port's FDB entries is not specific to a DSA slave, so add
> a dsa_port_fdb_dump function, similarly to dsa_port_fdb_add and
> dsa_port_fdb_del.
> 
> Signed-off-by: Vivien Didelot 

Applied.


Re: [PATCH net-next] net: dsa: add port fdb dump

2017-09-20 Thread Florian Fainelli


On 09/20/2017 04:32 PM, Vivien Didelot wrote:
> Dumping a DSA port's FDB entries is not specific to a DSA slave, so add
> a dsa_port_fdb_dump function, similarly to dsa_port_fdb_add and
> dsa_port_fdb_del.
> 
> Signed-off-by: Vivien Didelot 

Reviewed-by: Florian Fainelli 
-- 
Florian


Re: [PATCH net-next] net: dsa: add port fdb dump

2017-09-20 Thread Florian Fainelli


On 09/20/2017 04:32 PM, Vivien Didelot wrote:
> Dumping a DSA port's FDB entries is not specific to a DSA slave, so add
> a dsa_port_fdb_dump function, similarly to dsa_port_fdb_add and
> dsa_port_fdb_del.
> 
> Signed-off-by: Vivien Didelot 

Reviewed-by: Florian Fainelli 
-- 
Florian


[PATCH net-next] net: dsa: add port fdb dump

2017-09-20 Thread Vivien Didelot
Dumping a DSA port's FDB entries is not specific to a DSA slave, so add
a dsa_port_fdb_dump function, similarly to dsa_port_fdb_add and
dsa_port_fdb_del.

Signed-off-by: Vivien Didelot 
---
 net/dsa/dsa_priv.h |  1 +
 net/dsa/port.c | 11 +++
 net/dsa/slave.c|  9 ++---
 3 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/net/dsa/dsa_priv.h b/net/dsa/dsa_priv.h
index f616b318..9803952a5b40 100644
--- a/net/dsa/dsa_priv.h
+++ b/net/dsa/dsa_priv.h
@@ -128,6 +128,7 @@ int dsa_port_fdb_add(struct dsa_port *dp, const unsigned 
char *addr,
 u16 vid);
 int dsa_port_fdb_del(struct dsa_port *dp, const unsigned char *addr,
 u16 vid);
+int dsa_port_fdb_dump(struct dsa_port *dp, dsa_fdb_dump_cb_t *cb, void *data);
 int dsa_port_mdb_add(struct dsa_port *dp,
 const struct switchdev_obj_port_mdb *mdb,
 struct switchdev_trans *trans);
diff --git a/net/dsa/port.c b/net/dsa/port.c
index 659676ba3f8b..76d43a82d397 100644
--- a/net/dsa/port.c
+++ b/net/dsa/port.c
@@ -173,6 +173,17 @@ int dsa_port_fdb_del(struct dsa_port *dp, const unsigned 
char *addr,
return dsa_port_notify(dp, DSA_NOTIFIER_FDB_DEL, );
 }
 
+int dsa_port_fdb_dump(struct dsa_port *dp, dsa_fdb_dump_cb_t *cb, void *data)
+{
+   struct dsa_switch *ds = dp->ds;
+   int port = dp->index;
+
+   if (!ds->ops->port_fdb_dump)
+   return -EOPNOTSUPP;
+
+   return ds->ops->port_fdb_dump(ds, port, cb, data);
+}
+
 int dsa_port_mdb_add(struct dsa_port *dp,
 const struct switchdev_obj_port_mdb *mdb,
 struct switchdev_trans *trans)
diff --git a/net/dsa/slave.c b/net/dsa/slave.c
index bc376fc1bbe7..b87ed29b5b55 100644
--- a/net/dsa/slave.c
+++ b/net/dsa/slave.c
@@ -263,16 +263,11 @@ dsa_slave_fdb_dump(struct sk_buff *skb, struct 
netlink_callback *cb,
};
struct dsa_slave_priv *p = netdev_priv(dev);
struct dsa_port *dp = p->dp;
-   struct dsa_switch *ds = dp->ds;
int err;
 
-   if (!ds->ops->port_fdb_dump)
-   return -EOPNOTSUPP;
-
-   err = ds->ops->port_fdb_dump(ds, dp->index,
-dsa_slave_port_fdb_do_dump,
-);
+   err = dsa_port_fdb_dump(dp, dsa_slave_port_fdb_do_dump, );
*idx = dump.idx;
+
return err;
 }
 
-- 
2.14.1



[PATCH net-next] net: dsa: add port fdb dump

2017-09-20 Thread Vivien Didelot
Dumping a DSA port's FDB entries is not specific to a DSA slave, so add
a dsa_port_fdb_dump function, similarly to dsa_port_fdb_add and
dsa_port_fdb_del.

Signed-off-by: Vivien Didelot 
---
 net/dsa/dsa_priv.h |  1 +
 net/dsa/port.c | 11 +++
 net/dsa/slave.c|  9 ++---
 3 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/net/dsa/dsa_priv.h b/net/dsa/dsa_priv.h
index f616b318..9803952a5b40 100644
--- a/net/dsa/dsa_priv.h
+++ b/net/dsa/dsa_priv.h
@@ -128,6 +128,7 @@ int dsa_port_fdb_add(struct dsa_port *dp, const unsigned 
char *addr,
 u16 vid);
 int dsa_port_fdb_del(struct dsa_port *dp, const unsigned char *addr,
 u16 vid);
+int dsa_port_fdb_dump(struct dsa_port *dp, dsa_fdb_dump_cb_t *cb, void *data);
 int dsa_port_mdb_add(struct dsa_port *dp,
 const struct switchdev_obj_port_mdb *mdb,
 struct switchdev_trans *trans);
diff --git a/net/dsa/port.c b/net/dsa/port.c
index 659676ba3f8b..76d43a82d397 100644
--- a/net/dsa/port.c
+++ b/net/dsa/port.c
@@ -173,6 +173,17 @@ int dsa_port_fdb_del(struct dsa_port *dp, const unsigned 
char *addr,
return dsa_port_notify(dp, DSA_NOTIFIER_FDB_DEL, );
 }
 
+int dsa_port_fdb_dump(struct dsa_port *dp, dsa_fdb_dump_cb_t *cb, void *data)
+{
+   struct dsa_switch *ds = dp->ds;
+   int port = dp->index;
+
+   if (!ds->ops->port_fdb_dump)
+   return -EOPNOTSUPP;
+
+   return ds->ops->port_fdb_dump(ds, port, cb, data);
+}
+
 int dsa_port_mdb_add(struct dsa_port *dp,
 const struct switchdev_obj_port_mdb *mdb,
 struct switchdev_trans *trans)
diff --git a/net/dsa/slave.c b/net/dsa/slave.c
index bc376fc1bbe7..b87ed29b5b55 100644
--- a/net/dsa/slave.c
+++ b/net/dsa/slave.c
@@ -263,16 +263,11 @@ dsa_slave_fdb_dump(struct sk_buff *skb, struct 
netlink_callback *cb,
};
struct dsa_slave_priv *p = netdev_priv(dev);
struct dsa_port *dp = p->dp;
-   struct dsa_switch *ds = dp->ds;
int err;
 
-   if (!ds->ops->port_fdb_dump)
-   return -EOPNOTSUPP;
-
-   err = ds->ops->port_fdb_dump(ds, dp->index,
-dsa_slave_port_fdb_do_dump,
-);
+   err = dsa_port_fdb_dump(dp, dsa_slave_port_fdb_do_dump, );
*idx = dump.idx;
+
return err;
 }
 
-- 
2.14.1