Skip to contentSkip to conversation

New: max_address parameter is not taken into consideration when IPv6 addresses are created

Bugme-new Applied Andrew Morton 3 participants 3 messages Feb 22, 2010 – Feb 23, 2010 1 message not in the archive

Subsystems (3)
lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]/

#1 lore raw

(switched to email. Please respond via emailed reply-to-all, not via the bugzilla web interface).

Quoted 87 lines · On Wed, 17 Feb 2010 14:12:28 GMT [email protected] wrote:

http://bugzilla.kernel.org/show_bug.cgi?id=15342

Summary: max_address parameter is not taken into consideration
when IPv6 addresses are created
Product: Networking
Version: 2.5
Kernel Version: 2.6.32.5
Platform: All
OS/Version: Linux
Tree: Mainline
Status: NEW
Severity: low
Priority: P1
Component: IPV6
AssignedTo: [email protected]
ReportedBy: [email protected]
Regression: No

Quoted 1 line

From ip-sysctl.txt file in kernel documentation I can see following description

for max_addresses:
max_addresses - INTEGER
Number of maximum addresses per interface. 0 disables limitation. It is recommended not set too large value (or 0) because it would be too easy way to crash kernel to allow to create too much of autoconfigured addresses.
Default: 16

On my machine all parameters are set to default value 16:

# sysctl -a|grep max_addresses
net.ipv6.conf.all.max_addresses = 16
net.ipv6.conf.default.max_addresses = 16
net.ipv6.conf.lo.max_addresses = 16
net.ipv6.conf.eth0.max_addresses = 16

To my understanding I should not be able to create more than 16 IP addresses, but in fact I am able do it:

# for i in `seq 1 16`; do ip addr add fec0::$i/64 dev eth0; done
# ip addr add fec0::17/64 dev eth0
# ip -6 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 fec0::17/64 scope site
       valid_lft forever preferred_lft forever
    inet6 fec0::16/64 scope site
       valid_lft forever preferred_lft forever
    inet6 fec0::15/64 scope site
       valid_lft forever preferred_lft forever
    inet6 fec0::14/64 scope site
       valid_lft forever preferred_lft forever
    inet6 fec0::13/64 scope site
       valid_lft forever preferred_lft forever
    inet6 fec0::12/64 scope site
       valid_lft forever preferred_lft forever
    inet6 fec0::11/64 scope site
       valid_lft forever preferred_lft forever
    inet6 fec0::10/64 scope site
       valid_lft forever preferred_lft forever
    inet6 fec0::9/64 scope site
       valid_lft forever preferred_lft forever
    inet6 fec0::8/64 scope site
       valid_lft forever preferred_lft forever
    inet6 fec0::7/64 scope site
       valid_lft forever preferred_lft forever
    inet6 fec0::6/64 scope site
       valid_lft forever preferred_lft forever
    inet6 fec0::5/64 scope site
       valid_lft forever preferred_lft forever
    inet6 fec0::4/64 scope site
       valid_lft forever preferred_lft forever
    inet6 fec0::3/64 scope site
       valid_lft forever preferred_lft forever
    inet6 fec0::2/64 scope site
       valid_lft forever preferred_lft forever
    inet6 fec0::1/64 scope site
       valid_lft forever preferred_lft forever
    inet6 fe80::223:aeff:fe77:44ba/64 scope link
       valid_lft forever preferred_lft forever

If this parameter applies only for auto-configured IP addressed, please state it more clearly in docs or rename the parameter to show that it refers to auto-configuration.

#2 lore raw

PATCH 1/1 IPv6: better document max_addresses parameter

Quoted 7 lines · Andrew Morton
Quoted 7 lines
Quoted 1 line

From ip-sysctl.txt file in kernel documentation I can see following description

for max_addresses:
max_addresses - INTEGER
Number of maximum addresses per interface. 0 disables limitation. It is recommended not set too large value (or 0) because it would be too easy way to crash kernel to allow to create too much of autoconfigured addresses.

           ^^^^^^^^^^^^^^
Quoted 3 lines
Quoted 3 lines

If this parameter applies only for auto-configured IP addressed, please state it more clearly in docs or rename the parameter to show that it refers to auto-configuration.

It did mention autoconfigured in the text, but the below makes it more obvious.

More clearly document IPv6 max_addresses parameter.

---

Documentation/networking/ip-sysctl.txt +4 -4
index 2571a62..8b72c88 100644
@@ -1126,10 +1126,10 @@ regen_max_retry - INTEGER
 	Default: 5
 
 max_addresses - INTEGER
-	Number of maximum addresses per interface.  0 disables limitation.
-	It is recommended not set too large value (or 0) because it would
-	be too easy way to crash kernel to allow to create too much of
-	autoconfigured addresses.
+	Maximum number of autoconfigured addresses per interface.  Setting
+	to zero disables the limitation.  It is not recommended to set this
+	value too large (or to zero) because it would be an easy way to
+	crash the kernel by allowing too many addresses to be created.
 	Default: 16
 
 disable_ipv6 - BOOLEAN
maintainer Applied
#3 lore raw

Re: [PATCH] IPv6: better document max_addresses parameter

From: Brian Haley <[email protected]>
Date: Mon, 22 Feb 2010 17:27:21 -0500

Quoted 14 lines
Quoted 7 lines · Andrew Morton
Quoted 7 lines
Quoted 1 line

From ip-sysctl.txt file in kernel documentation I can see following description

for max_addresses:
max_addresses - INTEGER
Number of maximum addresses per interface. 0 disables limitation. It is recommended not set too large value (or 0) because it would be too easy way to crash kernel to allow to create too much of autoconfigured addresses.

           ^^^^^^^^^^^^^^
Quoted 3 lines
Quoted 3 lines

If this parameter applies only for auto-configured IP addressed, please state it more clearly in docs or rename the parameter to show that it refers to auto-configuration.

Quoted 6 lines

It did mention autoconfigured in the text, but the below makes it more obvious.

More clearly document IPv6 max_addresses parameter.

Applied.