]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - net/dsa/port.c
net: dsa: add support for bridge flags
[linux.git] / net / dsa / port.c
index 2d7e01b23572877423aabd002e7e74315e320882..6df29bddf37e8a5c67a2d00870169deef92f578b 100644 (file)
@@ -177,6 +177,23 @@ int dsa_port_ageing_time(struct dsa_port *dp, clock_t ageing_clock,
        return dsa_port_notify(dp, DSA_NOTIFIER_AGEING_TIME, &info);
 }
 
+int dsa_port_bridge_flags(const struct dsa_port *dp, unsigned long flags,
+                         struct switchdev_trans *trans)
+{
+       struct dsa_switch *ds = dp->ds;
+       int port = dp->index;
+       int err = 0;
+
+       if (switchdev_trans_ph_prepare(trans))
+               return 0;
+
+       if (ds->ops->port_egress_floods)
+               err = ds->ops->port_egress_floods(ds, port, flags & BR_FLOOD,
+                                                 flags & BR_MCAST_FLOOD);
+
+       return err;
+}
+
 int dsa_port_fdb_add(struct dsa_port *dp, const unsigned char *addr,
                     u16 vid)
 {