amzn / amzn-drivers

Official AWS drivers repository for Elastic Network Adapter (ENA) and Elastic Fabric Adapter (EFA)
455 stars 175 forks source link

[Support]: ENA driver in Linux kernel source significantly behind (2.1.x)? #325

Closed FrothyB closed 16 minutes ago

FrothyB commented 3 hours ago

Preliminary Actions

Driver Type

Linux kernel driver for Elastic Network Adapter (ENA)

Driver Tag/Commit

N/A

Custom Code

No

OS Platform and Distribution

Linux 6.11.2-cb1.0.lto.fc40.x86_64 SMP PREEMPT_DYNAMIC

Support request

I'm running fedora 40 which as far as I can understand is using the kernel provided version of ENA.

$ ethtool -i eth0
driver: ena
version: 6.11.2-cb1.0.lto.fc40.x86_64
$ modinfo ena
filename:       /lib/modules/6.11.2-cb1.0.lto.fc40.x86_64/kernel/drivers/net/ethernet/amazon/ena/ena.ko.zst
author:         Amazon.com, Inc. or its affiliates
description:    Elastic Network Adapter (ENA)
license:        GPL
vermagic:       6.11.2-cb1.0.lto.fc40.x86_64 SMP preempt mod_unload
name:           ena
intree:         Y
retpoline:      Y

However, when I look at the version of the driver in kernel source, it appears to be 2.1? https://github.com/torvalds/linux/blob/master/drivers/net/ethernet/amazon/ena/ena_netdev.h

Is there any intention to bring this up to date? Is there any remedy besides installing the driver from source?

Contact Details

No response

davidarinzon commented 3 hours ago

Hi @FrothyB

At a certain point, the kernel maintainers stopped accepting the method of incrementing network drivers (or any drivers AFAIK) versions, therefore, the driver available in the upstream kernel retained the version 2.1.0k. It does not reflect the real version of the driver, the only way is to look at the commits history to understand which changes and features are available. If you wish to use the up-to-date ENA Linux driver, you can install the github driver.

FrothyB commented 3 hours ago

Understood, thank you for clarifying that. Poking around the source, it seems that a lot of the recent work for XDP (for example) is not present in the kernel source, so as you say the most up to date version is available here. Could you comment on roughly how long it takes on average for the kernel driver to catch up?