kni: use dedicated function to set random MAC address

eth_hw_addr_random() sets address type correctly.

eth_hw_addr_random() is available since Linux v3.4, so
no compat is required.

Also fix the warning:
warning: passing argument 1 of ‘memcpy’ discards ‘const’
qualifier from pointer target type

Variable dev_addr is done const intentionally in Linux v5.17 to
prevent using it directly.

Fixes: ea6b39b5b8 ("kni: remove ethtool support")
Cc: stable@dpdk.org

Signed-off-by: Ke Zhang <ke1x.zhang@intel.com>
Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: Ferruh Yigit <ferruh.yigit@xilinx.com>
This commit is contained in:
Ke Zhang 2022-06-08 15:11:16 +03:00 committed by Andrew Rybchenko
parent bc70e55948
commit 2ee8c67ef9

View File

@ -405,8 +405,8 @@ kni_ioctl_create(struct net *net, uint32_t ioctl_num,
if (is_valid_ether_addr(dev_info.mac_addr)) if (is_valid_ether_addr(dev_info.mac_addr))
memcpy(net_dev->dev_addr, dev_info.mac_addr, ETH_ALEN); memcpy(net_dev->dev_addr, dev_info.mac_addr, ETH_ALEN);
else else
/* Generate random MAC address. */ /* Assign random MAC address. */
eth_random_addr(net_dev->dev_addr); eth_hw_addr_random(net_dev);
if (dev_info.mtu) if (dev_info.mtu)
net_dev->mtu = dev_info.mtu; net_dev->mtu = dev_info.mtu;