summaryrefslogtreecommitdiffstats
path: root/include/net/dsa.h
diff options
context:
space:
mode:
authorVladimir Oltean <olteanv@gmail.com>2019-04-28 14:45:49 -0400
committerDavid S. Miller <davem@davemloft.net>2019-04-30 23:05:29 -0400
commitcf2d45f5ba9a730df6ec190e0345cecde80b1d8b (patch)
treee36dc5253af934d1479e463c489d352d55180d3b /include/net/dsa.h
parent145746765f06a3dbc7869c81d0165b3ab96f935a (diff)
net: dsa: Add helper function to retrieve VLAN awareness setting
Since different types of hardware may or may not support this setting per-port, DSA keeps it either in dsa_switch or in dsa_port. While drivers may know the characteristics of their hardware and retrieve it from the correct place without the need of helpers, it is cumbersone to find out an unambigous answer from generic DSA code. Signed-off-by: Vladimir Oltean <olteanv@gmail.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/dsa.h')
-rw-r--r--include/net/dsa.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/net/dsa.h b/include/net/dsa.h
index 4e0f7e9c5aa1..1e6b4efc80b9 100644
--- a/include/net/dsa.h
+++ b/include/net/dsa.h
@@ -305,6 +305,16 @@ static inline unsigned int dsa_upstream_port(struct dsa_switch *ds, int port)
305 return dsa_towards_port(ds, cpu_dp->ds->index, cpu_dp->index); 305 return dsa_towards_port(ds, cpu_dp->ds->index, cpu_dp->index);
306} 306}
307 307
308static inline bool dsa_port_is_vlan_filtering(const struct dsa_port *dp)
309{
310 const struct dsa_switch *ds = dp->ds;
311
312 if (ds->vlan_filtering_is_global)
313 return ds->vlan_filtering;
314 else
315 return dp->vlan_filtering;
316}
317
308typedef int dsa_fdb_dump_cb_t(const unsigned char *addr, u16 vid, 318typedef int dsa_fdb_dump_cb_t(const unsigned char *addr, u16 vid,
309 bool is_static, void *data); 319 bool is_static, void *data);
310struct dsa_switch_ops { 320struct dsa_switch_ops {