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);

Reply via email to