lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4902FDAF.5060305@redhat.com>
Date:	Sat, 25 Oct 2008 07:06:23 -0400
From:	Chris Snook <csnook@...hat.com>
To:	Ben Hutchings <bhutchings@...arflare.com>
CC:	Stephen Hemminger <shemminger@...tta.com>,
	Brice Goglin <brice@...i.com>, netdev@...r.kernel.org
Subject: Re: [RFC] per-nic module parameters

Ben Hutchings wrote:
> Stephen Hemminger wrote:
>> On Fri, 24 Oct 2008 22:09:35 +0200
>> Brice Goglin <brice@...i.com> wrote:
>>
>>> Hello,
>>>
>>> We're working on making myri10ge module parameters per-nic. It looks
>>> like ixgb already does so with the following macro in ixgb_param.c:
>>>
>>> #define IXGB_PARAM_INIT { [0 ... IXGB_MAX_NIC] = OPTION_UNSET }
>>> #define IXGB_PARAM(X, desc)                                     \
>>>         static int __devinitdata X[IXGB_MAX_NIC+1]              \
>>>                 = IXGB_PARAM_INIT;                              \
>>>         static unsigned int num_##X = 0;                        \
>>>         module_param_array_named(X, X, int, &num_##X, 0);       \
>>>         MODULE_PARM_DESC(X, desc);
>>>
>>> Is this the recommended way to implement per-nic module params? Or
>>> should we do something else?
>> Module parameters are bad. They are device specific and awkward for
>> any general configuration system to deal with. As much as possible,
>> please convert any module parameters to real interfaces like netlink,
>> ethtool, or sysfs.
> 
> I agree in principle.  However, every distribution uses modutils and allows
> default module parameters to be set in the same way.  So it's easy to tell
> customers how to configure module parameters persistently.  The same cannot
> be said for ethtool, unfortunately.

That makes it a distribution problem, maybe something LSB should address.  ixgb 
inherits this code from e1000, which has been around a very, very long time. 
It's still a sin that they didn't strip it out when they derived ixgb from 
e1000, but it's a less severe sin than writing new module parameter code from 
scratch.

Sometimes there are legitimate reasons to use module parameters, but duplicating 
ethtool functionality doesn't qualify.  Those parameters that e1000 still 
carries are there because now that they've documented it and customers are using 
it, they can't ever remove it.  Telling your customers to use ETHTOOL_OPTS if 
their distro has /etc/sysconfig/network-scripts/ifcfg-eth* files, or pre-up if 
their distro has /etc/network/interfaces is not difficult.

Interface consistency is a worthwhile goal, but you're creating a bigger 
consistency problem in the kernel than you're solving in the distributions if 
you do this, and you make it very difficult to ever go back once you realize the 
mistake.

-- Chris
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ