[dpdk-dev] DPDK drivers should not use kernel version

Hemant Agrawal hemant.agrawal at nxp.com
Fri Jun 23 09:33:55 CEST 2017

On 6/21/2017 9:58 PM, Stephen Hemminger wrote:
> Looking at some other issues, I noticed that both the TAP and MLX5 device
> drivers are looking at kernel version through uname.  Although this may
> seem like a good way to deal with kernel API changes, it is not reliable.
> Enterprise kernel distro vendors never change kernel version but do backport
> features from later kernels. Therefore the behavior expected may change
> even though kernel version doesn't change. Also kernel version does not
> dictate that the expected feature (like flower) is in the kernel configuration.
> I recommend this be looked for in all future submissions. Maybe even flagged
> as error in DPDK version of checkpatch.

what is the alternative than?

There are many legitimate cases, where userspace code need to make 
decision on the basis underlying kernel version.

In some cases, user space code can add error handling and fallback, but 
it is not possible in all cases.

> $ git blame drivers/net/mlx5/mlx5_ethdev.c | grep uname
> 3a49ffe38a950 (Shahaf Shuler                2017-02-09 14:29:54 +0200  895) 	if (uname(&utsname) == -1 ||
> $ git blame drivers/net/tap/rte_eth_tap.c | grep uname
> de96fe68ae959 (Pascal Mazon     2017-03-23 09:33:57 +0100 1169) 	if (uname(&utsname) == -1 ||

More information about the dev mailing list