aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/dsa
diff options
context:
space:
mode:
authorVladimir Oltean <vladimir.oltean@nxp.com>2021-12-06 18:57:47 +0200
committerJakub Kicinski <kuba@kernel.org>2021-12-08 14:31:14 -0800
commit3f9bb0301d50ce27421eff4b710c2bbe58111a83 (patch)
tree91271bc43b14b643d9b82b08df871ee3d2e8da22 /include/linux/dsa
parentMerge branch 's390-net-updates-2021-12-06' (diff)
downloadwireguard-linux-3f9bb0301d50ce27421eff4b710c2bbe58111a83.tar.xz
wireguard-linux-3f9bb0301d50ce27421eff4b710c2bbe58111a83.zip
net: dsa: make dp->bridge_num one-based
I have seen too many bugs already due to the fact that we must encode an invalid dp->bridge_num as a negative value, because the natural tendency is to check that invalid value using (!dp->bridge_num). Latest example can be seen in commit 1bec0f05062c ("net: dsa: fix bridge_num not getting cleared after ports leaving the bridge"). Convert the existing users to assume that dp->bridge_num == 0 is the encoding for invalid, and valid bridge numbers start from 1. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Alvin Šipraga <alsi@bang-olufsen.dk> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/linux/dsa')
-rw-r--r--include/linux/dsa/8021q.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/include/linux/dsa/8021q.h b/include/linux/dsa/8021q.h
index 254b165f2b44..0af4371fbebb 100644
--- a/include/linux/dsa/8021q.h
+++ b/include/linux/dsa/8021q.h
@@ -38,13 +38,13 @@ void dsa_8021q_rcv(struct sk_buff *skb, int *source_port, int *switch_id);
int dsa_tag_8021q_bridge_tx_fwd_offload(struct dsa_switch *ds, int port,
struct net_device *br,
- int bridge_num);
+ unsigned int bridge_num);
void dsa_tag_8021q_bridge_tx_fwd_unoffload(struct dsa_switch *ds, int port,
struct net_device *br,
- int bridge_num);
+ unsigned int bridge_num);
-u16 dsa_8021q_bridge_tx_fwd_offload_vid(int bridge_num);
+u16 dsa_8021q_bridge_tx_fwd_offload_vid(unsigned int bridge_num);
u16 dsa_tag_8021q_tx_vid(const struct dsa_port *dp);