diff options
author | Florian Fainelli <f.fainelli@gmail.com> | 2014-08-27 17:04:52 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-08-27 22:59:40 -0700 |
commit | 5aed85cec29882d1c4b4b2a01cb75a99efdbe4ed (patch) | |
tree | c2a68a4275a8aefb66c4d1e359d76704c6894817 /include/net/dsa.h | |
parent | 0d8bcdd383b8865e752a7e8edb4712c2e3902052 (diff) |
net: dsa: allow switches to work without tagging
In case switch port tagging is disabled (voluntarily, or the switch just
does not support it), allow us to continue using the defined set of
dsa_device_ops in net/dsa/slave.c.
We introduce dsa_protocol_is_tagged() to check whether we need to
override skb->protocol and go through the DSA-specifif packet_type
function, or if we just go on and receive the SKB through the normal
path.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/dsa.h')
-rw-r--r-- | include/net/dsa.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/net/dsa.h b/include/net/dsa.h index dc357454ae3b..1035f6452d79 100644 --- a/include/net/dsa.h +++ b/include/net/dsa.h @@ -198,4 +198,9 @@ static inline void *ds_to_priv(struct dsa_switch *ds) return (void *)(ds + 1); } +static inline bool dsa_uses_tagged_protocol(struct dsa_switch_tree *dst) +{ + return dst->tag_protocol != 0; +} + #endif |