Message ID | 20111228101958.2326b7cc@nehalam.linuxnetplumber.net |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Stephen Hemminger <shemminger@vyatta.com> Date: Wed, 28 Dec 2011 10:19:58 -0800 > When testing L2TP support, I discovered that the l2tp module is not autoloaded > as are other netlink interfaces. There is because of lack of hook in genetlink to call > request_module and load the module. > > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Applied, but for completeness we should probably also handle the "by ID" case right above this code block too. Could you please submit a patch for that? Thanks. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, 28 Dec 2011 13:49:39 -0500 (EST) David Miller <davem@davemloft.net> wrote: > From: Stephen Hemminger <shemminger@vyatta.com> > Date: Wed, 28 Dec 2011 10:19:58 -0800 > > > When testing L2TP support, I discovered that the l2tp module is not autoloaded > > as are other netlink interfaces. There is because of lack of hook in genetlink to call > > request_module and load the module. > > > > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> > > Applied, but for completeness we should probably also handle the "by ID" case right > above this code block too. > > Could you please submit a patch for that? > > Thanks. There is no point really. All the existing drivers, use GENL_ID_GENERATE which generates the ID when they are loaded. Chicken and egg principle. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Stephen Hemminger <shemminger@vyatta.com> Date: Wed, 28 Dec 2011 11:02:08 -0800 > On Wed, 28 Dec 2011 13:49:39 -0500 (EST) > David Miller <davem@davemloft.net> wrote: > >> From: Stephen Hemminger <shemminger@vyatta.com> >> Date: Wed, 28 Dec 2011 10:19:58 -0800 >> >> > When testing L2TP support, I discovered that the l2tp module is not autoloaded >> > as are other netlink interfaces. There is because of lack of hook in genetlink to call >> > request_module and load the module. >> > >> > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> >> >> Applied, but for completeness we should probably also handle the "by ID" case right >> above this code block too. >> >> Could you please submit a patch for that? >> >> Thanks. > > There is no point really. All the existing drivers, > use GENL_ID_GENERATE which generates the ID when they are loaded. > Chicken and egg principle. Ok, then I wonder why we support ID based lookups at all. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
--- a/net/netlink/genetlink.c 2011-12-24 11:13:44.373214171 -0800 +++ b/net/netlink/genetlink.c 2011-12-24 11:13:59.361360729 -0800 @@ -792,6 +792,15 @@ static int ctrl_getfamily(struct sk_buff name = nla_data(info->attrs[CTRL_ATTR_FAMILY_NAME]); res = genl_family_find_byname(name); +#ifdef CONFIG_MODULES + if (res == NULL) { + genl_unlock(); + request_module("net-pf-%d-proto-%d-type-%s", + PF_NETLINK, NETLINK_GENERIC, name); + genl_lock(); + res = genl_family_find_byname(name); + } +#endif err = -ENOENT; }
When testing L2TP support, I discovered that the l2tp module is not autoloaded as are other netlink interfaces. There is because of lack of hook in genetlink to call request_module and load the module. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html