diff options
| author | Jakub Kicinski <kuba@kernel.org> | 2023-07-28 11:36:00 -0700 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2023-07-28 11:36:00 -0700 |
| commit | 5bdc312c1d06fb4ef02bd62fd077e4fa722012e6 (patch) | |
| tree | b977b7a1bda1dfea681cdcc02acdfd6f51ec7d41 /include/linux/netdevice.h | |
| parent | 083476a2023ce64991e17565707e205a1bf78d63 (diff) | |
| parent | 84e00d9bd4e472bd9b145ed40dbd132dd7a15462 (diff) | |
| download | linux-5bdc312c1d06fb4ef02bd62fd077e4fa722012e6.tar.gz linux-5bdc312c1d06fb4ef02bd62fd077e4fa722012e6.tar.bz2 linux-5bdc312c1d06fb4ef02bd62fd077e4fa722012e6.zip | |
Merge branch 'net-store-netdevs-in-an-xarray'
Jakub Kicinski says:
====================
net: store netdevs in an xarray
One of more annoying developer experience gaps we have in netlink
is iterating over netdevs. It's painful. Add an xarray to make
it trivial.
v1: https://lore.kernel.org/all/20230722014237.4078962-1-kuba@kernel.org/
====================
Link: https://lore.kernel.org/r/20230726185530.2247698-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/linux/netdevice.h')
| -rw-r--r-- | include/linux/netdevice.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 32a4cdf37dd4..84c36a7f873f 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -3016,6 +3016,9 @@ extern rwlock_t dev_base_lock; /* Device list lock */ if (netdev_master_upper_dev_get_rcu(slave) == (bond)) #define net_device_entry(lh) list_entry(lh, struct net_device, dev_list) +#define for_each_netdev_dump(net, d, ifindex) \ + xa_for_each_start(&(net)->dev_by_index, (ifindex), (d), (ifindex)) + static inline struct net_device *next_net_device(struct net_device *dev) { struct list_head *lh; |
