-
Notifications
You must be signed in to change notification settings - Fork 536
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Netmap does not start on RHEL7 after boot #529
Comments
We have a package for Arch, here https://aur.archlinux.org/packages/netmap/ |
Thank you for your answer. But I think you missed the point. The problem is not to tell Linux to load the updated modules instead of the standard ones. For RHEL this aspect is perfectly managed with the different directories under I think Arch also uses an initial ramdisk during boot. This cannot be (easily) modified and contains the standard network drivers, which is my problem. So during boottime, the standard drivers are loaded, because the root filesystem is not yet visible to the kernel (or any other process). If I understand correctly the explanation for netmap on ArchLinux that you referenced, the problem on Arch is exactly the same. The netmap versions must be loaded manually or be defined/blacklisted in |
For demonstration / cross check on my side: I just rebooted my system after blacklisting ixgbe with
It is blacklisted against reload though:
(Yes, empty.) Is it the same for you, or can you blacklist it (or any other netmap-modified NIC module) right away from boot? |
Yes, Arch uses initramfs. This is the blacklist file that I use:
And this is what I get after boot, with no manual operation (as I was stating)
which means that I'm using the patched drivers. |
Closing, as it is not a netmap issue. |
You were absolutely right. So I give the solution for RHEL7 users, in case someone else needs it. To prevent the system from loading the ixgbe driver on ramdisk, add to boot cmdline (via
NB: The parameter name changed, for example it was |
In the context of #528 I observed that the netmap drivers (netmap.ko and the nm-adapted NIC device drivers) are not loaded after boot. A simple
rmmod ixgbe modprobe ixgbe
loads the modified ixgbe driver (for example) and the netmap driver as a consequence.
I conclude from my investigations that the (standard) drivers are loaded "too early" at boottime, when the physical disks are not yet mounted, but the kernel is still running on the ram image (which contains only the standard system drivers). I failed to twiddle the SystemD startup sequence in order to delay the network driver loading to a later point. (Actually the may be needed to boot diskless systems, which rely on the system disk to be accessible via NFS for example.)
My solution was to create a SystemD service *netmap.service", which simply reloads the ixgbe module and restarts the network.service then, in order to bring all interfaces, which were using these drivers, up again.
lsnmdrivers
which would properly list those NIC drivers, which can use netmap for a given system/distribution? (Maybe with an option to list only drivers presently in use or "all" (-a
)?The text was updated successfully, but these errors were encountered: