[PATCH net-next v3] net: Support filtering interfaces on no master

Subsystems: networking [general], the rest

STALE1820d LANDED

Landed in mainline as d3432bf10f17 on 2021-08-10.

4 messages, 4 authors, 2021-08-10 · open the first message on its own page

[PATCH net-next v3] net: Support filtering interfaces on no master

From: Lahav Schlesinger <hidden>
Date: 2021-08-10 09:07:14

Currently there's support for filtering neighbours/links for interfaces
which have a specific master device (using the IFLA_MASTER/NDA_MASTER
attributes).

This patch adds support for filtering interfaces/neighbours dump for
interfaces that *don't* have a master.

Signed-off-by: Lahav Schlesinger <redacted>
Cc: David Ahern <dsahern@kernel.org>
Cc: David S. Miller <davem@davemloft.net>
Cc: Jakub Kicinski <kuba@kernel.org>
---
v2 -> v3
 - Change the way 'master' is checked for being non NULL
v1 -> v2
 - Change from filtering just for non VRF slaves to non slaves at all

 net/core/neighbour.c | 7 +++++++
 net/core/rtnetlink.c | 7 +++++++
 2 files changed, 14 insertions(+)
diff --git a/net/core/neighbour.c b/net/core/neighbour.c
index b963d6b02c4f..2d5bc3a75fae 100644
--- a/net/core/neighbour.c
+++ b/net/core/neighbour.c
@@ -2528,6 +2528,13 @@ static bool neigh_master_filtered(struct net_device *dev, int master_idx)
 		return false;
 
 	master = dev ? netdev_master_upper_dev_get(dev) : NULL;
+
+	/* 0 is already used to denote NDA_MASTER wasn't passed, therefore need another
+	 * invalid value for ifindex to denote "no master".
+	 */
+	if (master_idx == -1)
+		return !!master;
+
 	if (!master || master->ifindex != master_idx)
 		return true;
 
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 7c9d32cfe607..2dcf1c084b20 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -1959,6 +1959,13 @@ static bool link_master_filtered(struct net_device *dev, int master_idx)
 		return false;
 
 	master = netdev_master_upper_dev_get(dev);
+
+	/* 0 is already used to denote IFLA_MASTER wasn't passed, therefore need
+	 * another invalid value for ifindex to denote "no master".
+	 */
+	if (master_idx == -1)
+		return !!master;
+
 	if (!master || master->ifindex != master_idx)
 		return true;
 
-- 
2.25.1

Re: [PATCH net-next v3] net: Support filtering interfaces on no master

From: Leon Romanovsky <leon@kernel.org>
Date: 2021-08-10 09:37:38

On Tue, Aug 10, 2021 at 09:06:58AM +0000, Lahav Schlesinger wrote:
Currently there's support for filtering neighbours/links for interfaces
which have a specific master device (using the IFLA_MASTER/NDA_MASTER
attributes).

This patch adds support for filtering interfaces/neighbours dump for
interfaces that *don't* have a master.

Signed-off-by: Lahav Schlesinger <redacted>
Cc: David Ahern <dsahern@kernel.org>
Cc: David S. Miller <davem@davemloft.net>
Cc: Jakub Kicinski <kuba@kernel.org>
---
v2 -> v3
 - Change the way 'master' is checked for being non NULL
v1 -> v2
 - Change from filtering just for non VRF slaves to non slaves at all

 net/core/neighbour.c | 7 +++++++
 net/core/rtnetlink.c | 7 +++++++
 2 files changed, 14 insertions(+)
Thanks, for resending.

Re: [PATCH net-next v3] net: Support filtering interfaces on no master

From: David Ahern <hidden>
Date: 2021-08-10 13:19:45

On 8/10/21 3:06 AM, Lahav Schlesinger wrote:
Currently there's support for filtering neighbours/links for interfaces
which have a specific master device (using the IFLA_MASTER/NDA_MASTER
attributes).

This patch adds support for filtering interfaces/neighbours dump for
interfaces that *don't* have a master.

Signed-off-by: Lahav Schlesinger <redacted>
Cc: David Ahern <dsahern@kernel.org>
Cc: David S. Miller <davem@davemloft.net>
Cc: Jakub Kicinski <kuba@kernel.org>
---
v2 -> v3
 - Change the way 'master' is checked for being non NULL
v1 -> v2
 - Change from filtering just for non VRF slaves to non slaves at all

 net/core/neighbour.c | 7 +++++++
 net/core/rtnetlink.c | 7 +++++++
 2 files changed, 14 insertions(+)
Reviewed-by: David Ahern <dsahern@kernel.org>

Re: [PATCH net-next v3] net: Support filtering interfaces on no master

From: patchwork-bot+netdevbpf@kernel.org
Date: 2021-08-10 23:10:07

Hello:

This patch was applied to netdev/net-next.git (refs/heads/master):

On Tue, 10 Aug 2021 09:06:58 +0000 you wrote:
Currently there's support for filtering neighbours/links for interfaces
which have a specific master device (using the IFLA_MASTER/NDA_MASTER
attributes).

This patch adds support for filtering interfaces/neighbours dump for
interfaces that *don't* have a master.

[...]
Here is the summary with links:
  - [net-next,v3] net: Support filtering interfaces on no master
    https://git.kernel.org/netdev/net-next/c/d3432bf10f17

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help