netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [Patch v3 net-next 0/3] Add support for mdb offload failure notification
@ 2025-04-04 21:29 Joseph Huang
  2025-04-04 21:29 ` [Patch v3 net-next 1/3] net: bridge: mcast: Add offload failed mdb flag Joseph Huang
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Joseph Huang @ 2025-04-04 21:29 UTC (permalink / raw)
  To: netdev
  Cc: Joseph Huang, Joseph Huang, Andrew Lunn, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Roopa Prabhu,
	Nikolay Aleksandrov, Simon Horman, linux-kernel, bridge

Currently the bridge does not provide real-time feedback to user space
on whether or not an attempt to offload an mdb entry was successful.

This patch set adds support to notify user space about failed offload
attempts, and is controlled by a new knob mdb_offload_fail_notification.

A break-down of the patches in the series:

Patch 1 adds offload failed flag to indicate that the offload attempt
has failed. The flag is reflected in netlink mdb entry flags.

Patch 2 adds the new bridge bool option mdb_offload_fail_notification.

Patch 3 notifies user space when the result is known, controlled by
mdb_offload_fail_notification setting.

Joseph Huang (3):
  net: bridge: mcast: Add offload failed mdb flag
  net: bridge: Add offload_fail_notification bopt
  net: bridge: mcast: Notify on mdb offload failure

 include/uapi/linux/if_bridge.h | 10 ++++++----
 net/bridge/br.c                |  5 +++++
 net/bridge/br_mdb.c            | 28 +++++++++++++++++++++++-----
 net/bridge/br_private.h        | 30 +++++++++++++++++++++++++-----
 net/bridge/br_switchdev.c      | 13 +++++++++----
 5 files changed, 68 insertions(+), 18 deletions(-)

---
v1: https://lore.kernel.org/netdev/20250318224255.143683-1-Joseph.Huang@garmin.com/
    iproute2 link:
    https://lore.kernel.org/netdev/20250318225026.145501-1-Joseph.Huang@garmin.com/
v2: https://lore.kernel.org/netdev/20250403234412.1531714-1-Joseph.Huang@garmin.com/
    iproute2 link:
    https://lore.kernel.org/netdev/20250403235452.1534269-1-Joseph.Huang@garmin.com/
    Add br_multicast_pg_set_offload_flags helper to set offload flags
    Change multi-valued option mdb_notify_on_flag_change to bool option
    mdb_offload_fail_notification
    Change _br_mdb_notify to __br_mdb_notify
    Drop all #ifdef CONFIG_NET_SWITCHDEV
    Add br_mdb_should_notify helper and reorganize code in
    br_switch_mdb_complete
v3: Patch 1/3 Do not set offload flags when switchdev returns -EOPNOTSUPP
-- 
2.49.0


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Patch v3 net-next 1/3] net: bridge: mcast: Add offload failed mdb flag
  2025-04-04 21:29 [Patch v3 net-next 0/3] Add support for mdb offload failure notification Joseph Huang
@ 2025-04-04 21:29 ` Joseph Huang
  2025-04-05  8:09   ` Nikolay Aleksandrov
  2025-04-04 21:29 ` [Patch v3 net-next 2/3] net: bridge: Add offload_fail_notification bopt Joseph Huang
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 10+ messages in thread
From: Joseph Huang @ 2025-04-04 21:29 UTC (permalink / raw)
  To: netdev
  Cc: Joseph Huang, Joseph Huang, Andrew Lunn, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Roopa Prabhu,
	Nikolay Aleksandrov, Simon Horman, linux-kernel, bridge

Add MDB_FLAGS_OFFLOAD_FAILED and MDB_PG_FLAGS_OFFLOAD_FAILED to indicate
that an attempt to offload the MDB entry to switchdev has failed.

Signed-off-by: Joseph Huang <Joseph.Huang@garmin.com>
---
 include/uapi/linux/if_bridge.h |  9 +++++----
 net/bridge/br_mdb.c            |  2 ++
 net/bridge/br_private.h        | 20 +++++++++++++++-----
 net/bridge/br_switchdev.c      |  9 +++++----
 4 files changed, 27 insertions(+), 13 deletions(-)

diff --git a/include/uapi/linux/if_bridge.h b/include/uapi/linux/if_bridge.h
index a5b743a2f775..f2a6de424f3f 100644
--- a/include/uapi/linux/if_bridge.h
+++ b/include/uapi/linux/if_bridge.h
@@ -699,10 +699,11 @@ struct br_mdb_entry {
 #define MDB_TEMPORARY 0
 #define MDB_PERMANENT 1
 	__u8 state;
-#define MDB_FLAGS_OFFLOAD	(1 << 0)
-#define MDB_FLAGS_FAST_LEAVE	(1 << 1)
-#define MDB_FLAGS_STAR_EXCL	(1 << 2)
-#define MDB_FLAGS_BLOCKED	(1 << 3)
+#define MDB_FLAGS_OFFLOAD		(1 << 0)
+#define MDB_FLAGS_FAST_LEAVE		(1 << 1)
+#define MDB_FLAGS_STAR_EXCL		(1 << 2)
+#define MDB_FLAGS_BLOCKED		(1 << 3)
+#define MDB_FLAGS_OFFLOAD_FAILED	(1 << 4)
 	__u8 flags;
 	__u16 vid;
 	struct {
diff --git a/net/bridge/br_mdb.c b/net/bridge/br_mdb.c
index 1a52a0bca086..0639691cd19b 100644
--- a/net/bridge/br_mdb.c
+++ b/net/bridge/br_mdb.c
@@ -144,6 +144,8 @@ static void __mdb_entry_fill_flags(struct br_mdb_entry *e, unsigned char flags)
 		e->flags |= MDB_FLAGS_STAR_EXCL;
 	if (flags & MDB_PG_FLAGS_BLOCKED)
 		e->flags |= MDB_FLAGS_BLOCKED;
+	if (flags & MDB_PG_FLAGS_OFFLOAD_FAILED)
+		e->flags |= MDB_FLAGS_OFFLOAD_FAILED;
 }
 
 static void __mdb_entry_to_br_ip(struct br_mdb_entry *entry, struct br_ip *ip,
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
index 1054b8a88edc..5f9d6075017e 100644
--- a/net/bridge/br_private.h
+++ b/net/bridge/br_private.h
@@ -306,11 +306,12 @@ struct net_bridge_fdb_flush_desc {
 	u16				vlan_id;
 };
 
-#define MDB_PG_FLAGS_PERMANENT	BIT(0)
-#define MDB_PG_FLAGS_OFFLOAD	BIT(1)
-#define MDB_PG_FLAGS_FAST_LEAVE	BIT(2)
-#define MDB_PG_FLAGS_STAR_EXCL	BIT(3)
-#define MDB_PG_FLAGS_BLOCKED	BIT(4)
+#define MDB_PG_FLAGS_PERMANENT		BIT(0)
+#define MDB_PG_FLAGS_OFFLOAD		BIT(1)
+#define MDB_PG_FLAGS_FAST_LEAVE		BIT(2)
+#define MDB_PG_FLAGS_STAR_EXCL		BIT(3)
+#define MDB_PG_FLAGS_BLOCKED		BIT(4)
+#define MDB_PG_FLAGS_OFFLOAD_FAILED	BIT(5)
 
 #define PG_SRC_ENT_LIMIT	32
 
@@ -1343,6 +1344,15 @@ br_multicast_ctx_matches_vlan_snooping(const struct net_bridge_mcast *brmctx)
 
 	return !!(vlan_snooping_enabled == br_multicast_ctx_is_vlan(brmctx));
 }
+
+static inline void
+br_multicast_set_pg_offload_flags(struct net_bridge_port_group *p,
+				  bool offloaded)
+{
+	p->flags &= ~(MDB_PG_FLAGS_OFFLOAD | MDB_PG_FLAGS_OFFLOAD_FAILED);
+	p->flags |= (offloaded ? MDB_PG_FLAGS_OFFLOAD :
+		MDB_PG_FLAGS_OFFLOAD_FAILED);
+}
 #else
 static inline int br_multicast_rcv(struct net_bridge_mcast **brmctx,
 				   struct net_bridge_mcast_port **pmctx,
diff --git a/net/bridge/br_switchdev.c b/net/bridge/br_switchdev.c
index 7b41ee8740cb..57e1863edf93 100644
--- a/net/bridge/br_switchdev.c
+++ b/net/bridge/br_switchdev.c
@@ -505,8 +505,8 @@ static void br_switchdev_mdb_complete(struct net_device *dev, int err, void *pri
 	struct net_bridge_port *port = data->port;
 	struct net_bridge *br = port->br;
 
-	if (err)
-		goto err;
+	if (err == -EOPNOTSUPP)
+		goto notsupp;
 
 	spin_lock_bh(&br->multicast_lock);
 	mp = br_mdb_ip_get(br, &data->ip);
@@ -516,11 +516,12 @@ static void br_switchdev_mdb_complete(struct net_device *dev, int err, void *pri
 	     pp = &p->next) {
 		if (p->key.port != port)
 			continue;
-		p->flags |= MDB_PG_FLAGS_OFFLOAD;
+
+		br_multicast_set_pg_offload_flags(p, !err);
 	}
 out:
 	spin_unlock_bh(&br->multicast_lock);
-err:
+notsupp:
 	kfree(priv);
 }
 
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [Patch v3 net-next 2/3] net: bridge: Add offload_fail_notification bopt
  2025-04-04 21:29 [Patch v3 net-next 0/3] Add support for mdb offload failure notification Joseph Huang
  2025-04-04 21:29 ` [Patch v3 net-next 1/3] net: bridge: mcast: Add offload failed mdb flag Joseph Huang
@ 2025-04-04 21:29 ` Joseph Huang
  2025-04-04 21:29 ` [Patch v3 net-next 3/3] net: bridge: mcast: Notify on mdb offload failure Joseph Huang
  2025-04-07 17:29 ` [Patch v3 net-next 0/3] Add support for mdb offload failure notification Jakub Kicinski
  3 siblings, 0 replies; 10+ messages in thread
From: Joseph Huang @ 2025-04-04 21:29 UTC (permalink / raw)
  To: netdev
  Cc: Joseph Huang, Joseph Huang, Nikolay Aleksandrov, Andrew Lunn,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Roopa Prabhu, Simon Horman, linux-kernel, bridge

Add BR_BOOLOPT_MDB_OFFLOAD_FAIL_NOTIFICATION bool option.

Signed-off-by: Joseph Huang <Joseph.Huang@garmin.com>
Acked-by: Nikolay Aleksandrov <razor@blackwall.org>

---
 include/uapi/linux/if_bridge.h | 1 +
 net/bridge/br.c                | 5 +++++
 net/bridge/br_private.h        | 1 +
 3 files changed, 7 insertions(+)

diff --git a/include/uapi/linux/if_bridge.h b/include/uapi/linux/if_bridge.h
index f2a6de424f3f..73876c0e2bba 100644
--- a/include/uapi/linux/if_bridge.h
+++ b/include/uapi/linux/if_bridge.h
@@ -831,6 +831,7 @@ enum br_boolopt_id {
 	BR_BOOLOPT_NO_LL_LEARN,
 	BR_BOOLOPT_MCAST_VLAN_SNOOPING,
 	BR_BOOLOPT_MST_ENABLE,
+	BR_BOOLOPT_MDB_OFFLOAD_FAIL_NOTIFICATION,
 	BR_BOOLOPT_MAX
 };
 
diff --git a/net/bridge/br.c b/net/bridge/br.c
index 183fcb362f9e..25dda554ca5b 100644
--- a/net/bridge/br.c
+++ b/net/bridge/br.c
@@ -284,6 +284,9 @@ int br_boolopt_toggle(struct net_bridge *br, enum br_boolopt_id opt, bool on,
 	case BR_BOOLOPT_MST_ENABLE:
 		err = br_mst_set_enabled(br, on, extack);
 		break;
+	case BR_BOOLOPT_MDB_OFFLOAD_FAIL_NOTIFICATION:
+		br_opt_toggle(br, BROPT_MDB_OFFLOAD_FAIL_NOTIFICATION, on);
+		break;
 	default:
 		/* shouldn't be called with unsupported options */
 		WARN_ON(1);
@@ -302,6 +305,8 @@ int br_boolopt_get(const struct net_bridge *br, enum br_boolopt_id opt)
 		return br_opt_get(br, BROPT_MCAST_VLAN_SNOOPING_ENABLED);
 	case BR_BOOLOPT_MST_ENABLE:
 		return br_opt_get(br, BROPT_MST_ENABLED);
+	case BR_BOOLOPT_MDB_OFFLOAD_FAIL_NOTIFICATION:
+		return br_opt_get(br, BROPT_MDB_OFFLOAD_FAIL_NOTIFICATION);
 	default:
 		/* shouldn't be called with unsupported options */
 		WARN_ON(1);
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
index 5f9d6075017e..02188b7ff8e6 100644
--- a/net/bridge/br_private.h
+++ b/net/bridge/br_private.h
@@ -484,6 +484,7 @@ enum net_bridge_opts {
 	BROPT_VLAN_BRIDGE_BINDING,
 	BROPT_MCAST_VLAN_SNOOPING_ENABLED,
 	BROPT_MST_ENABLED,
+	BROPT_MDB_OFFLOAD_FAIL_NOTIFICATION,
 };
 
 struct net_bridge {
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [Patch v3 net-next 3/3] net: bridge: mcast: Notify on mdb offload failure
  2025-04-04 21:29 [Patch v3 net-next 0/3] Add support for mdb offload failure notification Joseph Huang
  2025-04-04 21:29 ` [Patch v3 net-next 1/3] net: bridge: mcast: Add offload failed mdb flag Joseph Huang
  2025-04-04 21:29 ` [Patch v3 net-next 2/3] net: bridge: Add offload_fail_notification bopt Joseph Huang
@ 2025-04-04 21:29 ` Joseph Huang
  2025-04-05  8:10   ` Nikolay Aleksandrov
  2025-04-07 17:29 ` [Patch v3 net-next 0/3] Add support for mdb offload failure notification Jakub Kicinski
  3 siblings, 1 reply; 10+ messages in thread
From: Joseph Huang @ 2025-04-04 21:29 UTC (permalink / raw)
  To: netdev
  Cc: Joseph Huang, Joseph Huang, Andrew Lunn, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Roopa Prabhu,
	Nikolay Aleksandrov, Simon Horman, linux-kernel, bridge

Notify user space on mdb offload failure if
mdb_offload_fail_notification is enabled.

Signed-off-by: Joseph Huang <Joseph.Huang@garmin.com>
---
 net/bridge/br_mdb.c       | 26 +++++++++++++++++++++-----
 net/bridge/br_private.h   |  9 +++++++++
 net/bridge/br_switchdev.c |  4 ++++
 3 files changed, 34 insertions(+), 5 deletions(-)

diff --git a/net/bridge/br_mdb.c b/net/bridge/br_mdb.c
index 0639691cd19b..5f53f387d251 100644
--- a/net/bridge/br_mdb.c
+++ b/net/bridge/br_mdb.c
@@ -519,16 +519,17 @@ static size_t rtnl_mdb_nlmsg_size(const struct net_bridge_port_group *pg)
 	       rtnl_mdb_nlmsg_pg_size(pg);
 }
 
-void br_mdb_notify(struct net_device *dev,
-		   struct net_bridge_mdb_entry *mp,
-		   struct net_bridge_port_group *pg,
-		   int type)
+static void __br_mdb_notify(struct net_device *dev,
+			    struct net_bridge_mdb_entry *mp,
+			    struct net_bridge_port_group *pg,
+			    int type, bool notify_switchdev)
 {
 	struct net *net = dev_net(dev);
 	struct sk_buff *skb;
 	int err = -ENOBUFS;
 
-	br_switchdev_mdb_notify(dev, mp, pg, type);
+	if (notify_switchdev)
+		br_switchdev_mdb_notify(dev, mp, pg, type);
 
 	skb = nlmsg_new(rtnl_mdb_nlmsg_size(pg), GFP_ATOMIC);
 	if (!skb)
@@ -546,6 +547,21 @@ void br_mdb_notify(struct net_device *dev,
 	rtnl_set_sk_err(net, RTNLGRP_MDB, err);
 }
 
+void br_mdb_notify(struct net_device *dev,
+		   struct net_bridge_mdb_entry *mp,
+		   struct net_bridge_port_group *pg,
+		   int type)
+{
+	__br_mdb_notify(dev, mp, pg, type, true);
+}
+
+void br_mdb_flag_change_notify(struct net_device *dev,
+			       struct net_bridge_mdb_entry *mp,
+			       struct net_bridge_port_group *pg)
+{
+	__br_mdb_notify(dev, mp, pg, RTM_NEWMDB, false);
+}
+
 static int nlmsg_populate_rtr_fill(struct sk_buff *skb,
 				   struct net_device *dev,
 				   int ifindex, u16 vid, u32 pid,
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
index 02188b7ff8e6..fc43ccc06ccb 100644
--- a/net/bridge/br_private.h
+++ b/net/bridge/br_private.h
@@ -1005,6 +1005,8 @@ int br_mdb_hash_init(struct net_bridge *br);
 void br_mdb_hash_fini(struct net_bridge *br);
 void br_mdb_notify(struct net_device *dev, struct net_bridge_mdb_entry *mp,
 		   struct net_bridge_port_group *pg, int type);
+void br_mdb_flag_change_notify(struct net_device *dev, struct net_bridge_mdb_entry *mp,
+			       struct net_bridge_port_group *pg);
 void br_rtr_notify(struct net_device *dev, struct net_bridge_mcast_port *pmctx,
 		   int type);
 void br_multicast_del_pg(struct net_bridge_mdb_entry *mp,
@@ -1354,6 +1356,13 @@ br_multicast_set_pg_offload_flags(struct net_bridge_port_group *p,
 	p->flags |= (offloaded ? MDB_PG_FLAGS_OFFLOAD :
 		MDB_PG_FLAGS_OFFLOAD_FAILED);
 }
+
+static inline bool
+br_mdb_should_notify(const struct net_bridge *br, u8 changed_flags)
+{
+	return br_opt_get(br, BROPT_MDB_OFFLOAD_FAIL_NOTIFICATION) &&
+		(changed_flags & MDB_PG_FLAGS_OFFLOAD_FAILED);
+}
 #else
 static inline int br_multicast_rcv(struct net_bridge_mcast **brmctx,
 				   struct net_bridge_mcast_port **pmctx,
diff --git a/net/bridge/br_switchdev.c b/net/bridge/br_switchdev.c
index 57e1863edf93..bbdf6a3ba941 100644
--- a/net/bridge/br_switchdev.c
+++ b/net/bridge/br_switchdev.c
@@ -504,6 +504,7 @@ static void br_switchdev_mdb_complete(struct net_device *dev, int err, void *pri
 	struct net_bridge_mdb_entry *mp;
 	struct net_bridge_port *port = data->port;
 	struct net_bridge *br = port->br;
+	u8 old_flags;
 
 	if (err == -EOPNOTSUPP)
 		goto notsupp;
@@ -517,7 +518,10 @@ static void br_switchdev_mdb_complete(struct net_device *dev, int err, void *pri
 		if (p->key.port != port)
 			continue;
 
+		old_flags = p->flags;
 		br_multicast_set_pg_offload_flags(p, !err);
+		if (br_mdb_should_notify(br, old_flags ^ p->flags))
+			br_mdb_flag_change_notify(br->dev, mp, p);
 	}
 out:
 	spin_unlock_bh(&br->multicast_lock);
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [Patch v3 net-next 1/3] net: bridge: mcast: Add offload failed mdb flag
  2025-04-04 21:29 ` [Patch v3 net-next 1/3] net: bridge: mcast: Add offload failed mdb flag Joseph Huang
@ 2025-04-05  8:09   ` Nikolay Aleksandrov
  0 siblings, 0 replies; 10+ messages in thread
From: Nikolay Aleksandrov @ 2025-04-05  8:09 UTC (permalink / raw)
  To: Joseph Huang, netdev
  Cc: Joseph Huang, Andrew Lunn, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Roopa Prabhu, Simon Horman,
	linux-kernel, bridge

On 4/5/25 00:29, Joseph Huang wrote:
> Add MDB_FLAGS_OFFLOAD_FAILED and MDB_PG_FLAGS_OFFLOAD_FAILED to indicate
> that an attempt to offload the MDB entry to switchdev has failed.
> 
> Signed-off-by: Joseph Huang <Joseph.Huang@garmin.com>
> ---
>  include/uapi/linux/if_bridge.h |  9 +++++----
>  net/bridge/br_mdb.c            |  2 ++
>  net/bridge/br_private.h        | 20 +++++++++++++++-----
>  net/bridge/br_switchdev.c      |  9 +++++----
>  4 files changed, 27 insertions(+), 13 deletions(-)
> 

Acked-by: Nikolay Aleksandrov <razor@blackwall.org>



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Patch v3 net-next 3/3] net: bridge: mcast: Notify on mdb offload failure
  2025-04-04 21:29 ` [Patch v3 net-next 3/3] net: bridge: mcast: Notify on mdb offload failure Joseph Huang
@ 2025-04-05  8:10   ` Nikolay Aleksandrov
  0 siblings, 0 replies; 10+ messages in thread
From: Nikolay Aleksandrov @ 2025-04-05  8:10 UTC (permalink / raw)
  To: Joseph Huang, netdev
  Cc: Joseph Huang, Andrew Lunn, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Roopa Prabhu, Simon Horman,
	linux-kernel, bridge

On 4/5/25 00:29, Joseph Huang wrote:
> Notify user space on mdb offload failure if
> mdb_offload_fail_notification is enabled.
> 
> Signed-off-by: Joseph Huang <Joseph.Huang@garmin.com>
> ---
>  net/bridge/br_mdb.c       | 26 +++++++++++++++++++++-----
>  net/bridge/br_private.h   |  9 +++++++++
>  net/bridge/br_switchdev.c |  4 ++++
>  3 files changed, 34 insertions(+), 5 deletions(-)
> 

Acked-by: Nikolay Aleksandrov <razor@blackwall.org>


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Patch v3 net-next 0/3] Add support for mdb offload failure notification
  2025-04-04 21:29 [Patch v3 net-next 0/3] Add support for mdb offload failure notification Joseph Huang
                   ` (2 preceding siblings ...)
  2025-04-04 21:29 ` [Patch v3 net-next 3/3] net: bridge: mcast: Notify on mdb offload failure Joseph Huang
@ 2025-04-07 17:29 ` Jakub Kicinski
  2025-04-07 18:15   ` Joseph Huang
  3 siblings, 1 reply; 10+ messages in thread
From: Jakub Kicinski @ 2025-04-07 17:29 UTC (permalink / raw)
  To: Joseph Huang
  Cc: netdev, Joseph Huang, Andrew Lunn, David S. Miller, Eric Dumazet,
	Paolo Abeni, Roopa Prabhu, Nikolay Aleksandrov, Simon Horman,
	linux-kernel, bridge

On Fri, 4 Apr 2025 17:29:32 -0400 Joseph Huang wrote:
> Currently the bridge does not provide real-time feedback to user space
> on whether or not an attempt to offload an mdb entry was successful.
> 
> This patch set adds support to notify user space about failed offload
> attempts, and is controlled by a new knob mdb_offload_fail_notification.
> 
> A break-down of the patches in the series:
> 
> Patch 1 adds offload failed flag to indicate that the offload attempt
> has failed. The flag is reflected in netlink mdb entry flags.
> 
> Patch 2 adds the new bridge bool option mdb_offload_fail_notification.
> 
> Patch 3 notifies user space when the result is known, controlled by
> mdb_offload_fail_notification setting.

You submitted this during the merge window, when the net-next tree
was closed. See: 
https://www.kernel.org/doc/html/next/process/maintainer-netdev.html#development-cycle
Could you repost so that the series will be re-enqueued? 

Thanks!
-- 
pw-bot: defer

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Patch v3 net-next 0/3] Add support for mdb offload failure notification
  2025-04-07 17:29 ` [Patch v3 net-next 0/3] Add support for mdb offload failure notification Jakub Kicinski
@ 2025-04-07 18:15   ` Joseph Huang
  2025-04-07 18:37     ` Jakub Kicinski
  0 siblings, 1 reply; 10+ messages in thread
From: Joseph Huang @ 2025-04-07 18:15 UTC (permalink / raw)
  To: Jakub Kicinski, Joseph Huang
  Cc: netdev, Andrew Lunn, David S. Miller, Eric Dumazet, Paolo Abeni,
	Roopa Prabhu, Nikolay Aleksandrov, Simon Horman, linux-kernel,
	bridge

On 4/7/2025 1:29 PM, Jakub Kicinski wrote:
> On Fri, 4 Apr 2025 17:29:32 -0400 Joseph Huang wrote:
>> Currently the bridge does not provide real-time feedback to user space
>> on whether or not an attempt to offload an mdb entry was successful.
>>
>> This patch set adds support to notify user space about failed offload
>> attempts, and is controlled by a new knob mdb_offload_fail_notification.
>>
>> A break-down of the patches in the series:
>>
>> Patch 1 adds offload failed flag to indicate that the offload attempt
>> has failed. The flag is reflected in netlink mdb entry flags.
>>
>> Patch 2 adds the new bridge bool option mdb_offload_fail_notification.
>>
>> Patch 3 notifies user space when the result is known, controlled by
>> mdb_offload_fail_notification setting.
> 
> You submitted this during the merge window, when the net-next tree
> was closed. See:
> https://www.kernel.org/doc/html/next/process/maintainer-netdev.html#development-cycle
> Could you repost so that the series will be re-enqueued?
> 
> Thanks!

Sure thing!

A couple of questions:

- Should the re-post be v3 (no change) or v4 (bump)?
- Do I re-post after 6.15 is released? Around what time frame (so that I 
can set a reminder)?

Thanks,
Joseph

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Patch v3 net-next 0/3] Add support for mdb offload failure notification
  2025-04-07 18:15   ` Joseph Huang
@ 2025-04-07 18:37     ` Jakub Kicinski
  2025-04-07 18:40       ` Joseph Huang
  0 siblings, 1 reply; 10+ messages in thread
From: Jakub Kicinski @ 2025-04-07 18:37 UTC (permalink / raw)
  To: Joseph Huang
  Cc: Joseph Huang, netdev, Andrew Lunn, David S. Miller, Eric Dumazet,
	Paolo Abeni, Roopa Prabhu, Nikolay Aleksandrov, Simon Horman,
	linux-kernel, bridge

On Mon, 7 Apr 2025 14:15:31 -0400 Joseph Huang wrote:
> - Should the re-post be v3 (no change) or v4 (bump)?

Doesn't matter much, but probably v4 is less confusing.

> - Do I re-post after 6.15 is released? Around what time frame (so that I 
> can set a reminder)?

No, no, I mean very soon. Like tomorrow. The merge window is when
maintainers merge their tress up, rather than when we merge code
from contributors. It's a bit confusing. Merge window open ==
normal contribution closed, and vice versa.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Patch v3 net-next 0/3] Add support for mdb offload failure notification
  2025-04-07 18:37     ` Jakub Kicinski
@ 2025-04-07 18:40       ` Joseph Huang
  0 siblings, 0 replies; 10+ messages in thread
From: Joseph Huang @ 2025-04-07 18:40 UTC (permalink / raw)
  To: Jakub Kicinski
  Cc: Joseph Huang, netdev, Andrew Lunn, David S. Miller, Eric Dumazet,
	Paolo Abeni, Roopa Prabhu, Nikolay Aleksandrov, Simon Horman,
	linux-kernel, bridge

On 4/7/2025 2:37 PM, Jakub Kicinski wrote:
> On Mon, 7 Apr 2025 14:15:31 -0400 Joseph Huang wrote:
>> - Should the re-post be v3 (no change) or v4 (bump)?
> 
> Doesn't matter much, but probably v4 is less confusing.
> 
>> - Do I re-post after 6.15 is released? Around what time frame (so that I
>> can set a reminder)?
> 
> No, no, I mean very soon. Like tomorrow. The merge window is when
> maintainers merge their tress up, rather than when we merge code
> from contributors. It's a bit confusing. Merge window open ==
> normal contribution closed, and vice versa.

Got it. Thanks for the clarification. Will re-post tomorrow.

Thanks,
Joseph

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2025-04-07 18:40 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-04 21:29 [Patch v3 net-next 0/3] Add support for mdb offload failure notification Joseph Huang
2025-04-04 21:29 ` [Patch v3 net-next 1/3] net: bridge: mcast: Add offload failed mdb flag Joseph Huang
2025-04-05  8:09   ` Nikolay Aleksandrov
2025-04-04 21:29 ` [Patch v3 net-next 2/3] net: bridge: Add offload_fail_notification bopt Joseph Huang
2025-04-04 21:29 ` [Patch v3 net-next 3/3] net: bridge: mcast: Notify on mdb offload failure Joseph Huang
2025-04-05  8:10   ` Nikolay Aleksandrov
2025-04-07 17:29 ` [Patch v3 net-next 0/3] Add support for mdb offload failure notification Jakub Kicinski
2025-04-07 18:15   ` Joseph Huang
2025-04-07 18:37     ` Jakub Kicinski
2025-04-07 18:40       ` Joseph Huang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).