[dpdk-dev] [PATCH] net/af_xdp: do not use fixed size storage for pointer

Ferruh Yigit ferruh.yigit at intel.com
Wed Nov 11 14:25:59 CET 2020


On 11/9/2020 6:00 PM, Loftus, Ciara wrote:
>>
>> 'uint64_t' is used to hold the pointer, for 32-bits build this
>> assumption is wrong and giving following build error:
>>
>> rte_eth_af_xdp.c: In function ‘xdp_umem_configure’:
>> rte_eth_af_xdp.c:970:15:
>>      error: cast to pointer from integer of different size
>>             [-Werror=int-to-pointer-cast]
>>    970 |   base_addr = (void *)get_base_addr(mb_pool, &align);
>>        |               ^
>>
>> Replacing the 'uint64_t' return type of the 'get_base_addr()' to the
>> 'uintptr_t'.
>> Although not sure if the overall logic supports the 32-bits, using
>> 'uintptr_t' should be safe both for 64/32 bits.
>>
>> Fixes: d8a210774e1d ("net/af_xdp: support unaligned umem chunks")
>> Cc: stable at dpdk.org
>>
>> Signed-off-by: Ferruh Yigit <ferruh.yigit at intel.com>
>>
>> ---
>>
>> Hi Ciara,
>>
>> I am not sure if 32-bit is supported for the af_xdp, but even not does
>> this change make sense for the 64-bits?
> 
> Hi Ferruh,
> 
> LGTM. I've tested it for 64bit and all looks good to me.
> 
> Tested-by: Ciara Loftus <ciara.loftus at intel.com>
> 
> I've been looking into 32-bit compatibility and will submit a patch for at least the docs when I've verified what works.
> 

Applied to dpdk-next-net/main, thanks.



More information about the dev mailing list