Subject: Re: [RFC PATCH 1/5] geneve: remove MODULE_ALIAS_RTNL_LINK from net/ipv4/geneve.c

From: "John W. Linville" <[email-masked]>
Date: Fri, 3 Apr 2015 10:27:05 -0400

On Fri, Apr 03, 2015 at 02:17:55PM +0200, Jiri Pirko wrote:
> Fri, Apr 03, 2015 at 01:39:19AM CEST, [email-masked] wrote:
> >On Thu,  2 Apr 2015 15:17:02 -0400
> >"John W. Linville" <[email-masked]> wrote:
> >
> >> This file is essentially a library for implementing the geneve
> >> encapsulation protocol.  The file does not register any rtnl_link_ops,
> >> so the MODULE_ALIAS_RTNL_LINK macro is inappropriate here.
> >> 
> >> Signed-off-by: John W. Linville <[email-masked]>
> >> ---
> >>  net/ipv4/geneve.c | 1 -
> >>  1 file changed, 1 deletion(-)
> >> 
> >> diff --git a/net/ipv4/geneve.c b/net/ipv4/geneve.c
> >> index 5a4828ba05ad..ba5283adbee8 100644
> >> --- a/net/ipv4/geneve.c
> >> +++ b/net/ipv4/geneve.c
> >> @@ -450,4 +450,3 @@ module_exit(geneve_cleanup_module);
> >>  MODULE_LICENSE("GPL");
> >>  MODULE_AUTHOR("Jesse Gross <[email-masked]>");
> >>  MODULE_DESCRIPTION("Driver for GENEVE encapsulated traffic");
> >> -MODULE_ALIAS_RTNL_LINK("geneve");
> >
> >ok but then how does it get autoloaded?
> 
> There is no "struct rtnl_link_ops" defined for this. Therefore this does
> not have any sense. User might use rtnl to load the module, but why?
> That is clearly a bug which John is fixing.

Yes, exactly.  This module gets loaded via the depmod/modprobe magic
that handles loading modules to resolve external references during
the loadtime linking.

John
-- 
John W. Linville		Someday the world will need a hero, and you
[email-masked]			might be all we have.  Be ready.