Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1241867 > unrolled thread
| Started by | Vivien Didelot <vivien.didelot@savoirfairelinux.com> |
|---|---|
| First post | 2015-10-08 02:00 +0200 |
| Last post | 2015-10-08 16:20 +0200 |
| Articles | 15 — 7 participants |
Back to article view | Back to linux.kernel
[PATCH net-next 0/6] net: dsa: push switchdev prepare phase in FDB ops Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2015-10-08 02:00 +0200
[PATCH net-next 4/6] net: dsa: add port_fdb_prepare Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2015-10-08 02:00 +0200
Re: [PATCH net-next 4/6] net: dsa: add port_fdb_prepare Andrew Lunn <andrew@lunn.ch> - 2015-10-08 02:30 +0200
Re: [PATCH net-next 4/6] net: dsa: add port_fdb_prepare Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2015-10-08 15:10 +0200
Re: [PATCH net-next 4/6] net: dsa: add port_fdb_prepare Andrew Lunn <andrew@lunn.ch> - 2015-10-08 17:10 +0200
Re: [PATCH net-next 4/6] net: dsa: add port_fdb_prepare Scott Feldman <sfeldma@gmail.com> - 2015-10-08 08:20 +0200
[PATCH net-next 3/6] net: remove dsa.h include from linux/netdevice.h Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2015-10-08 02:00 +0200
Re: [PATCH net-next 3/6] net: remove dsa.h include from linux/netdevice.h Jiri Pirko <jiri@resnulli.us> - 2015-10-08 11:20 +0200
Re: [PATCH net-next 3/6] net: remove dsa.h include from linux/netdevice.h Wei Xu <xuwei5@hisilicon.com> - 2015-10-08 12:40 +0200
Re: [PATCH net-next 3/6] net: remove dsa.h include from linux/netdevice.h Jiri Pirko <jiri@resnulli.us> - 2015-10-08 14:20 +0200
Re: [PATCH net-next 3/6] net: remove dsa.h include from linux/netdevice.h huangdaode <huangdaode@hisilicon.com> - 2015-10-08 14:50 +0200
Re: [PATCH net-next 0/6] net: dsa: push switchdev prepare phase in FDB ops David Miller <davem@davemloft.net> - 2015-10-08 14:20 +0200
Re: [PATCH net-next 0/6] net: dsa: push switchdev prepare phase in FDB ops Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2015-10-08 15:40 +0200
Re: [PATCH net-next 0/6] net: dsa: push switchdev prepare phase in FDB ops Jiri Pirko <jiri@resnulli.us> - 2015-10-08 15:50 +0200
Re: [PATCH net-next 0/6] net: dsa: push switchdev prepare phase in FDB ops Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2015-10-08 16:20 +0200
| From | Vivien Didelot <vivien.didelot@savoirfairelinux.com> |
|---|---|
| Date | 2015-10-08 02:00 +0200 |
| Subject | [PATCH net-next 0/6] net: dsa: push switchdev prepare phase in FDB ops |
| Message-ID | <qh6D8-35B-7@gated-at.bofh.it> |
This patchset pushes the switchdev prepare phase for the FDB add and del
operations down to the DSA drivers. Currently only mv88e6xxx is affected.
Since the dump requires a bit of refactoring in the driver, it'll come in a
future patchset.
The first 3 patches removes the dsa.h include from linux/netdevice.h, which
broke the inclusion of switchdev.h in dsa.h.
The last 3 patches add port_fdb_prepare and change port_fdb_add and
port_fdb_del to use the switchdev FDB object structure.
To be more specific about the include dependency issue, here's a snippet of
what happens currently if you include switchdev.h in dsa.h:
[...]
include/net/switchdev.h:52:30: error: field ‘ppid’ has incomplete type
struct netdev_phys_item_id ppid; /* PORT_PARENT_ID */
^
include/net/switchdev.h:185:14: warning: ‘struct nlmsghdr’ declared inside parameter list [enabled by default]
struct nlmsghdr *nlh, u16 flags);
^
include/net/switchdev.h:195:7: warning: ‘struct ndmsg’ declared inside parameter list [enabled by default]
include/net/switchdev.h:198:7: warning: ‘struct nlattr’ declared inside parameter list [enabled by default]
u16 vid);
^
include/net/switchdev.h:201:15: warning: ‘struct netlink_callback’ declared inside parameter list [enabled by default]
struct net_device *filter_dev, int idx);
^
[...]
Removing the dsa.h include from linux/netdevice.h gets rid of these errors but
then the DSA code complains if you don't include it in dsa_priv.h:
[...]
net/dsa/slave.c: In function ‘dsa_slave_set_mac_address’:
net/dsa/slave.c:178:39: error: dereferencing pointer to incomplete type
struct net_device *master = p->parent->dst->master_netdev;
^
In file included from include/linux/list.h:8:0,
from net/dsa/slave.c:11:
net/dsa/slave.c: In function ‘dsa_bridge_check_vlan_range’:
net/dsa/slave.c:209:26: error: ‘DSA_MAX_PORTS’ undeclared (first use in this function)
DECLARE_BITMAP(members, DSA_MAX_PORTS);
^
net/dsa/slave.c:209:26: note: each undeclared identifier is reported only once for each function it appears in
DECLARE_BITMAP(members, DSA_MAX_PORTS);
^
include/linux/kernel.h:67:30: note: in definition of macro ‘DIV_ROUND_UP’
#define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d))
^
include/linux/types.h:10:21: note: in expansion of macro ‘BITS_TO_LONGS’
unsigned long name[BITS_TO_LONGS(bits)]
^
net/dsa/slave.c:209:2: note: in expansion of macro ‘DECLARE_BITMAP’
DECLARE_BITMAP(members, DSA_MAX_PORTS);
^
net/dsa/slave.c:1190:7: error: ‘DSA_TAG_PROTO_EDSA’ undeclared (first use in this function)
case DSA_TAG_PROTO_EDSA:
^
net/dsa/slave.c: In function ‘dsa_slave_get_iflink’:
net/dsa/slave.c:64:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
[...]
Thanks,
-v
Vivien Didelot (6):
net: dsa: add uses_hw_tag
net: dsa: include dsa.h in dsa_priv.h
net: remove dsa.h include from linux/netdevice.h
net: dsa: add port_fdb_prepare
net: dsa: push prepare phase in port_fdb_add
net: dsa: use switchdev obj in port_fdb_del
drivers/net/dsa/mv88e6171.c | 1 +
drivers/net/dsa/mv88e6352.c | 1 +
drivers/net/dsa/mv88e6xxx.c | 23 +++++++++++++++++------
drivers/net/dsa/mv88e6xxx.h | 8 ++++++--
include/linux/netdevice.h | 9 ++++++---
include/net/dsa.h | 14 +++++++-------
net/dsa/dsa.c | 1 +
net/dsa/dsa_priv.h | 1 +
net/dsa/slave.c | 11 +++++++----
9 files changed, 47 insertions(+), 22 deletions(-)
--
2.6.0
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Vivien Didelot <vivien.didelot@savoirfairelinux.com> |
|---|---|
| Date | 2015-10-08 02:00 +0200 |
| Subject | [PATCH net-next 4/6] net: dsa: add port_fdb_prepare |
| Message-ID | <qh6MO-3hq-11@gated-at.bofh.it> |
| In reply to | #1241867 |
Push the prepare phase for FDB operations down to the DSA drivers, with
a new port_fdb_prepare function. Currently only mv88e6xxx is affected.
Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
---
drivers/net/dsa/mv88e6171.c | 1 +
drivers/net/dsa/mv88e6352.c | 1 +
drivers/net/dsa/mv88e6xxx.c | 10 ++++++++++
drivers/net/dsa/mv88e6xxx.h | 3 +++
include/net/dsa.h | 4 ++++
net/dsa/slave.c | 7 +++++--
6 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/drivers/net/dsa/mv88e6171.c b/drivers/net/dsa/mv88e6171.c
index c95cfab..ca3330a 100644
--- a/drivers/net/dsa/mv88e6171.c
+++ b/drivers/net/dsa/mv88e6171.c
@@ -121,6 +121,7 @@ struct dsa_switch_driver mv88e6171_switch_driver = {
.port_vlan_add = mv88e6xxx_port_vlan_add,
.port_vlan_del = mv88e6xxx_port_vlan_del,
.vlan_getnext = mv88e6xxx_vlan_getnext,
+ .port_fdb_prepare = mv88e6xxx_port_fdb_prepare,
.port_fdb_add = mv88e6xxx_port_fdb_add,
.port_fdb_del = mv88e6xxx_port_fdb_del,
.port_fdb_getnext = mv88e6xxx_port_fdb_getnext,
diff --git a/drivers/net/dsa/mv88e6352.c b/drivers/net/dsa/mv88e6352.c
index 3736706..078a358 100644
--- a/drivers/net/dsa/mv88e6352.c
+++ b/drivers/net/dsa/mv88e6352.c
@@ -348,6 +348,7 @@ struct dsa_switch_driver mv88e6352_switch_driver = {
.port_vlan_add = mv88e6xxx_port_vlan_add,
.port_vlan_del = mv88e6xxx_port_vlan_del,
.vlan_getnext = mv88e6xxx_vlan_getnext,
+ .port_fdb_prepare = mv88e6xxx_port_fdb_prepare,
.port_fdb_add = mv88e6xxx_port_fdb_add,
.port_fdb_del = mv88e6xxx_port_fdb_del,
.port_fdb_getnext = mv88e6xxx_port_fdb_getnext,
diff --git a/drivers/net/dsa/mv88e6xxx.c b/drivers/net/dsa/mv88e6xxx.c
index 6053d11..9fbb727 100644
--- a/drivers/net/dsa/mv88e6xxx.c
+++ b/drivers/net/dsa/mv88e6xxx.c
@@ -1841,6 +1841,16 @@ static int _mv88e6xxx_port_fdb_load(struct dsa_switch *ds, int port,
return _mv88e6xxx_atu_load(ds, &entry);
}
+int mv88e6xxx_port_fdb_prepare(struct dsa_switch *ds, int port,
+ const struct switchdev_obj_port_fdb *fdb,
+ struct switchdev_trans *trans)
+{
+ /* We don't need any dynamic resource from the kernel (yet),
+ * so skip the prepare phase.
+ */
+ return 0;
+}
+
int mv88e6xxx_port_fdb_add(struct dsa_switch *ds, int port,
const unsigned char *addr, u16 vid)
{
diff --git a/drivers/net/dsa/mv88e6xxx.h b/drivers/net/dsa/mv88e6xxx.h
index 39b261f..4475640 100644
--- a/drivers/net/dsa/mv88e6xxx.h
+++ b/drivers/net/dsa/mv88e6xxx.h
@@ -479,6 +479,9 @@ int mv88e6xxx_port_vlan_add(struct dsa_switch *ds, int port, u16 vid,
int mv88e6xxx_port_vlan_del(struct dsa_switch *ds, int port, u16 vid);
int mv88e6xxx_vlan_getnext(struct dsa_switch *ds, u16 *vid,
unsigned long *ports, unsigned long *untagged);
+int mv88e6xxx_port_fdb_prepare(struct dsa_switch *ds, int port,
+ const struct switchdev_obj_port_fdb *fdb,
+ struct switchdev_trans *trans);
int mv88e6xxx_port_fdb_add(struct dsa_switch *ds, int port,
const unsigned char *addr, u16 vid);
int mv88e6xxx_port_fdb_del(struct dsa_switch *ds, int port,
diff --git a/include/net/dsa.h b/include/net/dsa.h
index 3e9eb6c..3aee8a5 100644
--- a/include/net/dsa.h
+++ b/include/net/dsa.h
@@ -19,6 +19,7 @@
#include <linux/phy.h>
#include <linux/phy_fixed.h>
#include <linux/ethtool.h>
+#include <net/switchdev.h>
enum dsa_tag_protocol {
DSA_TAG_PROTO_NONE = 0,
@@ -316,6 +317,9 @@ struct dsa_switch_driver {
/*
* Forwarding database
*/
+ int (*port_fdb_prepare)(struct dsa_switch *ds, int port,
+ const struct switchdev_obj_port_fdb *fdb,
+ struct switchdev_trans *trans);
int (*port_fdb_add)(struct dsa_switch *ds, int port,
const unsigned char *addr, u16 vid);
int (*port_fdb_del)(struct dsa_switch *ds, int port,
diff --git a/net/dsa/slave.c b/net/dsa/slave.c
index 4f607bc..48e8c15 100644
--- a/net/dsa/slave.c
+++ b/net/dsa/slave.c
@@ -346,10 +346,13 @@ static int dsa_slave_port_fdb_add(struct net_device *dev,
{
struct dsa_slave_priv *p = netdev_priv(dev);
struct dsa_switch *ds = p->parent;
- int ret = -EOPNOTSUPP;
+ int ret;
+
+ if (!ds->drv->port_fdb_prepare || !ds->drv->port_fdb_add)
+ return -EOPNOTSUPP;
if (switchdev_trans_ph_prepare(trans))
- ret = ds->drv->port_fdb_add ? 0 : -EOPNOTSUPP;
+ ret = ds->drv->port_fdb_prepare(ds, p->port, fdb, trans);
else
ret = ds->drv->port_fdb_add(ds, p->port, fdb->addr, fdb->vid);
--
2.6.0
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Andrew Lunn <andrew@lunn.ch> |
|---|---|
| Date | 2015-10-08 02:30 +0200 |
| Subject | Re: [PATCH net-next 4/6] net: dsa: add port_fdb_prepare |
| Message-ID | <qh7fP-43J-3@gated-at.bofh.it> |
| In reply to | #1241868 |
On Wed, Oct 07, 2015 at 07:48:29PM -0400, Vivien Didelot wrote:
> Push the prepare phase for FDB operations down to the DSA drivers, with
> a new port_fdb_prepare function. Currently only mv88e6xxx is affected.
>
> Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
> ---
> drivers/net/dsa/mv88e6171.c | 1 +
> drivers/net/dsa/mv88e6352.c | 1 +
> drivers/net/dsa/mv88e6xxx.c | 10 ++++++++++
> drivers/net/dsa/mv88e6xxx.h | 3 +++
> include/net/dsa.h | 4 ++++
> net/dsa/slave.c | 7 +++++--
> 6 files changed, 24 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/dsa/mv88e6171.c b/drivers/net/dsa/mv88e6171.c
> index c95cfab..ca3330a 100644
> --- a/drivers/net/dsa/mv88e6171.c
> +++ b/drivers/net/dsa/mv88e6171.c
> @@ -121,6 +121,7 @@ struct dsa_switch_driver mv88e6171_switch_driver = {
> .port_vlan_add = mv88e6xxx_port_vlan_add,
> .port_vlan_del = mv88e6xxx_port_vlan_del,
> .vlan_getnext = mv88e6xxx_vlan_getnext,
> + .port_fdb_prepare = mv88e6xxx_port_fdb_prepare,
Hi Vivien
Bike shedding a bit, but i would call this
mv88e6xxx_port_fdb_prepare_add.
> .port_fdb_add = mv88e6xxx_port_fdb_add,
> .port_fdb_del = mv88e6xxx_port_fdb_del,
> .port_fdb_getnext = mv88e6xxx_port_fdb_getnext,
Taking a theoretical example, say mv88e6xxx_port_fdb_getnext needed a
prepare call to allocate memory to put the returned ATU into. What
would you call that?
mv88e6xxx_port_fdb_prepare_add and mv88e6xxx_port_fdb_prepare_getnext
just seems unambiguous and future proof.
Andrew
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Vivien Didelot <vivien.didelot@savoirfairelinux.com> |
|---|---|
| Date | 2015-10-08 15:10 +0200 |
| Subject | Re: [PATCH net-next 4/6] net: dsa: add port_fdb_prepare |
| Message-ID | <qhj7k-4pv-7@gated-at.bofh.it> |
| In reply to | #1241888 |
Hi Andrew,
On Oct. Thursday 08 (41) 02:25 AM, Andrew Lunn wrote:
> On Wed, Oct 07, 2015 at 07:48:29PM -0400, Vivien Didelot wrote:
> > Push the prepare phase for FDB operations down to the DSA drivers, with
> > a new port_fdb_prepare function. Currently only mv88e6xxx is affected.
> >
> > Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
> > ---
> > drivers/net/dsa/mv88e6171.c | 1 +
> > drivers/net/dsa/mv88e6352.c | 1 +
> > drivers/net/dsa/mv88e6xxx.c | 10 ++++++++++
> > drivers/net/dsa/mv88e6xxx.h | 3 +++
> > include/net/dsa.h | 4 ++++
> > net/dsa/slave.c | 7 +++++--
> > 6 files changed, 24 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/net/dsa/mv88e6171.c b/drivers/net/dsa/mv88e6171.c
> > index c95cfab..ca3330a 100644
> > --- a/drivers/net/dsa/mv88e6171.c
> > +++ b/drivers/net/dsa/mv88e6171.c
> > @@ -121,6 +121,7 @@ struct dsa_switch_driver mv88e6171_switch_driver = {
> > .port_vlan_add = mv88e6xxx_port_vlan_add,
> > .port_vlan_del = mv88e6xxx_port_vlan_del,
> > .vlan_getnext = mv88e6xxx_vlan_getnext,
> > + .port_fdb_prepare = mv88e6xxx_port_fdb_prepare,
>
> Hi Vivien
>
> Bike shedding a bit, but i would call this
> mv88e6xxx_port_fdb_prepare_add.
I think port_fdb_prepare is fine because it is the only step that
actually needs the 2-phase model. del and dump are safe and don't need
pre-check.
> > .port_fdb_add = mv88e6xxx_port_fdb_add,
> > .port_fdb_del = mv88e6xxx_port_fdb_del,
> > .port_fdb_getnext = mv88e6xxx_port_fdb_getnext,
>
> Taking a theoretical example, say mv88e6xxx_port_fdb_getnext needed a
> prepare call to allocate memory to put the returned ATU into. What
> would you call that?
>
> mv88e6xxx_port_fdb_prepare_add and mv88e6xxx_port_fdb_prepare_getnext
> just seems unambiguous and future proof.
the switchdev dump operation is called just once, so no preparation is
implied (from the switchdev point of view). It is the responsability of
the driver to call the switchdev dump callback itself.
Thanks,
-v
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Andrew Lunn <andrew@lunn.ch> |
|---|---|
| Date | 2015-10-08 17:10 +0200 |
| Subject | Re: [PATCH net-next 4/6] net: dsa: add port_fdb_prepare |
| Message-ID | <qhkZs-76Q-21@gated-at.bofh.it> |
| In reply to | #1242324 |
> > Hi Vivien
> >
> > Bike shedding a bit, but i would call this
> > mv88e6xxx_port_fdb_prepare_add.
>
> I think port_fdb_prepare is fine because it is the only step that
> actually needs the 2-phase model. del and dump are safe and don't need
> pre-check.
O.K. I don't have a strong opinion, i just think sometime later we
might run into a naming consistency issue. If this does happen, we can
fix it then.
Andrew
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Scott Feldman <sfeldma@gmail.com> |
|---|---|
| Date | 2015-10-08 08:20 +0200 |
| Subject | Re: [PATCH net-next 4/6] net: dsa: add port_fdb_prepare |
| Message-ID | <qhcIy-3xD-7@gated-at.bofh.it> |
| In reply to | #1241868 |
On Wed, Oct 7, 2015 at 4:48 PM, Vivien Didelot <vivien.didelot@savoirfairelinux.com> wrote: > Push the prepare phase for FDB operations down to the DSA drivers, with > a new port_fdb_prepare function. Currently only mv88e6xxx is affected. > > Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Reviewed-by: Scott Feldman <sfeldma@gmail.com> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Vivien Didelot <vivien.didelot@savoirfairelinux.com> |
|---|---|
| Date | 2015-10-08 02:00 +0200 |
| Subject | [PATCH net-next 3/6] net: remove dsa.h include from linux/netdevice.h |
| Message-ID | <qh6MO-3hq-13@gated-at.bofh.it> |
| In reply to | #1241867 |
Forward declare struct dsa_switch_tree in netdevice.h instead of including the dsa.h header. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> --- include/linux/netdevice.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 73f0510..d0bcabb 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -41,7 +41,6 @@ #include <linux/ethtool.h> #include <net/net_namespace.h> -#include <net/dsa.h> #ifdef CONFIG_DCB #include <net/dcbnl.h> #endif @@ -60,6 +59,8 @@ struct wireless_dev; /* 802.15.4 specific */ struct wpan_dev; struct mpls_dev; +/* DSA specific */ +struct dsa_switch_tree; void netdev_set_default_ethtool_ops(struct net_device *dev, const struct ethtool_ops *ops); -- 2.6.0 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Jiri Pirko <jiri@resnulli.us> |
|---|---|
| Date | 2015-10-08 11:20 +0200 |
| Subject | Re: [PATCH net-next 3/6] net: remove dsa.h include from linux/netdevice.h |
| Message-ID | <qhfwK-7zW-19@gated-at.bofh.it> |
| In reply to | #1241870 |
Thu, Oct 08, 2015 at 11:04:48AM CEST, lkp@intel.com wrote:
>Hi Vivien,
>
>[auto build test ERROR on net-next/master -- if it's inappropriate base, please ignore]
>
>config: arm64-allyesconfig (attached as .config)
>reproduce:
> wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # save the attached .config to linux build tree
> make.cross ARCH=arm64
>
>All errors (new ones prefixed by >>):
>
> In file included from drivers/net/ethernet/hisilicon/hns/hnae.c:15:0:
>>> drivers/net/ethernet/hisilicon/hns/hnae.h:465:2: error: unknown type name 'phy_interface_t'
> phy_interface_t phy_if;
> ^
>
>vim +/phy_interface_t +465 drivers/net/ethernet/hisilicon/hns/hnae.h
Looks like hnae.c needs to do "#include <linux/phy.h>" directly.
Cc'ing maintainer.
>
>6fe6611f huangdaode 2015-09-17 449 struct hnae_ae_dev {
>6fe6611f huangdaode 2015-09-17 450 struct device cls_dev; /* the class dev */
>6fe6611f huangdaode 2015-09-17 451 struct device *dev; /* the presented dev */
>6fe6611f huangdaode 2015-09-17 452 struct hnae_ae_ops *ops;
>6fe6611f huangdaode 2015-09-17 453 struct list_head node;
>6fe6611f huangdaode 2015-09-17 454 struct module *owner; /* the module who provides this dev */
>6fe6611f huangdaode 2015-09-17 455 int id;
>6fe6611f huangdaode 2015-09-17 456 char name[AE_NAME_SIZE];
>6fe6611f huangdaode 2015-09-17 457 struct list_head handle_list;
>6fe6611f huangdaode 2015-09-17 458 spinlock_t lock; /* lock to protect the handle_list */
>6fe6611f huangdaode 2015-09-17 459 };
>6fe6611f huangdaode 2015-09-17 460
>6fe6611f huangdaode 2015-09-17 461 struct hnae_handle {
>6fe6611f huangdaode 2015-09-17 462 struct device *owner_dev; /* the device which make use of this handle */
>6fe6611f huangdaode 2015-09-17 463 struct hnae_ae_dev *dev; /* the device who provides this handle */
>6fe6611f huangdaode 2015-09-17 464 struct device_node *phy_node;
>6fe6611f huangdaode 2015-09-17 @465 phy_interface_t phy_if;
>6fe6611f huangdaode 2015-09-17 466 u32 if_support;
>6fe6611f huangdaode 2015-09-17 467 int q_num;
>6fe6611f huangdaode 2015-09-17 468 int vf_id;
>6fe6611f huangdaode 2015-09-17 469 u32 eport_id;
>6fe6611f huangdaode 2015-09-17 470 enum hnae_port_type port_type;
>6fe6611f huangdaode 2015-09-17 471 struct list_head node; /* list to hnae_ae_dev->handle_list */
>6fe6611f huangdaode 2015-09-17 472 struct hnae_buf_ops *bops; /* operation for the buffer */
>6fe6611f huangdaode 2015-09-17 473 struct hnae_queue **qs; /* array base of all queues */
>
>:::::: The code at line 465 was first introduced by commit
>:::::: 6fe6611ff275522a4e4c0359e2f46cdd07780d2f net: add Hisilicon Network Subsystem hnae framework support
>
>:::::: TO: huangdaode <huangdaode@hisilicon.com>
>:::::: CC: David S. Miller <davem@davemloft.net>
>
>---
>0-DAY kernel test infrastructure Open Source Technology Center
>https://lists.01.org/pipermail/kbuild-all Intel Corporation
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Wei Xu <xuwei5@hisilicon.com> |
|---|---|
| Date | 2015-10-08 12:40 +0200 |
| Subject | Re: [PATCH net-next 3/6] net: remove dsa.h include from linux/netdevice.h |
| Message-ID | <qhgMa-QO-9@gated-at.bofh.it> |
| In reply to | #1242106 |
On 10/8/2015 10:18 AM, Jiri Pirko wrote:
> Thu, Oct 08, 2015 at 11:04:48AM CEST, lkp@intel.com wrote:
>> Hi Vivien,
>>
>> [auto build test ERROR on net-next/master -- if it's inappropriate base, please ignore]
>>
>> config: arm64-allyesconfig (attached as .config)
>> reproduce:
>> wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
>> chmod +x ~/bin/make.cross
>> # save the attached .config to linux build tree
>> make.cross ARCH=arm64
>>
>> All errors (new ones prefixed by >>):
>>
>> In file included from drivers/net/ethernet/hisilicon/hns/hnae.c:15:0:
>>>> drivers/net/ethernet/hisilicon/hns/hnae.h:465:2: error: unknown type name 'phy_interface_t'
>> phy_interface_t phy_if;
>> ^
>>
>> vim +/phy_interface_t +465 drivers/net/ethernet/hisilicon/hns/hnae.h
>
>
Hi Jiri,
> Looks like hnae.c needs to do "#include <linux/phy.h>" directly.
> Cc'ing maintainer.
>
Thanks!
We will send the fix patch soon.
Best Regards,
Wei
>
>>
>> 6fe6611f huangdaode 2015-09-17 449 struct hnae_ae_dev {
>> 6fe6611f huangdaode 2015-09-17 450 struct device cls_dev; /* the class dev */
>> 6fe6611f huangdaode 2015-09-17 451 struct device *dev; /* the presented dev */
>> 6fe6611f huangdaode 2015-09-17 452 struct hnae_ae_ops *ops;
>> 6fe6611f huangdaode 2015-09-17 453 struct list_head node;
>> 6fe6611f huangdaode 2015-09-17 454 struct module *owner; /* the module who provides this dev */
>> 6fe6611f huangdaode 2015-09-17 455 int id;
>> 6fe6611f huangdaode 2015-09-17 456 char name[AE_NAME_SIZE];
>> 6fe6611f huangdaode 2015-09-17 457 struct list_head handle_list;
>> 6fe6611f huangdaode 2015-09-17 458 spinlock_t lock; /* lock to protect the handle_list */
>> 6fe6611f huangdaode 2015-09-17 459 };
>> 6fe6611f huangdaode 2015-09-17 460
>> 6fe6611f huangdaode 2015-09-17 461 struct hnae_handle {
>> 6fe6611f huangdaode 2015-09-17 462 struct device *owner_dev; /* the device which make use of this handle */
>> 6fe6611f huangdaode 2015-09-17 463 struct hnae_ae_dev *dev; /* the device who provides this handle */
>> 6fe6611f huangdaode 2015-09-17 464 struct device_node *phy_node;
>> 6fe6611f huangdaode 2015-09-17 @465 phy_interface_t phy_if;
>> 6fe6611f huangdaode 2015-09-17 466 u32 if_support;
>> 6fe6611f huangdaode 2015-09-17 467 int q_num;
>> 6fe6611f huangdaode 2015-09-17 468 int vf_id;
>> 6fe6611f huangdaode 2015-09-17 469 u32 eport_id;
>> 6fe6611f huangdaode 2015-09-17 470 enum hnae_port_type port_type;
>> 6fe6611f huangdaode 2015-09-17 471 struct list_head node; /* list to hnae_ae_dev->handle_list */
>> 6fe6611f huangdaode 2015-09-17 472 struct hnae_buf_ops *bops; /* operation for the buffer */
>> 6fe6611f huangdaode 2015-09-17 473 struct hnae_queue **qs; /* array base of all queues */
>>
>> :::::: The code at line 465 was first introduced by commit
>> :::::: 6fe6611ff275522a4e4c0359e2f46cdd07780d2f net: add Hisilicon Network Subsystem hnae framework support
>>
>> :::::: TO: huangdaode <huangdaode@hisilicon.com>
>> :::::: CC: David S. Miller <davem@davemloft.net>
>>
>> ---
>> 0-DAY kernel test infrastructure Open Source Technology Center
>> https://lists.01.org/pipermail/kbuild-all Intel Corporation
>
>
>
> .
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Jiri Pirko <jiri@resnulli.us> |
|---|---|
| Date | 2015-10-08 14:20 +0200 |
| Subject | Re: [PATCH net-next 3/6] net: remove dsa.h include from linux/netdevice.h |
| Message-ID | <qhikW-3cc-19@gated-at.bofh.it> |
| In reply to | #1242106 |
Thu, Oct 08, 2015 at 02:11:11PM CEST, huangdaode@hisilicon.com wrote:
>On 2015/10/8 17:18, Jiri Pirko wrote:
>>Thu, Oct 08, 2015 at 11:04:48AM CEST, lkp@intel.com wrote:
>>>Hi Vivien,
>>>
>>>[auto build test ERROR on net-next/master -- if it's inappropriate base, please ignore]
>>>
>>>config: arm64-allyesconfig (attached as .config)
>>>reproduce:
>>> wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
>>> chmod +x ~/bin/make.cross
>>> # save the attached .config to linux build tree
>>> make.cross ARCH=arm64
>>>
>>>All errors (new ones prefixed by >>):
>>>
>>> In file included from drivers/net/ethernet/hisilicon/hns/hnae.c:15:0:
>>>>>drivers/net/ethernet/hisilicon/hns/hnae.h:465:2: error: unknown type name 'phy_interface_t'
>>> phy_interface_t phy_if;
>>> ^
>>>
>>>vim +/phy_interface_t +465 drivers/net/ethernet/hisilicon/hns/hnae.h
>>
>>Looks like hnae.c needs to do "#include <linux/phy.h>" directly.
>>Cc'ing maintainer.
>>
>>
>>>6fe6611f huangdaode 2015-09-17 449 struct hnae_ae_dev {
>>>6fe6611f huangdaode 2015-09-17 450 struct device cls_dev; /* the class dev */
>>>6fe6611f huangdaode 2015-09-17 451 struct device *dev; /* the presented dev */
>>>6fe6611f huangdaode 2015-09-17 452 struct hnae_ae_ops *ops;
>>>6fe6611f huangdaode 2015-09-17 453 struct list_head node;
>>>6fe6611f huangdaode 2015-09-17 454 struct module *owner; /* the module who provides this dev */
>>>6fe6611f huangdaode 2015-09-17 455 int id;
>>>6fe6611f huangdaode 2015-09-17 456 char name[AE_NAME_SIZE];
>>>6fe6611f huangdaode 2015-09-17 457 struct list_head handle_list;
>>>6fe6611f huangdaode 2015-09-17 458 spinlock_t lock; /* lock to protect the handle_list */
>>>6fe6611f huangdaode 2015-09-17 459 };
>>>6fe6611f huangdaode 2015-09-17 460
>>>6fe6611f huangdaode 2015-09-17 461 struct hnae_handle {
>>>6fe6611f huangdaode 2015-09-17 462 struct device *owner_dev; /* the device which make use of this handle */
>>>6fe6611f huangdaode 2015-09-17 463 struct hnae_ae_dev *dev; /* the device who provides this handle */
>>>6fe6611f huangdaode 2015-09-17 464 struct device_node *phy_node;
>>>6fe6611f huangdaode 2015-09-17 @465 phy_interface_t phy_if;
>>>6fe6611f huangdaode 2015-09-17 466 u32 if_support;
>>>6fe6611f huangdaode 2015-09-17 467 int q_num;
>>>6fe6611f huangdaode 2015-09-17 468 int vf_id;
>>>6fe6611f huangdaode 2015-09-17 469 u32 eport_id;
>>>6fe6611f huangdaode 2015-09-17 470 enum hnae_port_type port_type;
>>>6fe6611f huangdaode 2015-09-17 471 struct list_head node; /* list to hnae_ae_dev->handle_list */
>>>6fe6611f huangdaode 2015-09-17 472 struct hnae_buf_ops *bops; /* operation for the buffer */
>>>6fe6611f huangdaode 2015-09-17 473 struct hnae_queue **qs; /* array base of all queues */
>>>
>>>:::::: The code at line 465 was first introduced by commit
>>>:::::: 6fe6611ff275522a4e4c0359e2f46cdd07780d2f net: add Hisilicon Network Subsystem hnae framework support
>>>
>>>:::::: TO: huangdaode <huangdaode@hisilicon.com>
>>>:::::: CC: David S. Miller <davem@davemloft.net>
>>>
>>>---
>>>0-DAY kernel test infrastructure Open Source Technology Center
>>>https://lists.01.org/pipermail/kbuild-all Intel Corporation
>>
>>--
>>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>>the body of a message to majordomo@vger.kernel.org
>>More majordomo info at http://vger.kernel.org/majordomo-info.html
>>Please read the FAQ at http://www.tux.org/lkml/
>>
>>.
>>
>Hi Jiri
>thanks for your information. i have compiled the latest net-next repo using
>your config file, but don't find the error you mentioned.
>the attachment is the build log and the config file.
>
>also, i used the following command to compile, but still fail to reproduce
>your issue.
>/ daode@Turing-Arch-b:~/work/net-next$ cat build.sh //
>// export ARCH=arm64 //
>// export CROSS_COMPILE=aarch64-linux-gnu-//
>// make allyesconfig//
>// make -j16 //
>////daode@Turing-Arch-b:~/work/net-next$ /
>
>so could you please help me to reproduce the issue.
The patch is not in tree. That does not change the fact that you should
include linux/phy.h directly. Please send the patch adding that. Thanks!
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | huangdaode <huangdaode@hisilicon.com> |
|---|---|
| Date | 2015-10-08 14:50 +0200 |
| Subject | Re: [PATCH net-next 3/6] net: remove dsa.h include from linux/netdevice.h |
| Message-ID | <qhiNY-3NW-5@gated-at.bofh.it> |
| In reply to | #1242291 |
On 2015/10/8 20:18, Jiri Pirko wrote:
> Thu, Oct 08, 2015 at 02:11:11PM CEST, huangdaode@hisilicon.com wrote:
>> On 2015/10/8 17:18, Jiri Pirko wrote:
>>> Thu, Oct 08, 2015 at 11:04:48AM CEST, lkp@intel.com wrote:
>>>> Hi Vivien,
>>>>
>>>> [auto build test ERROR on net-next/master -- if it's inappropriate base, please ignore]
>>>>
>>>> config: arm64-allyesconfig (attached as .config)
>>>> reproduce:
>>>> wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
>>>> chmod +x ~/bin/make.cross
>>>> # save the attached .config to linux build tree
>>>> make.cross ARCH=arm64
>>>>
>>>> All errors (new ones prefixed by >>):
>>>>
>>>> In file included from drivers/net/ethernet/hisilicon/hns/hnae.c:15:0:
>>>>>> drivers/net/ethernet/hisilicon/hns/hnae.h:465:2: error: unknown type name 'phy_interface_t'
>>>> phy_interface_t phy_if;
>>>> ^
>>>>
>>>> vim +/phy_interface_t +465 drivers/net/ethernet/hisilicon/hns/hnae.h
>>> Looks like hnae.c needs to do "#include <linux/phy.h>" directly.
>>> Cc'ing maintainer.
>>>
>>>
>>>> 6fe6611f huangdaode 2015-09-17 449 struct hnae_ae_dev {
>>>> 6fe6611f huangdaode 2015-09-17 450 struct device cls_dev; /* the class dev */
>>>> 6fe6611f huangdaode 2015-09-17 451 struct device *dev; /* the presented dev */
>>>> 6fe6611f huangdaode 2015-09-17 452 struct hnae_ae_ops *ops;
>>>> 6fe6611f huangdaode 2015-09-17 453 struct list_head node;
>>>> 6fe6611f huangdaode 2015-09-17 454 struct module *owner; /* the module who provides this dev */
>>>> 6fe6611f huangdaode 2015-09-17 455 int id;
>>>> 6fe6611f huangdaode 2015-09-17 456 char name[AE_NAME_SIZE];
>>>> 6fe6611f huangdaode 2015-09-17 457 struct list_head handle_list;
>>>> 6fe6611f huangdaode 2015-09-17 458 spinlock_t lock; /* lock to protect the handle_list */
>>>> 6fe6611f huangdaode 2015-09-17 459 };
>>>> 6fe6611f huangdaode 2015-09-17 460
>>>> 6fe6611f huangdaode 2015-09-17 461 struct hnae_handle {
>>>> 6fe6611f huangdaode 2015-09-17 462 struct device *owner_dev; /* the device which make use of this handle */
>>>> 6fe6611f huangdaode 2015-09-17 463 struct hnae_ae_dev *dev; /* the device who provides this handle */
>>>> 6fe6611f huangdaode 2015-09-17 464 struct device_node *phy_node;
>>>> 6fe6611f huangdaode 2015-09-17 @465 phy_interface_t phy_if;
>>>> 6fe6611f huangdaode 2015-09-17 466 u32 if_support;
>>>> 6fe6611f huangdaode 2015-09-17 467 int q_num;
>>>> 6fe6611f huangdaode 2015-09-17 468 int vf_id;
>>>> 6fe6611f huangdaode 2015-09-17 469 u32 eport_id;
>>>> 6fe6611f huangdaode 2015-09-17 470 enum hnae_port_type port_type;
>>>> 6fe6611f huangdaode 2015-09-17 471 struct list_head node; /* list to hnae_ae_dev->handle_list */
>>>> 6fe6611f huangdaode 2015-09-17 472 struct hnae_buf_ops *bops; /* operation for the buffer */
>>>> 6fe6611f huangdaode 2015-09-17 473 struct hnae_queue **qs; /* array base of all queues */
>>>>
>>>> :::::: The code at line 465 was first introduced by commit
>>>> :::::: 6fe6611ff275522a4e4c0359e2f46cdd07780d2f net: add Hisilicon Network Subsystem hnae framework support
>>>>
>>>> :::::: TO: huangdaode <huangdaode@hisilicon.com>
>>>> :::::: CC: David S. Miller <davem@davemloft.net>
>>>>
>>>> ---
>>>> 0-DAY kernel test infrastructure Open Source Technology Center
>>>> https://lists.01.org/pipermail/kbuild-all Intel Corporation
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>> Please read the FAQ at http://www.tux.org/lkml/
>>>
>>> .
>>>
>> Hi Jiri
>> thanks for your information. i have compiled the latest net-next repo using
>> your config file, but don't find the error you mentioned.
>> the attachment is the build log and the config file.
>>
>> also, i used the following command to compile, but still fail to reproduce
>> your issue.
>> / daode@Turing-Arch-b:~/work/net-next$ cat build.sh //
>> // export ARCH=arm64 //
>> // export CROSS_COMPILE=aarch64-linux-gnu-//
>> // make allyesconfig//
>> // make -j16 //
>> ////daode@Turing-Arch-b:~/work/net-next$ /
>>
>> so could you please help me to reproduce the issue.
> The patch is not in tree. That does not change the fact that you should
> include linux/phy.h directly. Please send the patch adding that. Thanks!
>
>
>
> .
>
ok,
thanks!
--
Best Regards
Daode Huang
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | David Miller <davem@davemloft.net> |
|---|---|
| Date | 2015-10-08 14:20 +0200 |
| Subject | Re: [PATCH net-next 0/6] net: dsa: push switchdev prepare phase in FDB ops |
| Message-ID | <qhikW-3cc-25@gated-at.bofh.it> |
| In reply to | #1241867 |
From: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Date: Wed, 7 Oct 2015 19:48:25 -0400 > The first 3 patches removes the dsa.h include from linux/netdevice.h, which > broke the inclusion of switchdev.h in dsa.h. I still don't agree with bloating up struct netdevice just to deal with an include file ordering issue, sorry. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Vivien Didelot <vivien.didelot@savoirfairelinux.com> |
|---|---|
| Date | 2015-10-08 15:40 +0200 |
| Subject | Re: [PATCH net-next 0/6] net: dsa: push switchdev prepare phase in FDB ops |
| Message-ID | <qhjAn-4X0-43@gated-at.bofh.it> |
| In reply to | #1242294 |
Hi David, On Oct. Thursday 08 (41) 05:28 AM, David Miller wrote: > From: Vivien Didelot <vivien.didelot@savoirfairelinux.com> > Date: Wed, 7 Oct 2015 19:48:25 -0400 > > > The first 3 patches removes the dsa.h include from linux/netdevice.h, which > > broke the inclusion of switchdev.h in dsa.h. > > I still don't agree with bloating up struct netdevice just to deal with > an include file ordering issue, sorry. Yes, I just saw your reply on the first version. I will resend the patchset with the forward declarations instead. But looking at the issue that Jiri and the kbuild bot pointed out earlier in the thread, we must agree that having the DSA header in netdevice.h is wrong. There are 2 points to note here: * checking a "rcv" member of a DSA-specific structure to anwser the question "does this interface uses hardware-inserted tag?" is not generic and not robust at all. * the "dsa_ptr" of net_device is just used to access the dsa_switch_tree from DSA packet_type receive functions. There must be another way to pass it, maybe from a netdev_priv or the packet_type->af_packet_priv? Thanks, -v -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Jiri Pirko <jiri@resnulli.us> |
|---|---|
| Date | 2015-10-08 15:50 +0200 |
| Subject | Re: [PATCH net-next 0/6] net: dsa: push switchdev prepare phase in FDB ops |
| Message-ID | <qhjK2-58q-5@gated-at.bofh.it> |
| In reply to | #1242365 |
Thu, Oct 08, 2015 at 03:32:51PM CEST, vivien.didelot@savoirfairelinux.com wrote: >Hi David, > >On Oct. Thursday 08 (41) 05:28 AM, David Miller wrote: >> From: Vivien Didelot <vivien.didelot@savoirfairelinux.com> >> Date: Wed, 7 Oct 2015 19:48:25 -0400 >> >> > The first 3 patches removes the dsa.h include from linux/netdevice.h, which >> > broke the inclusion of switchdev.h in dsa.h. >> >> I still don't agree with bloating up struct netdevice just to deal with >> an include file ordering issue, sorry. > >Yes, I just saw your reply on the first version. I will resend the >patchset with the forward declarations instead. > >But looking at the issue that Jiri and the kbuild bot pointed out >earlier in the thread, we must agree that having the DSA header in >netdevice.h is wrong. > >There are 2 points to note here: > >* checking a "rcv" member of a DSA-specific structure to anwser the > question "does this interface uses hardware-inserted tag?" is not > generic and not robust at all. > >* the "dsa_ptr" of net_device is just used to access the dsa_switch_tree > from DSA packet_type receive functions. There must be another way to > pass it, maybe from a netdev_priv or the packet_type->af_packet_priv? I sent previously patch for this: http://patchwork.ozlabs.org/patch/336940/ So now my patch would have another user :) Vivien, I will refresh the patch and send it to you, the you can use the priv by dsa and send my patch along with your patchset. How does that sound? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Vivien Didelot <vivien.didelot@savoirfairelinux.com> |
|---|---|
| Date | 2015-10-08 16:20 +0200 |
| Subject | Re: [PATCH net-next 0/6] net: dsa: push switchdev prepare phase in FDB ops |
| Message-ID | <qhkd3-5VC-5@gated-at.bofh.it> |
| In reply to | #1242370 |
Hi Jiri, David, On Oct. Thursday 08 (41) 03:47 PM, Jiri Pirko wrote: > Thu, Oct 08, 2015 at 03:32:51PM CEST, vivien.didelot@savoirfairelinux.com wrote: > >Hi David, > > > >On Oct. Thursday 08 (41) 05:28 AM, David Miller wrote: > >> From: Vivien Didelot <vivien.didelot@savoirfairelinux.com> > >> Date: Wed, 7 Oct 2015 19:48:25 -0400 > >> > >> > The first 3 patches removes the dsa.h include from linux/netdevice.h, which > >> > broke the inclusion of switchdev.h in dsa.h. > >> > >> I still don't agree with bloating up struct netdevice just to deal with > >> an include file ordering issue, sorry. > > > >Yes, I just saw your reply on the first version. I will resend the > >patchset with the forward declarations instead. > > > >But looking at the issue that Jiri and the kbuild bot pointed out > >earlier in the thread, we must agree that having the DSA header in > >netdevice.h is wrong. > > > >There are 2 points to note here: > > > >* checking a "rcv" member of a DSA-specific structure to anwser the > > question "does this interface uses hardware-inserted tag?" is not > > generic and not robust at all. > > > >* the "dsa_ptr" of net_device is just used to access the dsa_switch_tree > > from DSA packet_type receive functions. There must be another way to > > pass it, maybe from a netdev_priv or the packet_type->af_packet_priv? > > I sent previously patch for this: > http://patchwork.ozlabs.org/patch/336940/ > So now my patch would have another user :) Your patch makes sense. It will reduce the bloating of net_device that David is talking about. I would also suspect that other <protocol>_ptr members of the structure are only used in the context of packet_type. > Vivien, I will refresh the patch and send it to you, the you can > use the priv by dsa and send my patch along with your patchset. How does > that sound? Sure, sounds good. Thanks, -v -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web