* [PATCH] kni: fix compile error
@ 2022-05-21 7:06 Min Hu (Connor)
2022-05-23 8:43 ` Ferruh Yigit
2022-05-31 16:42 ` Andrew Rybchenko
0 siblings, 2 replies; 6+ messages in thread
From: Min Hu (Connor) @ 2022-05-21 7:06 UTC (permalink / raw)
To: dev; +Cc: Min Hu (Connor), stable, Ferruh Yigit, Helin Zhang
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: stable@dpdk.org
Signed-off-by: Min Hu (Connor) <humin29@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);
/* 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);
ret = kni_net_process_request(netdev, &req);
--
2.33.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] kni: fix compile error
2022-05-21 7:06 [PATCH] kni: fix compile error Min Hu (Connor)
@ 2022-05-23 8:43 ` Ferruh Yigit
2022-05-31 16:42 ` Andrew Rybchenko
1 sibling, 0 replies; 6+ messages in thread
From: Ferruh Yigit @ 2022-05-23 8:43 UTC (permalink / raw)
To: Min Hu (Connor), dev
Cc: stable, Ferruh Yigit, Helin Zhang, Gagandeep Singh, Mingli Yu
On 5/21/2022 8:06 AM, Min Hu (Connor) wrote:
> [CAUTION: External Email]
>
> 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: stable@dpdk.org
>
> Signed-off-by: Min Hu (Connor) <humin29@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);
>
Hi Connor,
There is already a patch for this [1], can you test & ack that instead
please?
Same for Mingli's patch [2], @Mingli, can you please test and ack the
[1] instead?
[1] kni: update kernel API to receive packets
https://patches.dpdk.org/project/dpdk/patch/20220421085931.2429443-1-g.singh@nxp.com/
http://inbox.dpdk.org/dev/20220421085931.2429443-1-g.singh@nxp.com/
[2]
https://patches.dpdk.org/project/dpdk/patch/20220511112334.3233433-1-mingli.yu@windriver.com/
> /* 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);
Why don't you use new helper functions instead? I can see not using
helper function is causing other problem as well [3].
[3]
https://patches.dpdk.org/project/dpdk/patch/20220407082544.21282-1-humin29@huawei.com/
>
> ret = kni_net_process_request(netdev, &req);
>
> --
> 2.33.0
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] kni: fix compile error
2022-05-21 7:06 [PATCH] kni: fix compile error Min Hu (Connor)
2022-05-23 8:43 ` Ferruh Yigit
@ 2022-05-31 16:42 ` Andrew Rybchenko
2022-06-01 1:52 ` Min Hu (Connor)
1 sibling, 1 reply; 6+ messages in thread
From: Andrew Rybchenko @ 2022-05-31 16:42 UTC (permalink / raw)
To: Min Hu (Connor), dev; +Cc: stable, Ferruh Yigit, Helin Zhang
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: stable@dpdk.org
>
> Signed-off-by: Min Hu (Connor) <humin29@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-jslaby@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);
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] kni: fix compile error
2022-05-31 16:42 ` Andrew Rybchenko
@ 2022-06-01 1:52 ` Min Hu (Connor)
2022-06-01 8:47 ` Andrew Rybchenko
0 siblings, 1 reply; 6+ messages in thread
From: Min Hu (Connor) @ 2022-06-01 1:52 UTC (permalink / raw)
To: Andrew Rybchenko, dev; +Cc: stable, Ferruh Yigit, Helin Zhang
Hi, Andrew ,
在 2022/6/1 0:42, Andrew Rybchenko 写道:
> 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: stable@dpdk.org
>>
>> Signed-off-by: Min Hu (Connor) <humin29@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-jslaby@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);
When compile, it will report a warning, because it claims that the
parameter types must be the same.
void *memcpy(void *destin, void *source, unsigned n);
so this is what I am doing.
>
> 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);
>
> .
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] kni: fix compile error
2022-06-01 1:52 ` Min Hu (Connor)
@ 2022-06-01 8:47 ` Andrew Rybchenko
2022-06-01 15:49 ` Ferruh Yigit
0 siblings, 1 reply; 6+ messages in thread
From: Andrew Rybchenko @ 2022-06-01 8:47 UTC (permalink / raw)
To: Min Hu (Connor), dev; +Cc: stable, Ferruh Yigit, Helin Zhang
On 6/1/22 04:52, Min Hu (Connor) wrote:
> Hi, Andrew ,
>
> 在 2022/6/1 0:42, Andrew Rybchenko 写道:
>> 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: stable@dpdk.org
>>>
>>> Signed-off-by: Min Hu (Connor) <humin29@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-jslaby@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);
> When compile, it will report a warning, because it claims that the
> parameter types must be the same.
> void *memcpy(void *destin, void *source, unsigned n);
>
> so this is what I am doing.
I think it is a separate story vs netif_rx_ni(). So, it should not be in
the same patch. IMHO, it is closer to [1]
[1]
https://patches.dpdk.org/project/dpdk/patch/20220601015925.35304-1-humin29@huawei.com/
Am I missing something?
>>
>> 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);
>>
>> .
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] kni: fix compile error
2022-06-01 8:47 ` Andrew Rybchenko
@ 2022-06-01 15:49 ` Ferruh Yigit
0 siblings, 0 replies; 6+ messages in thread
From: Ferruh Yigit @ 2022-06-01 15:49 UTC (permalink / raw)
To: Andrew Rybchenko, Min Hu (Connor), dev
Cc: stable, Helin Zhang, Ke Zhang, Jiri Slaby
On 6/1/2022 9:47 AM, Andrew Rybchenko wrote:
> On 6/1/22 04:52, Min Hu (Connor) wrote:
>> Hi, Andrew ,
>>
>> 在 2022/6/1 0:42, Andrew Rybchenko 写道:
>>> 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: stable@dpdk.org
>>>>
>>>> Signed-off-by: Min Hu (Connor) <humin29@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-jslaby@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);
>> When compile, it will report a warning, because it claims that the
>> parameter types must be the same.
>> void *memcpy(void *destin, void *source, unsigned n);
>>
>> so this is what I am doing.
>
> I think it is a separate story vs netif_rx_ni(). So, it should not be in
> the same patch. IMHO, it is closer to [1]
>
> [1]
> https://patches.dpdk.org/project/dpdk/patch/20220601015925.35304-1-humin29@huawei.com/
>
>
> Am I missing something?
>
There are two build errors because of kernel side changes.
- netif_rx_ni(). Following patch seems correct fix with small change
requests:
https://patchwork.dpdk.org/project/dpdk/patch/20220525102641.20982-1-jslaby@suse.cz/
- 'net_dev->dev_addr' being const, following patch is in correct direction:
https://patchwork.dpdk.org/project/dpdk/patch/20220601054525.7573-1-ke1x.zhang@intel.com/
>>>
>>> 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);
>>>
>>> .
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-06-01 15:49 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-21 7:06 [PATCH] kni: fix compile error Min Hu (Connor)
2022-05-23 8:43 ` Ferruh Yigit
2022-05-31 16:42 ` Andrew Rybchenko
2022-06-01 1:52 ` Min Hu (Connor)
2022-06-01 8:47 ` Andrew Rybchenko
2022-06-01 15:49 ` Ferruh Yigit
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).