diff mbox

[net-next] switchdev: fdb filter_dev is always NULL for self (device), so remove check

Message ID 1434582511-46290-1-git-send-email-sfeldma@gmail.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Scott Feldman June 17, 2015, 11:08 p.m. UTC
From: Scott Feldman <sfeldma@gmail.com>

Remove the filter_dev check when dumping fdb entries, otherwise dump
returns empty list.  filter_dev is always passed as NULL when dumping fdbs
on SELF.  We want the fdbs installed on the device to be listed in the
dump.

Signed-off-by: Scott Feldman <sfeldma@gmail.com>
Fixes: 45d4122c ("switchdev: add support for fdb add/del/dump via switchdev_port_obj ops")
---
 net/switchdev/switchdev.c |    6 ------
 1 file changed, 6 deletions(-)

Comments

Samudrala, Sridhar June 18, 2015, 5:30 a.m. UTC | #1
On 6/17/2015 4:08 PM, sfeldma@gmail.com wrote:
> From: Scott Feldman <sfeldma@gmail.com>
>
> Remove the filter_dev check when dumping fdb entries, otherwise dump
> returns empty list.  filter_dev is always passed as NULL when dumping fdbs
> on SELF.  We want the fdbs installed on the device to be listed in the
> dump.
>
> Signed-off-by: Scott Feldman <sfeldma@gmail.com>
Acked-by: Sridhar Samudrala <sridhar.samudrala@intel.com>

> Fixes: 45d4122c ("switchdev: add support for fdb add/del/dump via switchdev_port_obj ops")
> ---
>   net/switchdev/switchdev.c |    6 ------
>   1 file changed, 6 deletions(-)
>
> diff --git a/net/switchdev/switchdev.c b/net/switchdev/switchdev.c
> index a5d0f8e..7dda437 100644
> --- a/net/switchdev/switchdev.c
> +++ b/net/switchdev/switchdev.c
> @@ -657,7 +657,6 @@ struct switchdev_fdb_dump {
>   	struct switchdev_obj obj;
>   	struct sk_buff *skb;
>   	struct netlink_callback *cb;
> -	struct net_device *filter_dev;
>   	int idx;
>   };
>   
> @@ -670,14 +669,10 @@ static int switchdev_port_fdb_dump_cb(struct net_device *dev,
>   	u32 seq = dump->cb->nlh->nlmsg_seq;
>   	struct nlmsghdr *nlh;
>   	struct ndmsg *ndm;
> -	struct net_device *master = netdev_master_upper_dev_get(dev);
>   
>   	if (dump->idx < dump->cb->args[0])
>   		goto skip;
>   
> -	if (master && dump->filter_dev != master)
> -		goto skip;
> -
>   	nlh = nlmsg_put(dump->skb, portid, seq, RTM_NEWNEIGH,
>   			sizeof(*ndm), NLM_F_MULTI);
>   	if (!nlh)
> @@ -731,7 +726,6 @@ int switchdev_port_fdb_dump(struct sk_buff *skb, struct netlink_callback *cb,
>   		},
>   		.skb = skb,
>   		.cb = cb,
> -		.filter_dev = filter_dev,
>   		.idx = idx,
>   	};
>   	int err;

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jiri Pirko June 18, 2015, 9:22 a.m. UTC | #2
Thu, Jun 18, 2015 at 01:08:31AM CEST, sfeldma@gmail.com wrote:
>From: Scott Feldman <sfeldma@gmail.com>
>
>Remove the filter_dev check when dumping fdb entries, otherwise dump
>returns empty list.  filter_dev is always passed as NULL when dumping fdbs
>on SELF.  We want the fdbs installed on the device to be listed in the
>dump.
>
>Signed-off-by: Scott Feldman <sfeldma@gmail.com>

Acked-by: Jiri Pirko <jiri@resnulli.us>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller June 23, 2015, 7:58 a.m. UTC | #3
From: sfeldma@gmail.com
Date: Wed, 17 Jun 2015 16:08:31 -0700

> From: Scott Feldman <sfeldma@gmail.com>
> 
> Remove the filter_dev check when dumping fdb entries, otherwise dump
> returns empty list.  filter_dev is always passed as NULL when dumping fdbs
> on SELF.  We want the fdbs installed on the device to be listed in the
> dump.
> 
> Signed-off-by: Scott Feldman <sfeldma@gmail.com>
> Fixes: 45d4122c ("switchdev: add support for fdb add/del/dump via switchdev_port_obj ops")

Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/net/switchdev/switchdev.c b/net/switchdev/switchdev.c
index a5d0f8e..7dda437 100644
--- a/net/switchdev/switchdev.c
+++ b/net/switchdev/switchdev.c
@@ -657,7 +657,6 @@  struct switchdev_fdb_dump {
 	struct switchdev_obj obj;
 	struct sk_buff *skb;
 	struct netlink_callback *cb;
-	struct net_device *filter_dev;
 	int idx;
 };
 
@@ -670,14 +669,10 @@  static int switchdev_port_fdb_dump_cb(struct net_device *dev,
 	u32 seq = dump->cb->nlh->nlmsg_seq;
 	struct nlmsghdr *nlh;
 	struct ndmsg *ndm;
-	struct net_device *master = netdev_master_upper_dev_get(dev);
 
 	if (dump->idx < dump->cb->args[0])
 		goto skip;
 
-	if (master && dump->filter_dev != master)
-		goto skip;
-
 	nlh = nlmsg_put(dump->skb, portid, seq, RTM_NEWNEIGH,
 			sizeof(*ndm), NLM_F_MULTI);
 	if (!nlh)
@@ -731,7 +726,6 @@  int switchdev_port_fdb_dump(struct sk_buff *skb, struct netlink_callback *cb,
 		},
 		.skb = skb,
 		.cb = cb,
-		.filter_dev = filter_dev,
 		.idx = idx,
 	};
 	int err;