switchdev: fdb filter_dev is always NULL for self (device), so remove check
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")
Acked-by: Sridhar Samudrala <sridhar.samudrala@intel.com>
Acked-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
54db01a20e
commit
10ea5165e4
|
@ -656,7 +656,6 @@ struct switchdev_fdb_dump {
|
|||
struct switchdev_obj obj;
|
||||
struct sk_buff *skb;
|
||||
struct netlink_callback *cb;
|
||||
struct net_device *filter_dev;
|
||||
int idx;
|
||||
};
|
||||
|
||||
|
@ -669,14 +668,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)
|
||||
|
@ -730,7 +725,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;
|
||||
|
|
Loading…
Reference in New Issue