mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-27 06:04:23 +08:00
59fbb3a61e
This patch makes MIPv6 loadable module named "mip6". Here is a modprobe.conf(5) example to load it automatically when user application uses XFRM state for MIPv6: alias xfrm-type-10-43 mip6 alias xfrm-type-10-60 mip6 Some MIPv6 feature is not included by this modular, however, it should not be affected to other features like either IPsec or IPv6 with and without the patch. We may discuss XFRM, MH (RAW socket) and ancillary data/sockopt separately for future work. Loadable features: * MH receiving check (to send ICMP error back) * RO header parsing and building (i.e. RH2 and HAO in DSTOPTS) * XFRM policy/state database handling for RO These are NOT covered as loadable: * Home Address flags and its rule on source address selection * XFRM sub policy (depends on its own kernel option) * XFRM functions to receive RO as IPv6 extension header * MH sending/receiving through raw socket if user application opens it (since raw socket allows to do so) * RH2 sending as ancillary data * RH2 operation with setsockopt(2) Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
210 lines
5.3 KiB
Plaintext
210 lines
5.3 KiB
Plaintext
#
|
|
# IPv6 configuration
|
|
#
|
|
|
|
# IPv6 as module will cause a CRASH if you try to unload it
|
|
config IPV6
|
|
tristate "The IPv6 protocol"
|
|
default m
|
|
---help---
|
|
This is complemental support for the IP version 6.
|
|
You will still be able to do traditional IPv4 networking as well.
|
|
|
|
For general information about IPv6, see
|
|
<http://playground.sun.com/pub/ipng/html/ipng-main.html>.
|
|
For Linux IPv6 development information, see <http://www.linux-ipv6.org>.
|
|
For specific information about IPv6 under Linux, read the HOWTO at
|
|
<http://www.bieringer.de/linux/IPv6/>.
|
|
|
|
To compile this protocol support as a module, choose M here: the
|
|
module will be called ipv6.
|
|
|
|
config IPV6_PRIVACY
|
|
bool "IPv6: Privacy Extensions support"
|
|
depends on IPV6
|
|
---help---
|
|
Privacy Extensions for Stateless Address Autoconfiguration in IPv6
|
|
support. With this option, additional periodically-alter
|
|
pseudo-random global-scope unicast address(es) will assigned to
|
|
your interface(s).
|
|
|
|
We use our standard pseudo random algorithm to generate randomized
|
|
interface identifier, instead of one described in RFC 3041.
|
|
|
|
By default, kernel do not generate temporary addresses.
|
|
To use temporary addresses, do
|
|
|
|
echo 2 >/proc/sys/net/ipv6/conf/all/use_tempaddr
|
|
|
|
See <file:Documentation/networking/ip-sysctl.txt> for details.
|
|
|
|
config IPV6_ROUTER_PREF
|
|
bool "IPv6: Router Preference (RFC 4191) support"
|
|
depends on IPV6
|
|
---help---
|
|
Router Preference is an optional extension to the Router
|
|
Advertisement message to improve the ability of hosts
|
|
to pick more appropriate router, especially when the hosts
|
|
is placed in a multi-homed network.
|
|
|
|
If unsure, say N.
|
|
|
|
config IPV6_ROUTE_INFO
|
|
bool "IPv6: Route Information (RFC 4191) support (EXPERIMENTAL)"
|
|
depends on IPV6_ROUTER_PREF && EXPERIMENTAL
|
|
---help---
|
|
This is experimental support of Route Information.
|
|
|
|
If unsure, say N.
|
|
|
|
config IPV6_OPTIMISTIC_DAD
|
|
bool "IPv6: Enable RFC 4429 Optimistic DAD (EXPERIMENTAL)"
|
|
depends on IPV6 && EXPERIMENTAL
|
|
---help---
|
|
This is experimental support for optimistic Duplicate
|
|
Address Detection. It allows for autoconfigured addresses
|
|
to be used more quickly.
|
|
|
|
If unsure, say N.
|
|
|
|
config INET6_AH
|
|
tristate "IPv6: AH transformation"
|
|
depends on IPV6
|
|
select XFRM
|
|
select CRYPTO
|
|
select CRYPTO_HMAC
|
|
select CRYPTO_MD5
|
|
select CRYPTO_SHA1
|
|
---help---
|
|
Support for IPsec AH.
|
|
|
|
If unsure, say Y.
|
|
|
|
config INET6_ESP
|
|
tristate "IPv6: ESP transformation"
|
|
depends on IPV6
|
|
select XFRM
|
|
select CRYPTO
|
|
select CRYPTO_HMAC
|
|
select CRYPTO_MD5
|
|
select CRYPTO_CBC
|
|
select CRYPTO_SHA1
|
|
select CRYPTO_DES
|
|
---help---
|
|
Support for IPsec ESP.
|
|
|
|
If unsure, say Y.
|
|
|
|
config INET6_IPCOMP
|
|
tristate "IPv6: IPComp transformation"
|
|
depends on IPV6
|
|
select XFRM
|
|
select INET6_XFRM_TUNNEL
|
|
select CRYPTO
|
|
select CRYPTO_DEFLATE
|
|
---help---
|
|
Support for IP Payload Compression Protocol (IPComp) (RFC3173),
|
|
typically needed for IPsec.
|
|
|
|
If unsure, say Y.
|
|
|
|
config IPV6_MIP6
|
|
tristate "IPv6: Mobility (EXPERIMENTAL)"
|
|
depends on IPV6 && EXPERIMENTAL
|
|
select XFRM
|
|
---help---
|
|
Support for IPv6 Mobility described in RFC 3775.
|
|
|
|
If unsure, say N.
|
|
|
|
config INET6_XFRM_TUNNEL
|
|
tristate
|
|
select INET6_TUNNEL
|
|
default n
|
|
|
|
config INET6_TUNNEL
|
|
tristate
|
|
default n
|
|
|
|
config INET6_XFRM_MODE_TRANSPORT
|
|
tristate "IPv6: IPsec transport mode"
|
|
depends on IPV6
|
|
default IPV6
|
|
select XFRM
|
|
---help---
|
|
Support for IPsec transport mode.
|
|
|
|
If unsure, say Y.
|
|
|
|
config INET6_XFRM_MODE_TUNNEL
|
|
tristate "IPv6: IPsec tunnel mode"
|
|
depends on IPV6
|
|
default IPV6
|
|
select XFRM
|
|
---help---
|
|
Support for IPsec tunnel mode.
|
|
|
|
If unsure, say Y.
|
|
|
|
config INET6_XFRM_MODE_BEET
|
|
tristate "IPv6: IPsec BEET mode"
|
|
depends on IPV6
|
|
default IPV6
|
|
select XFRM
|
|
---help---
|
|
Support for IPsec BEET mode.
|
|
|
|
If unsure, say Y.
|
|
|
|
config INET6_XFRM_MODE_ROUTEOPTIMIZATION
|
|
tristate "IPv6: MIPv6 route optimization mode (EXPERIMENTAL)"
|
|
depends on IPV6 && EXPERIMENTAL
|
|
select XFRM
|
|
---help---
|
|
Support for MIPv6 route optimization mode.
|
|
|
|
config IPV6_SIT
|
|
tristate "IPv6: IPv6-in-IPv4 tunnel (SIT driver)"
|
|
depends on IPV6
|
|
select INET_TUNNEL
|
|
default y
|
|
---help---
|
|
Tunneling means encapsulating data of one protocol type within
|
|
another protocol and sending it over a channel that understands the
|
|
encapsulating protocol. This driver implements encapsulation of IPv6
|
|
into IPv4 packets. This is useful if you want to connect two IPv6
|
|
networks over an IPv4-only path.
|
|
|
|
Saying M here will produce a module called sit.ko. If unsure, say Y.
|
|
|
|
config IPV6_TUNNEL
|
|
tristate "IPv6: IPv6-in-IPv6 tunnel"
|
|
select INET6_TUNNEL
|
|
depends on IPV6
|
|
---help---
|
|
Support for IPv6-in-IPv6 tunnels described in RFC 2473.
|
|
|
|
If unsure, say N.
|
|
|
|
config IPV6_MULTIPLE_TABLES
|
|
bool "IPv6: Multiple Routing Tables"
|
|
depends on IPV6 && EXPERIMENTAL
|
|
select FIB_RULES
|
|
---help---
|
|
Support multiple routing tables.
|
|
|
|
config IPV6_SUBTREES
|
|
bool "IPv6: source address based routing"
|
|
depends on IPV6_MULTIPLE_TABLES
|
|
---help---
|
|
Enable routing by source address or prefix.
|
|
|
|
The destination address is still the primary routing key, so mixing
|
|
normal and source prefix specific routes in the same routing table
|
|
may sometimes lead to unintended routing behavior. This can be
|
|
avoided by defining different routing tables for the normal and
|
|
source prefix specific routes.
|
|
|
|
If unsure, say N.
|
|
|