Skip to content

Commit 8debcf5

Browse files
spikehdavem330
authored andcommitted
netdevsim: add ndo_get_iflink() implementation
Add an implementation for ndo_get_iflink() in netdevsim that shows the ifindex of the linked peer, if any. Signed-off-by: David Wei <[email protected]> Reviewed-by: Maciek Machnikowski <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 9eb9522 commit 8debcf5

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

drivers/net/netdevsim/netdev.c

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,21 @@ nsim_set_features(struct net_device *dev, netdev_features_t features)
283283
return 0;
284284
}
285285

286+
static int nsim_get_iflink(const struct net_device *dev)
287+
{
288+
struct netdevsim *nsim, *peer;
289+
int iflink;
290+
291+
nsim = netdev_priv(dev);
292+
293+
rcu_read_lock();
294+
peer = rcu_dereference(nsim->peer);
295+
iflink = peer ? READ_ONCE(peer->netdev->ifindex) : 0;
296+
rcu_read_unlock();
297+
298+
return iflink;
299+
}
300+
286301
static const struct net_device_ops nsim_netdev_ops = {
287302
.ndo_start_xmit = nsim_start_xmit,
288303
.ndo_set_rx_mode = nsim_set_rx_mode,
@@ -300,6 +315,7 @@ static const struct net_device_ops nsim_netdev_ops = {
300315
.ndo_set_vf_rss_query_en = nsim_set_vf_rss_query_en,
301316
.ndo_setup_tc = nsim_setup_tc,
302317
.ndo_set_features = nsim_set_features,
318+
.ndo_get_iflink = nsim_get_iflink,
303319
.ndo_bpf = nsim_bpf,
304320
};
305321

0 commit comments

Comments
 (0)