]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/bridge/br_stp.c
bridge: call netdev_sw_port_stp_update when bridge port STP status changes
[karo-tx-linux.git] / net / bridge / br_stp.c
index 2b047bcf42a4eb1c450c0283af9bea2676052836..fb3ebe6155134b4532ad4c85b2fea2260f0d6140 100644 (file)
@@ -12,6 +12,7 @@
  */
 #include <linux/kernel.h>
 #include <linux/rculist.h>
+#include <net/switchdev.h>
 
 #include "br_private.h"
 #include "br_private_stp.h"
@@ -38,7 +39,13 @@ void br_log_state(const struct net_bridge_port *p)
 
 void br_set_state(struct net_bridge_port *p, unsigned int state)
 {
+       int err;
+
        p->state = state;
+       err = netdev_switch_port_stp_update(p->dev, state);
+       if (err && err != -EOPNOTSUPP)
+               br_warn(p->br, "error setting offload STP state on port %u(%s)\n",
+                               (unsigned int) p->port_no, p->dev->name);
 }
 
 /* called under bridge lock */