summaryrefslogtreecommitdiffstats
path: root/drivers/net/netdevsim/dev.c
diff options
context:
space:
mode:
authorJiri Pirko2019-04-25 15:59:51 +0200
committerDavid S. Miller2019-04-26 07:52:02 +0200
commit514cf64cc5353929fbfb82ed1bda24588acaf96a (patch)
treec78e85f2d5866a512c239fa140cee835a8f51de2 /drivers/net/netdevsim/dev.c
parentnetdevsim: merge sdev into dev (diff)
downloadkernel-qcow2-linux-514cf64cc5353929fbfb82ed1bda24588acaf96a.tar.gz
kernel-qcow2-linux-514cf64cc5353929fbfb82ed1bda24588acaf96a.tar.xz
kernel-qcow2-linux-514cf64cc5353929fbfb82ed1bda24588acaf96a.zip
netdevsim: generate random switch id instead of using dev id
Current implementation of parent_id/switch_id does not follow the original idea of being unique. The values are "0", "1", etc. Instead of that, generate 32 random bytes. Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/netdevsim/dev.c')
-rw-r--r--drivers/net/netdevsim/dev.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/netdevsim/dev.c b/drivers/net/netdevsim/dev.c
index 93abd0b6c1f9..98a56d8bdcec 100644
--- a/drivers/net/netdevsim/dev.c
+++ b/drivers/net/netdevsim/dev.c
@@ -17,6 +17,7 @@
#include <linux/debugfs.h>
#include <linux/device.h>
+#include <linux/random.h>
#include <linux/rtnetlink.h>
#include <net/devlink.h>
@@ -204,6 +205,8 @@ static struct nsim_dev *nsim_dev_create(struct nsim_bus_dev *nsim_bus_dev)
return ERR_PTR(-ENOMEM);
nsim_dev = devlink_priv(devlink);
nsim_dev->nsim_bus_dev = nsim_bus_dev;
+ nsim_dev->switch_id.id_len = sizeof(nsim_dev->switch_id.id);
+ get_random_bytes(nsim_dev->switch_id.id, nsim_dev->switch_id.id_len);
nsim_dev->fib_data = nsim_fib_create();
if (IS_ERR(nsim_dev->fib_data)) {