Message ID | 20101129194805.851988995@vyatta.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Le lundi 29 novembre 2010 à 11:47 -0800, Stephen Hemminger a écrit : > pièce jointe document texte brut (ipip-alias.patch) > If ipip is built as a module the 'ip tunnel add' command would fail because > the ipip module was not being autoloaded. Adding an alias for > the tunl0 device name cause dev_load() to autoload it when needed. > > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> > > --- a/net/ipv4/ipip.c 2010-11-29 11:40:25.026277890 -0800 > +++ b/net/ipv4/ipip.c 2010-11-29 11:41:05.790681069 -0800 > @@ -913,3 +913,4 @@ static void __exit ipip_fini(void) > module_init(ipip_init); > module_exit(ipip_fini); > MODULE_LICENSE("GPL"); > +MODULE_ALIAS("tunl0"); I am not sure I understand you... Here, I do have ipip built as a module, and I have no problem : # lsmod|grep ipip # ip tunnel add cannot determine tunnel mode (ipip, gre or sit) # lsmod|grep ipip # ip tunnel add mode ipip # lsmod|grep ipip ipip 7692 0 tunnel4 2949 1 ipip # What am I missing ? -- 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 Tue, Nov 30, 2010 at 3:19 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote: > Le lundi 29 novembre 2010 à 11:47 -0800, Stephen Hemminger a écrit : >> pièce jointe document texte brut (ipip-alias.patch) >> If ipip is built as a module the 'ip tunnel add' command would fail because >> the ipip module was not being autoloaded. Adding an alias for >> the tunl0 device name cause dev_load() to autoload it when needed. >> >> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> >> >> --- a/net/ipv4/ipip.c 2010-11-29 11:40:25.026277890 -0800 >> +++ b/net/ipv4/ipip.c 2010-11-29 11:41:05.790681069 -0800 >> @@ -913,3 +913,4 @@ static void __exit ipip_fini(void) >> module_init(ipip_init); >> module_exit(ipip_fini); >> MODULE_LICENSE("GPL"); >> +MODULE_ALIAS("tunl0"); > > I am not sure I understand you... > > Here, I do have ipip built as a module, and I have no problem : > > # lsmod|grep ipip > # ip tunnel add > cannot determine tunnel mode (ipip, gre or sit) > # lsmod|grep ipip > # ip tunnel add mode ipip > # lsmod|grep ipip > ipip 7692 0 > tunnel4 2949 1 ipip > # > > What am I missing ? > > localhost linux # lsmod Module Size Used by ipv6 309359 12 localhost linux # ip -V ip utility, iproute2-ss091226 localhost linux # ip tunnel add mode gre ioctl: No such device localhost linux # ip tunnel add mode ipip ioctl: No such device localhost linux # modprobe ip_gre localhost linux # modprobe ipip localhost linux # ip tunnel add mode ipip localhost linux # ip tunnel add mode gre localhost linux # lsmod Module Size Used by ipip 8128 0 tunnel4 2683 1 ipip ip_gre 15055 0 gre 1967 1 ip_gre ipv6 309359 13 ip_gre
Le mardi 30 novembre 2010 à 15:55 +0800, Changli Gao a écrit : > On Tue, Nov 30, 2010 at 3:19 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote: > > Le lundi 29 novembre 2010 à 11:47 -0800, Stephen Hemminger a écrit : > >> pièce jointe document texte brut (ipip-alias.patch) > >> If ipip is built as a module the 'ip tunnel add' command would fail because > >> the ipip module was not being autoloaded. Adding an alias for > >> the tunl0 device name cause dev_load() to autoload it when needed. > >> > >> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> > >> > >> --- a/net/ipv4/ipip.c 2010-11-29 11:40:25.026277890 -0800 > >> +++ b/net/ipv4/ipip.c 2010-11-29 11:41:05.790681069 -0800 > >> @@ -913,3 +913,4 @@ static void __exit ipip_fini(void) > >> module_init(ipip_init); > >> module_exit(ipip_fini); > >> MODULE_LICENSE("GPL"); > >> +MODULE_ALIAS("tunl0"); > > > > I am not sure I understand you... > > > > Here, I do have ipip built as a module, and I have no problem : > > > > # lsmod|grep ipip > > # ip tunnel add > > cannot determine tunnel mode (ipip, gre or sit) > > # lsmod|grep ipip > > # ip tunnel add mode ipip > > # lsmod|grep ipip > > ipip 7692 0 > > tunnel4 2949 1 ipip > > # > > > > What am I missing ? > > > > > > localhost linux # lsmod > Module Size Used by > ipv6 309359 12 > localhost linux # ip -V > ip utility, iproute2-ss091226 > localhost linux # ip tunnel add mode gre > ioctl: No such device > localhost linux # ip tunnel add mode ipip > ioctl: No such device > localhost linux # modprobe ip_gre > localhost linux # modprobe ipip > localhost linux # ip tunnel add mode ipip > localhost linux # ip tunnel add mode gre > localhost linux # lsmod > Module Size Used by > ipip 8128 0 > tunnel4 2683 1 ipip > ip_gre 15055 0 > gre 1967 1 ip_gre > ipv6 309359 13 ip_gre > > Hmm. I still dont get it, ipv6 as a module ? Works well here. # lsmod Module Size Used by bonding 89194 0 ipv6 232889 29 bonding # ip tunnel add mode ipip # lsmod Module Size Used by ipip 6221 0 bonding 89194 0 ipv6 232889 29 bonding # ip -V ip utility, iproute2-ss100823 # -- 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 Tue, 30 Nov 2010 09:21:09 +0100 Eric Dumazet <eric.dumazet@gmail.com> wrote: > Le mardi 30 novembre 2010 à 15:55 +0800, Changli Gao a écrit : > > On Tue, Nov 30, 2010 at 3:19 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote: > > > Le lundi 29 novembre 2010 à 11:47 -0800, Stephen Hemminger a écrit : > > >> pièce jointe document texte brut (ipip-alias.patch) > > >> If ipip is built as a module the 'ip tunnel add' command would fail because > > >> the ipip module was not being autoloaded. Adding an alias for > > >> the tunl0 device name cause dev_load() to autoload it when needed. > > >> > > >> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> > > >> > > >> --- a/net/ipv4/ipip.c 2010-11-29 11:40:25.026277890 -0800 > > >> +++ b/net/ipv4/ipip.c 2010-11-29 11:41:05.790681069 -0800 > > >> @@ -913,3 +913,4 @@ static void __exit ipip_fini(void) > > >> module_init(ipip_init); > > >> module_exit(ipip_fini); > > >> MODULE_LICENSE("GPL"); > > >> +MODULE_ALIAS("tunl0"); > > > > > > I am not sure I understand you... > > > > > > Here, I do have ipip built as a module, and I have no problem : > > > > > > # lsmod|grep ipip > > > # ip tunnel add > > > cannot determine tunnel mode (ipip, gre or sit) > > > # lsmod|grep ipip > > > # ip tunnel add mode ipip > > > # lsmod|grep ipip > > > ipip 7692 0 > > > tunnel4 2949 1 ipip > > > # > > > > > > What am I missing ? > > > > > > > > > > localhost linux # lsmod > > Module Size Used by > > ipv6 309359 12 > > localhost linux # ip -V > > ip utility, iproute2-ss091226 > > localhost linux # ip tunnel add mode gre > > ioctl: No such device > > localhost linux # ip tunnel add mode ipip > > ioctl: No such device > > localhost linux # modprobe ip_gre > > localhost linux # modprobe ipip > > localhost linux # ip tunnel add mode ipip > > localhost linux # ip tunnel add mode gre > > localhost linux # lsmod > > Module Size Used by > > ipip 8128 0 > > tunnel4 2683 1 ipip > > ip_gre 15055 0 > > gre 1967 1 ip_gre > > ipv6 309359 13 ip_gre > > > > > > Hmm. I still dont get it, ipv6 as a module ? > > Works well here. > > # lsmod > Module Size Used by > bonding 89194 0 > ipv6 232889 29 bonding > # ip tunnel add mode ipip > # lsmod > Module Size Used by > ipip 6221 0 > bonding 89194 0 > ipv6 232889 29 bonding > # ip -V > ip utility, iproute2-ss100823 > # If you run debian there is a list of aliases in /etc/modprobe.d/aliases.conf that includes the ipip alias. My patch provides same information from the kernel. In olden times, the kernel relied more on user space defined aliases, but in the modern era MODULE_ALIAS() is used to provide that information. -- 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
Le mardi 30 novembre 2010 à 08:08 -0800, Stephen Hemminger a écrit : > If you run debian there is a list of aliases in /etc/modprobe.d/aliases.conf > that includes the ipip alias. > > My patch provides same information from the kernel. In olden times, > the kernel relied more on user space defined aliases, but in the modern > era MODULE_ALIAS() is used to provide that information. > Thanks for the clarification. Running an old Red Hat Enterprise Linux ES release 4 (Nahant Update 8) # cat /etc/modprobe.conf alias eth0 bnx2x alias eth1 bnx2x alias eth2 tg3 alias eth3 tg3 (No /etc/modprobe.d/ directory) But I can see the alias in the '.dist' file # grep ipip /etc/modprobe.conf.dist alias tunl0 ipip # mv /etc/modprobe.conf.dist /etc/modprobe.conf.dist.old # ip tunnel add mode ipip ioctl: No such device 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
--- a/net/ipv4/ipip.c 2010-11-29 11:40:25.026277890 -0800 +++ b/net/ipv4/ipip.c 2010-11-29 11:41:05.790681069 -0800 @@ -913,3 +913,4 @@ static void __exit ipip_fini(void) module_init(ipip_init); module_exit(ipip_fini); MODULE_LICENSE("GPL"); +MODULE_ALIAS("tunl0");
If ipip is built as a module the 'ip tunnel add' command would fail because the ipip module was not being autoloaded. Adding an alias for the tunl0 device name cause dev_load() to autoload it when needed. 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