Re: [PATCH 1/3] ifb: make device count build-time configurable

From: Daniel Borkmann
Date: Tue Jan 12 2016 - 10:35:44 EST


On 01/12/2016 04:19 PM, Daniel Borkmann wrote:
On 01/12/2016 12:56 PM, Lubomir Rintel wrote:
The devices can be created at run-time for quite some time already and the
load-time device creation collides with attempts to create the device of
the same name:

# rmmod ifb
# ip link add ifb0 type ifb
RTNETLINK answers: File exists

This is pretty much the same situation as was with the block loop devices
which was solved by adding a build-time configuration that the
distributions could use as they deem fit while keeping the default for
compatibility.

Let's do that here as well.

Thanks for the set in general, good to see it fixed!

Signed-off-by: Lubomir Rintel <lkundrak@xxxxx>
---
[...]
+config IFB_COUNT
+ int "Number of ifb devices to pre-create at init time"
+ depends on IFB
+ default 3

Should that not be 2?

+ help
+ Static number of ifb devices to be unconditionally pre-created
+ at init time.
+
+ This default value can be overwritten on the kernel command
+ line or with module-parameter ifb.numifbs.
+
+ The historic default is 3. If a mid-2007 version of iproute2
+ is used (v2.6.23 or later), it can be set to 0, since needed
+ ifb devices can be dynamically allocated via rtnetlink.

[...]
-static int numifbs = 2;
^^^^^^^^^^^^
+static int numifbs = CONFIG_IFB_COUNT;
module_param(numifbs, int, 0);
MODULE_PARM_DESC(numifbs, "Number of ifb devices");

Btw, perhaps there should also be a pr_info() or the like to warn the user
that relying on modprobe creating these devs is deprecated and scheduled
for removal in future, so they should switch to ip link instead ...