On 5/21/22 10:06, Min Hu (Connor) wrote:
When kernel version change into 5.18 from 5.17, 'netif_rx_ni' is discard.
It is replaced by 'netif_rx' and this API is also supported in the
version below 5.18.
This patch fixed it.
Fixes: d89a58dfe90b ("kni: support chained mbufs")
Cc: sta...@dpdk.org
Signed-off-by: Min Hu (Connor) <humi...@huawei.com>
---
kernel/linux/kni/kni_net.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/linux/kni/kni_net.c b/kernel/linux/kni/kni_net.c
index 29e5b9e21f..e19f03285e 100644
--- a/kernel/linux/kni/kni_net.c
+++ b/kernel/linux/kni/kni_net.c
@@ -441,7 +441,7 @@ kni_net_rx_normal(struct kni_dev *kni)
skb->ip_summed = CHECKSUM_UNNECESSARY;
/* Call netif interface */
- netif_rx_ni(skb);
+ netif_rx(skb);
I think the approach in [1] is the right one. Any comments?
[1]
https://patches.dpdk.org/project/dpdk/patch/20220525102641.20982-1-jsl...@suse.cz/
/* Update statistics */
dev->stats.rx_bytes += len;
@@ -779,7 +779,7 @@ kni_net_set_mac(struct net_device *netdev, void *p)
return -EADDRNOTAVAIL;
memcpy(req.mac_addr, addr->sa_data, netdev->addr_len);
- memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len);
+ memcpy((void *)(netdev->dev_addr), addr->sa_data, netdev->addr_len);
I don't understand why the change is needed and the patch description
does not shed any light on it.
ret = kni_net_process_request(netdev, &req);