Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > by-pkgid > 965e33040dd61030a94f0eb89877aee8 > files > 3203

howto-html-en-20080722-2mdv2010.1.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML
><HEAD
><TITLE
>IPv6-ready kernel</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
REL="HOME"
TITLE="Linux IPv6 HOWTO (en)"
HREF="index.html"><LINK
REL="UP"
TITLE="IPv6-ready system check"
HREF="chapter-systemcheck.html"><LINK
REL="PREVIOUS"
TITLE="IPv6-ready system check"
HREF="chapter-systemcheck.html"><LINK
REL="NEXT"
TITLE="IPv6-ready network configuration tools"
HREF="x789.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Linux IPv6 HOWTO (en)</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="chapter-systemcheck.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 4. IPv6-ready system check</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="x789.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="SYSTEMCHECK-KERNEL"
></A
>4.1. IPv6-ready kernel</H1
><P
>Modern Linux distributions already contain IPv6-ready kernels, the IPv6 capability is generally compiled as a module, but it's possible that this module is not loaded automatically on startup.</P
><P
>Note: you shouldn't anymore use kernel series 2.2.x, because it's not IPv6-up-to-date anymore. Also the IPv6 support in series 2.4.x is no longer improved according to definitions in latest RFCs. It's recommend to use series 2.6.x now.</P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN718"
></A
>4.1.1. Check for IPv6 support in the current running kernel</H2
><P
>To check, whether your current running kernel supports IPv6, take a look into your /proc-file-system. Following entry must exists: </P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>/proc/net/if_inet6</PRE
></FONT
></TD
></TR
></TABLE
><P
>A short automatical test looks like:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># test -f /proc/net/if_inet6 &#38;&#38; echo "Running kernel is IPv6 ready"</PRE
></FONT
></TD
></TR
></TABLE
><P
>If this fails, it is quite likely, that the IPv6 module is not loaded.</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN725"
></A
>4.1.2. Try to load IPv6 module</H2
><P
>You can try to load the IPv6 module executing</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># modprobe ipv6</PRE
></FONT
></TD
></TR
></TABLE
><P
>If this is successful, this module should be listed, testable with following auto-magically line:</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
># lsmod |grep -w 'ipv6' &#38;&#38; echo "IPv6 module successfully loaded"</PRE
></FONT
></TD
></TR
></TABLE
><P
>And the check shown above should now run successfully.</P
><P
>Note: unloading the module is currently not supported and can result, under some circumstances, in a kernel crash.</P
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="AEN733"
></A
>4.1.2.1. Automatically loading of module</H3
><P
>Its possible to automatically load the IPv6 module on demand. You only have to add following line in the configuration file of the kernel module loader (normally /etc/modules.conf or /etc/conf.modules):</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>alias net-pf-10 ipv6  # automatically load IPv6 module on demand</PRE
></FONT
></TD
></TR
></TABLE
><P
>It's also possible to disable automatically loading of the IPv6 module using following line</P
><TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>alias net-pf-10 off   # disable automatically load of IPv6 module on demand</PRE
></FONT
></TD
></TR
></TABLE
><P
>Additional note: in kernels series 2.6.x, the module loader mechanism was changed. The new configuration file has to be named /etc/modprobe.conf instead of /etc/modules.conf.</P
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN740"
></A
>4.1.3. Compile kernel with IPv6 capabilities</H2
><P
>If both above shown results were negative and your kernel has no IP6 support, than you have the following options:</P
><P
></P
><UL
><LI
><P
>Update your distribution to a current one which supports IPv6 out-of-the-box (recommended for newbies)</P
></LI
><LI
><P
>Compile a new vanilla kernel (easy, if you know which options you needed)</P
></LI
><LI
><P
>Recompile kernel sources given by your Linux distribution (sometimes not so easy)</P
></LI
><LI
><P
>Compile a kernel with USAGI extensions</P
></LI
></UL
><P
>If you decide to compile a kernel, you should have previous experience in kernel compiling and read the <A
HREF="http://www.tldp.org/HOWTO/Kernel-HOWTO.html"
TARGET="_top"
>Linux Kernel HOWTO</A
>.</P
><P
>A comparison between vanilla and USAGI extended kernels is available on <A
HREF="http://www.bieringer.de/linux/IPv6/status/IPv6+Linux-status-kernel.html"
TARGET="_top"
>IPv6+Linux-Status-Kernel</A
>.</P
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="AEN756"
></A
>4.1.3.1. Compiling a vanilla kernel</H3
><P
>More detailed hints about compiling an IPv6-enabled kernel can be found e.g. on <A
HREF="http://www.bieringer.de/linux/IPv6/IPv6-HOWTO/IPv6-HOWTO-2.html#kernel"
TARGET="_top"
>IPv6-HOWTO-2#kernel</A
>.</P
><P
>Note: you should use whenever possible kernel series 2.6.x or above, because the IPv6 support in series 2.4.x only will no longer get backported features from 2.6.x and IPv6 support in series 2.2.x is hopeless outdated.</P
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="AEN761"
></A
>4.1.3.2. Compiling a kernel with USAGI extensions</H3
><P
>Same as for vanilla kernel, only recommend for advanced users, which are already familiar with IPv6 and kernel compilation. See also <A
HREF="http://www.linux-ipv6.org/faq.html"
TARGET="_top"
>USAGI project / FAQ</A
> and <A
HREF="http://www.deepspace6.net/docs/best_ipv6_support.html"
TARGET="_top"
>Obtaining the best IPv6 support with Linux (Article)</A
> (<A
HREF="http://mirrors.bieringer.de/www.deepspace6.net/docs/best_ipv6_support.html"
TARGET="_top"
>Mirror</A
>).</P
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN767"
></A
>4.1.4. IPv6-ready network devices</H2
><P
>Not all existing network devices have already (or ever) the capability to transport IPv6 packets. A current status can be found at <A
HREF="http://www.bieringer.de/linux/IPv6/status/IPv6+Linux-status-kernel.html#transport"
TARGET="_top"
>IPv6+Linux-status-kernel.html#transport</A
>.</P
><P
>A major issue is that because of the network layer structure of kernel implementation an IPv6 packet isn't really recognized by it's IP header number (6 instead of 4). It's recognized by the protocol number of the Layer 2 transport protocol. Therefore any transport protocol which doesn't use such protocol number cannot dispatch IPv6 packets. Note: the packet is still transported over the link, but on receivers side, the dispatching won't work (you can see this e.g. using tcpdump).</P
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="AEN772"
></A
>4.1.4.1. Currently known never &#8220;IPv6 capable links&#8221;</H3
><P
></P
><UL
><LI
><P
>Serial Line IP (SLIP, <A
HREF="http://www.faqs.org/rfcs/rfc1055.html"
TARGET="_top"
>RFC 1055 / SLIP</A
>), should be better called now to SLIPv4, device named: slX</P
></LI
><LI
><P
>Parallel Line IP (PLIP), same like SLIP, device names: plipX</P
></LI
><LI
><P
>ISDN with encapsulation <EM
>rawip</EM
>, device names: isdnX</P
></LI
></UL
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="AEN783"
></A
>4.1.4.2. Currently known &#8220;not supported IPv6 capable links&#8221;</H3
><P
></P
><UL
><LI
><P
>ISDN with encapsulation <EM
>syncppp</EM
>, device names: ipppX (design issue of the ipppd, will be merged into more general PPP layer in kernel series 2.5.x)</P
></LI
></UL
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="chapter-systemcheck.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="x789.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>IPv6-ready system check</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="chapter-systemcheck.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>IPv6-ready network configuration tools</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>