random_ether_addr() is finally removed in kernel commit ba530fea8ca1
("ethernet: remove random_ether_addr()"). Backport commit e6cbfd9bf30b
("kni: update kernel API to set random MAC address") from dpdk repo
to use eth_random_addr() instead.

Signed-off-by: Yongxin Liu <[email protected]>
---
 recipes-extended/dpdk/dpdk-module_20.11.1.bb  |  1 +
 ...kernel-API-to-set-random-MAC-address.patch | 44 +++++++++++++++++++
 2 files changed, 45 insertions(+)
 create mode 100644 
recipes-extended/dpdk/dpdk/0002-kni-update-kernel-API-to-set-random-MAC-address.patch

diff --git a/recipes-extended/dpdk/dpdk-module_20.11.1.bb 
b/recipes-extended/dpdk/dpdk-module_20.11.1.bb
index 1860087..85d708c 100644
--- a/recipes-extended/dpdk/dpdk-module_20.11.1.bb
+++ b/recipes-extended/dpdk/dpdk-module_20.11.1.bb
@@ -4,6 +4,7 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/dpdk:"
 
 SRC_URI += " \
             file://0001-Makefile-add-makefile.patch \
+            file://0002-kni-update-kernel-API-to-set-random-MAC-address.patch \
 "
 STABLE = "-stable"
 BRANCH = "20.11"
diff --git 
a/recipes-extended/dpdk/dpdk/0002-kni-update-kernel-API-to-set-random-MAC-address.patch
 
b/recipes-extended/dpdk/dpdk/0002-kni-update-kernel-API-to-set-random-MAC-address.patch
new file mode 100644
index 0000000..dea9e12
--- /dev/null
+++ 
b/recipes-extended/dpdk/dpdk/0002-kni-update-kernel-API-to-set-random-MAC-address.patch
@@ -0,0 +1,44 @@
+From e0a23f3cf8410871d28fdd8f0806216848b357ce Mon Sep 17 00:00:00 2001
+From: Ferruh Yigit <[email protected]>
+Date: Wed, 3 Nov 2021 12:59:50 +0000
+Subject: [PATCH] kni: update kernel API to set random MAC address
+
+Previously used 'random_ether_addr()' API is removed in upstream kernel
+with commit
+Commit ba530fea8ca1 ("ethernet: remove random_ether_addr()")
+
+Replacement API 'eth_random_addr()' is around since v3.6 [1], so
+simply switching to this API without any version checks.
+
+[1]
+0a4dd594982a ("etherdevice: Rename random_ether_addr to eth_random_addr")
+
+Signed-off-by: Ferruh Yigit <[email protected]>
+
+Upstream-Status: Backport 
[http://git.dpdk.org/dpdk/commit/?id=e6cbfd9bf30bbc4170fe8c7c04a16d9cf795fb90]
+Signed-off-by: Yongxin Liu <[email protected]>
+---
+ kernel/linux/kni/kni_misc.c | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+diff --git a/kernel/linux/kni/kni_misc.c b/kernel/linux/kni/kni_misc.c
+index 2b464c4381..f4944e1ddf 100644
+--- a/kernel/linux/kni/kni_misc.c
++++ b/kernel/linux/kni/kni_misc.c
+@@ -399,11 +399,8 @@ kni_ioctl_create(struct net *net, uint32_t ioctl_num,
+       if (is_valid_ether_addr(dev_info.mac_addr))
+               memcpy(net_dev->dev_addr, dev_info.mac_addr, ETH_ALEN);
+       else
+-              /*
+-               * Generate random mac address. eth_random_addr() is the
+-               * newer version of generating mac address in kernel.
+-               */
+-              random_ether_addr(net_dev->dev_addr);
++              /* Generate random MAC address. */
++              eth_random_addr(net_dev->dev_addr);
+ 
+       if (dev_info.mtu)
+               net_dev->mtu = dev_info.mtu;
+-- 
+2.32.0
+
-- 
2.31.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#7371): 
https://lists.yoctoproject.org/g/meta-intel/message/7371
Mute This Topic: https://lists.yoctoproject.org/mt/87557621/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-intel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to