diff options
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/arm/Sharp-LH/ADC-LH7-Touchscreen | 61 | ||||
-rw-r--r-- | Documentation/arm/Sharp-LH/LCDPanels | 59 | ||||
-rw-r--r-- | Documentation/feature-removal-schedule.txt | 9 | ||||
-rw-r--r-- | Documentation/infiniband/ipoib.txt | 12 | ||||
-rw-r--r-- | Documentation/kernel-parameters.txt | 9 | ||||
-rw-r--r-- | Documentation/networking/README.ipw2200 | 10 | ||||
-rw-r--r-- | Documentation/networking/bonding.txt | 323 | ||||
-rw-r--r-- | Documentation/networking/ip-sysctl.txt | 7 | ||||
-rw-r--r-- | Documentation/networking/netdevices.txt | 8 |
9 files changed, 382 insertions, 116 deletions
diff --git a/Documentation/arm/Sharp-LH/ADC-LH7-Touchscreen b/Documentation/arm/Sharp-LH/ADC-LH7-Touchscreen new file mode 100644 index 000000000000..1e6a23fdf2fc --- /dev/null +++ b/Documentation/arm/Sharp-LH/ADC-LH7-Touchscreen | |||
@@ -0,0 +1,61 @@ | |||
1 | README on the ADC/Touchscreen Controller | ||
2 | ======================================== | ||
3 | |||
4 | The LH79524 and LH7A404 include a built-in Analog to Digital | ||
5 | controller (ADC) that is used to process input from a touchscreen. | ||
6 | The driver only implements a four-wire touch panel protocol. | ||
7 | |||
8 | The touchscreen driver is maintenance free except for the pen-down or | ||
9 | touch threshold. Some resistive displays and board combinations may | ||
10 | require tuning of this threshold. The driver exposes some of it's | ||
11 | internal state in the sys filesystem. If the kernel is configured | ||
12 | with it, CONFIG_SYSFS, and sysfs is mounted at /sys, there will be a | ||
13 | directory | ||
14 | |||
15 | /sys/devices/platform/adc-lh7.0 | ||
16 | |||
17 | containing these files. | ||
18 | |||
19 | -r--r--r-- 1 root root 4096 Jan 1 00:00 samples | ||
20 | -rw-r--r-- 1 root root 4096 Jan 1 00:00 threshold | ||
21 | -r--r--r-- 1 root root 4096 Jan 1 00:00 threshold_range | ||
22 | |||
23 | The threshold is the current touch threshold. It defaults to 750 on | ||
24 | most targets. | ||
25 | |||
26 | # cat threshold | ||
27 | 750 | ||
28 | |||
29 | The threshold_range contains the range of valid values for the | ||
30 | threshold. Values outside of this range will be silently ignored. | ||
31 | |||
32 | # cat threshold_range | ||
33 | 0 1023 | ||
34 | |||
35 | To change the threshold, write a value to the threshold file. | ||
36 | |||
37 | # echo 500 > threshold | ||
38 | # cat threshold | ||
39 | 500 | ||
40 | |||
41 | The samples file contains the most recently sampled values from the | ||
42 | ADC. There are 12. Below are typical of the last sampled values when | ||
43 | the pen has been released. The first two and last two samples are for | ||
44 | detecting whether or not the pen is down. The third through sixth are | ||
45 | X coordinate samples. The seventh through tenth are Y coordinate | ||
46 | samples. | ||
47 | |||
48 | # cat samples | ||
49 | 1023 1023 0 0 0 0 530 529 530 529 1023 1023 | ||
50 | |||
51 | To determine a reasonable threshold, press on the touch panel with an | ||
52 | appropriate stylus and read the values from samples. | ||
53 | |||
54 | # cat samples | ||
55 | 1023 676 92 103 101 102 855 919 922 922 1023 679 | ||
56 | |||
57 | The first and eleventh samples are discarded. Thus, the important | ||
58 | values are the second and twelfth which are used to determine if the | ||
59 | pen is down. When both are below the threshold, the driver registers | ||
60 | that the pen is down. When either is above the threshold, it | ||
61 | registers then pen is up. | ||
diff --git a/Documentation/arm/Sharp-LH/LCDPanels b/Documentation/arm/Sharp-LH/LCDPanels new file mode 100644 index 000000000000..fb1b21c2f2f4 --- /dev/null +++ b/Documentation/arm/Sharp-LH/LCDPanels | |||
@@ -0,0 +1,59 @@ | |||
1 | README on the LCD Panels | ||
2 | ======================== | ||
3 | |||
4 | Configuration options for several LCD panels, available from Logic PD, | ||
5 | are included in the kernel source. This README will help you | ||
6 | understand the configuration data and give you some guidance for | ||
7 | adding support for other panels if you wish. | ||
8 | |||
9 | |||
10 | lcd-panels.h | ||
11 | ------------ | ||
12 | |||
13 | There is no way, at present, to detect which panel is attached to the | ||
14 | system at runtime. Thus the kernel configuration is static. The file | ||
15 | arch/arm/mach-ld7a40x/lcd-panels.h (or similar) defines all of the | ||
16 | panel specific parameters. | ||
17 | |||
18 | It should be possible for this data to be shared among several device | ||
19 | families. The current layout may be insufficiently general, but it is | ||
20 | amenable to improvement. | ||
21 | |||
22 | |||
23 | PIXEL_CLOCK | ||
24 | ----------- | ||
25 | |||
26 | The panel data sheets will give a range of acceptable pixel clocks. | ||
27 | The fundamental LCDCLK input frequency is divided down by a PCD | ||
28 | constant in field '.tim2'. It may happen that it is impossible to set | ||
29 | the pixel clock within this range. A clock which is too slow will | ||
30 | tend to flicker. For the highest quality image, set the clock as high | ||
31 | as possible. | ||
32 | |||
33 | |||
34 | MARGINS | ||
35 | ------- | ||
36 | |||
37 | These values may be difficult to glean from the panel data sheet. In | ||
38 | the case of the Sharp panels, the upper margin is explicitly called | ||
39 | out as a specific number of lines from the top of the frame. The | ||
40 | other values may not matter as much as the panels tend to | ||
41 | automatically center the image. | ||
42 | |||
43 | |||
44 | Sync Sense | ||
45 | ---------- | ||
46 | |||
47 | The sense of the hsync and vsync pulses may be called out in the data | ||
48 | sheet. On one panel, the sense of these pulses determine the height | ||
49 | of the visible region on the panel. Most of the Sharp panels use | ||
50 | negative sense sync pulses set by the TIM2_IHS and TIM2_IVS bits in | ||
51 | '.tim2'. | ||
52 | |||
53 | |||
54 | Pel Layout | ||
55 | ---------- | ||
56 | |||
57 | The Sharp color TFT panels are all configured for 16 bit direct color | ||
58 | modes. The amba-lcd driver sets the pel mode to 565 for 5 bits of | ||
59 | each red and blue and 6 bits of green. | ||
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt index 43ab119963d5..f50cf8fac3f0 100644 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt | |||
@@ -212,15 +212,6 @@ Who: Greg Kroah-Hartman <gregkh@suse.de> | |||
212 | 212 | ||
213 | --------------------------- | 213 | --------------------------- |
214 | 214 | ||
215 | What: Support for NEC DDB5074 and DDB5476 evaluation boards. | ||
216 | When: June 2006 | ||
217 | Why: Board specific code doesn't build anymore since ~2.6.0 and no | ||
218 | users have complained indicating there is no more need for these | ||
219 | boards. This should really be considered a last call. | ||
220 | Who: Ralf Baechle <ralf@linux-mips.org> | ||
221 | |||
222 | --------------------------- | ||
223 | |||
224 | What: USB driver API moves to EXPORT_SYMBOL_GPL | 215 | What: USB driver API moves to EXPORT_SYMBOL_GPL |
225 | When: Febuary 2008 | 216 | When: Febuary 2008 |
226 | Files: include/linux/usb.h, drivers/usb/core/driver.c | 217 | Files: include/linux/usb.h, drivers/usb/core/driver.c |
diff --git a/Documentation/infiniband/ipoib.txt b/Documentation/infiniband/ipoib.txt index 5c5a4ccce76a..187035560d7f 100644 --- a/Documentation/infiniband/ipoib.txt +++ b/Documentation/infiniband/ipoib.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | IP OVER INFINIBAND | 1 | IP OVER INFINIBAND |
2 | 2 | ||
3 | The ib_ipoib driver is an implementation of the IP over InfiniBand | 3 | The ib_ipoib driver is an implementation of the IP over InfiniBand |
4 | protocol as specified by the latest Internet-Drafts issued by the | 4 | protocol as specified by RFC 4391 and 4392, issued by the IETF ipoib |
5 | IETF ipoib working group. It is a "native" implementation in the | 5 | working group. It is a "native" implementation in the sense of |
6 | sense of setting the interface type to ARPHRD_INFINIBAND and the | 6 | setting the interface type to ARPHRD_INFINIBAND and the hardware |
7 | hardware address length to 20 (earlier proprietary implementations | 7 | address length to 20 (earlier proprietary implementations |
8 | masqueraded to the kernel as ethernet interfaces). | 8 | masqueraded to the kernel as ethernet interfaces). |
9 | 9 | ||
10 | Partitions and P_Keys | 10 | Partitions and P_Keys |
@@ -53,3 +53,7 @@ References | |||
53 | 53 | ||
54 | IETF IP over InfiniBand (ipoib) Working Group | 54 | IETF IP over InfiniBand (ipoib) Working Group |
55 | http://ietf.org/html.charters/ipoib-charter.html | 55 | http://ietf.org/html.charters/ipoib-charter.html |
56 | Transmission of IP over InfiniBand (IPoIB) (RFC 4391) | ||
57 | http://ietf.org/rfc/rfc4391.txt | ||
58 | IP over InfiniBand (IPoIB) Architecture (RFC 4392) | ||
59 | http://ietf.org/rfc/rfc4392.txt | ||
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index b3a6187e5305..a9d3a1794b23 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -1402,6 +1402,15 @@ running once the system is up. | |||
1402 | If enabled at boot time, /selinux/disable can be used | 1402 | If enabled at boot time, /selinux/disable can be used |
1403 | later to disable prior to initial policy load. | 1403 | later to disable prior to initial policy load. |
1404 | 1404 | ||
1405 | selinux_compat_net = | ||
1406 | [SELINUX] Set initial selinux_compat_net flag value. | ||
1407 | Format: { "0" | "1" } | ||
1408 | 0 -- use new secmark-based packet controls | ||
1409 | 1 -- use legacy packet controls | ||
1410 | Default value is 0 (preferred). | ||
1411 | Value can be changed at runtime via | ||
1412 | /selinux/compat_net. | ||
1413 | |||
1405 | serialnumber [BUGS=IA-32] | 1414 | serialnumber [BUGS=IA-32] |
1406 | 1415 | ||
1407 | sg_def_reserved_size= [SCSI] | 1416 | sg_def_reserved_size= [SCSI] |
diff --git a/Documentation/networking/README.ipw2200 b/Documentation/networking/README.ipw2200 index acb30c5dcff3..4f2a40f1dbc6 100644 --- a/Documentation/networking/README.ipw2200 +++ b/Documentation/networking/README.ipw2200 | |||
@@ -14,8 +14,8 @@ Copyright (C) 2004-2006, Intel Corporation | |||
14 | 14 | ||
15 | README.ipw2200 | 15 | README.ipw2200 |
16 | 16 | ||
17 | Version: 1.0.8 | 17 | Version: 1.1.2 |
18 | Date : October 20, 2005 | 18 | Date : March 30, 2006 |
19 | 19 | ||
20 | 20 | ||
21 | Index | 21 | Index |
@@ -103,7 +103,7 @@ file. | |||
103 | 103 | ||
104 | 1.1. Overview of Features | 104 | 1.1. Overview of Features |
105 | ----------------------------------------------- | 105 | ----------------------------------------------- |
106 | The current release (1.0.8) supports the following features: | 106 | The current release (1.1.2) supports the following features: |
107 | 107 | ||
108 | + BSS mode (Infrastructure, Managed) | 108 | + BSS mode (Infrastructure, Managed) |
109 | + IBSS mode (Ad-Hoc) | 109 | + IBSS mode (Ad-Hoc) |
@@ -247,8 +247,8 @@ and can set the contents via echo. For example: | |||
247 | % cat /sys/bus/pci/drivers/ipw2200/debug_level | 247 | % cat /sys/bus/pci/drivers/ipw2200/debug_level |
248 | 248 | ||
249 | Will report the current debug level of the driver's logging subsystem | 249 | Will report the current debug level of the driver's logging subsystem |
250 | (only available if CONFIG_IPW_DEBUG was configured when the driver was | 250 | (only available if CONFIG_IPW2200_DEBUG was configured when the driver |
251 | built). | 251 | was built). |
252 | 252 | ||
253 | You can set the debug level via: | 253 | You can set the debug level via: |
254 | 254 | ||
diff --git a/Documentation/networking/bonding.txt b/Documentation/networking/bonding.txt index 8d8b4e5ea184..afac780445cd 100644 --- a/Documentation/networking/bonding.txt +++ b/Documentation/networking/bonding.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | 1 | ||
2 | Linux Ethernet Bonding Driver HOWTO | 2 | Linux Ethernet Bonding Driver HOWTO |
3 | 3 | ||
4 | Latest update: 21 June 2005 | 4 | Latest update: 24 April 2006 |
5 | 5 | ||
6 | Initial release : Thomas Davis <tadavis at lbl.gov> | 6 | Initial release : Thomas Davis <tadavis at lbl.gov> |
7 | Corrections, HA extensions : 2000/10/03-15 : | 7 | Corrections, HA extensions : 2000/10/03-15 : |
@@ -12,6 +12,8 @@ Corrections, HA extensions : 2000/10/03-15 : | |||
12 | - Jay Vosburgh <fubar at us dot ibm dot com> | 12 | - Jay Vosburgh <fubar at us dot ibm dot com> |
13 | 13 | ||
14 | Reorganized and updated Feb 2005 by Jay Vosburgh | 14 | Reorganized and updated Feb 2005 by Jay Vosburgh |
15 | Added Sysfs information: 2006/04/24 | ||
16 | - Mitch Williams <mitch.a.williams at intel.com> | ||
15 | 17 | ||
16 | Introduction | 18 | Introduction |
17 | ============ | 19 | ============ |
@@ -38,61 +40,62 @@ Table of Contents | |||
38 | 2. Bonding Driver Options | 40 | 2. Bonding Driver Options |
39 | 41 | ||
40 | 3. Configuring Bonding Devices | 42 | 3. Configuring Bonding Devices |
41 | 3.1 Configuration with sysconfig support | 43 | 3.1 Configuration with Sysconfig Support |
42 | 3.1.1 Using DHCP with sysconfig | 44 | 3.1.1 Using DHCP with Sysconfig |
43 | 3.1.2 Configuring Multiple Bonds with sysconfig | 45 | 3.1.2 Configuring Multiple Bonds with Sysconfig |
44 | 3.2 Configuration with initscripts support | 46 | 3.2 Configuration with Initscripts Support |
45 | 3.2.1 Using DHCP with initscripts | 47 | 3.2.1 Using DHCP with Initscripts |
46 | 3.2.2 Configuring Multiple Bonds with initscripts | 48 | 3.2.2 Configuring Multiple Bonds with Initscripts |
47 | 3.3 Configuring Bonding Manually | 49 | 3.3 Configuring Bonding Manually with Ifenslave |
48 | 3.3.1 Configuring Multiple Bonds Manually | 50 | 3.3.1 Configuring Multiple Bonds Manually |
51 | 3.4 Configuring Bonding Manually via Sysfs | ||
49 | 52 | ||
50 | 5. Querying Bonding Configuration | 53 | 4. Querying Bonding Configuration |
51 | 5.1 Bonding Configuration | 54 | 4.1 Bonding Configuration |
52 | 5.2 Network Configuration | 55 | 4.2 Network Configuration |
53 | 56 | ||
54 | 6. Switch Configuration | 57 | 5. Switch Configuration |
55 | 58 | ||
56 | 7. 802.1q VLAN Support | 59 | 6. 802.1q VLAN Support |
57 | 60 | ||
58 | 8. Link Monitoring | 61 | 7. Link Monitoring |
59 | 8.1 ARP Monitor Operation | 62 | 7.1 ARP Monitor Operation |
60 | 8.2 Configuring Multiple ARP Targets | 63 | 7.2 Configuring Multiple ARP Targets |
61 | 8.3 MII Monitor Operation | 64 | 7.3 MII Monitor Operation |
62 | 65 | ||
63 | 9. Potential Trouble Sources | 66 | 8. Potential Trouble Sources |
64 | 9.1 Adventures in Routing | 67 | 8.1 Adventures in Routing |
65 | 9.2 Ethernet Device Renaming | 68 | 8.2 Ethernet Device Renaming |
66 | 9.3 Painfully Slow Or No Failed Link Detection By Miimon | 69 | 8.3 Painfully Slow Or No Failed Link Detection By Miimon |
67 | 70 | ||
68 | 10. SNMP agents | 71 | 9. SNMP agents |
69 | 72 | ||
70 | 11. Promiscuous mode | 73 | 10. Promiscuous mode |
71 | 74 | ||
72 | 12. Configuring Bonding for High Availability | 75 | 11. Configuring Bonding for High Availability |
73 | 12.1 High Availability in a Single Switch Topology | 76 | 11.1 High Availability in a Single Switch Topology |
74 | 12.2 High Availability in a Multiple Switch Topology | 77 | 11.2 High Availability in a Multiple Switch Topology |
75 | 12.2.1 HA Bonding Mode Selection for Multiple Switch Topology | 78 | 11.2.1 HA Bonding Mode Selection for Multiple Switch Topology |
76 | 12.2.2 HA Link Monitoring for Multiple Switch Topology | 79 | 11.2.2 HA Link Monitoring for Multiple Switch Topology |
77 | 80 | ||
78 | 13. Configuring Bonding for Maximum Throughput | 81 | 12. Configuring Bonding for Maximum Throughput |
79 | 13.1 Maximum Throughput in a Single Switch Topology | 82 | 12.1 Maximum Throughput in a Single Switch Topology |
80 | 13.1.1 MT Bonding Mode Selection for Single Switch Topology | 83 | 12.1.1 MT Bonding Mode Selection for Single Switch Topology |
81 | 13.1.2 MT Link Monitoring for Single Switch Topology | 84 | 12.1.2 MT Link Monitoring for Single Switch Topology |
82 | 13.2 Maximum Throughput in a Multiple Switch Topology | 85 | 12.2 Maximum Throughput in a Multiple Switch Topology |
83 | 13.2.1 MT Bonding Mode Selection for Multiple Switch Topology | 86 | 12.2.1 MT Bonding Mode Selection for Multiple Switch Topology |
84 | 13.2.2 MT Link Monitoring for Multiple Switch Topology | 87 | 12.2.2 MT Link Monitoring for Multiple Switch Topology |
85 | 88 | ||
86 | 14. Switch Behavior Issues | 89 | 13. Switch Behavior Issues |
87 | 14.1 Link Establishment and Failover Delays | 90 | 13.1 Link Establishment and Failover Delays |
88 | 14.2 Duplicated Incoming Packets | 91 | 13.2 Duplicated Incoming Packets |
89 | 92 | ||
90 | 15. Hardware Specific Considerations | 93 | 14. Hardware Specific Considerations |
91 | 15.1 IBM BladeCenter | 94 | 14.1 IBM BladeCenter |
92 | 95 | ||
93 | 16. Frequently Asked Questions | 96 | 15. Frequently Asked Questions |
94 | 97 | ||
95 | 17. Resources and Links | 98 | 16. Resources and Links |
96 | 99 | ||
97 | 100 | ||
98 | 1. Bonding Driver Installation | 101 | 1. Bonding Driver Installation |
@@ -156,6 +159,9 @@ you're trying to build it for. Some distros (e.g., Red Hat from 7.1 | |||
156 | onwards) do not have /usr/include/linux symbolically linked to the | 159 | onwards) do not have /usr/include/linux symbolically linked to the |
157 | default kernel source include directory. | 160 | default kernel source include directory. |
158 | 161 | ||
162 | SECOND IMPORTANT NOTE: | ||
163 | If you plan to configure bonding using sysfs, you do not need | ||
164 | to use ifenslave. | ||
159 | 165 | ||
160 | 2. Bonding Driver Options | 166 | 2. Bonding Driver Options |
161 | ========================= | 167 | ========================= |
@@ -270,7 +276,7 @@ mode | |||
270 | In bonding version 2.6.2 or later, when a failover | 276 | In bonding version 2.6.2 or later, when a failover |
271 | occurs in active-backup mode, bonding will issue one | 277 | occurs in active-backup mode, bonding will issue one |
272 | or more gratuitous ARPs on the newly active slave. | 278 | or more gratuitous ARPs on the newly active slave. |
273 | One gratutious ARP is issued for the bonding master | 279 | One gratuitous ARP is issued for the bonding master |
274 | interface and each VLAN interfaces configured above | 280 | interface and each VLAN interfaces configured above |
275 | it, provided that the interface has at least one IP | 281 | it, provided that the interface has at least one IP |
276 | address configured. Gratuitous ARPs issued for VLAN | 282 | address configured. Gratuitous ARPs issued for VLAN |
@@ -377,7 +383,7 @@ mode | |||
377 | When a link is reconnected or a new slave joins the | 383 | When a link is reconnected or a new slave joins the |
378 | bond the receive traffic is redistributed among all | 384 | bond the receive traffic is redistributed among all |
379 | active slaves in the bond by initiating ARP Replies | 385 | active slaves in the bond by initiating ARP Replies |
380 | with the selected mac address to each of the | 386 | with the selected MAC address to each of the |
381 | clients. The updelay parameter (detailed below) must | 387 | clients. The updelay parameter (detailed below) must |
382 | be set to a value equal or greater than the switch's | 388 | be set to a value equal or greater than the switch's |
383 | forwarding delay so that the ARP Replies sent to the | 389 | forwarding delay so that the ARP Replies sent to the |
@@ -498,11 +504,12 @@ not exist, and the layer2 policy is the only policy. | |||
498 | 3. Configuring Bonding Devices | 504 | 3. Configuring Bonding Devices |
499 | ============================== | 505 | ============================== |
500 | 506 | ||
501 | There are, essentially, two methods for configuring bonding: | 507 | You can configure bonding using either your distro's network |
502 | with support from the distro's network initialization scripts, and | 508 | initialization scripts, or manually using either ifenslave or the |
503 | without. Distros generally use one of two packages for the network | 509 | sysfs interface. Distros generally use one of two packages for the |
504 | initialization scripts: initscripts or sysconfig. Recent versions of | 510 | network initialization scripts: initscripts or sysconfig. Recent |
505 | these packages have support for bonding, while older versions do not. | 511 | versions of these packages have support for bonding, while older |
512 | versions do not. | ||
506 | 513 | ||
507 | We will first describe the options for configuring bonding for | 514 | We will first describe the options for configuring bonding for |
508 | distros using versions of initscripts and sysconfig with full or | 515 | distros using versions of initscripts and sysconfig with full or |
@@ -530,7 +537,7 @@ $ grep ifenslave /sbin/ifup | |||
530 | If this returns any matches, then your initscripts or | 537 | If this returns any matches, then your initscripts or |
531 | sysconfig has support for bonding. | 538 | sysconfig has support for bonding. |
532 | 539 | ||
533 | 3.1 Configuration with sysconfig support | 540 | 3.1 Configuration with Sysconfig Support |
534 | ---------------------------------------- | 541 | ---------------------------------------- |
535 | 542 | ||
536 | This section applies to distros using a version of sysconfig | 543 | This section applies to distros using a version of sysconfig |
@@ -538,7 +545,7 @@ with bonding support, for example, SuSE Linux Enterprise Server 9. | |||
538 | 545 | ||
539 | SuSE SLES 9's networking configuration system does support | 546 | SuSE SLES 9's networking configuration system does support |
540 | bonding, however, at this writing, the YaST system configuration | 547 | bonding, however, at this writing, the YaST system configuration |
541 | frontend does not provide any means to work with bonding devices. | 548 | front end does not provide any means to work with bonding devices. |
542 | Bonding devices can be managed by hand, however, as follows. | 549 | Bonding devices can be managed by hand, however, as follows. |
543 | 550 | ||
544 | First, if they have not already been configured, configure the | 551 | First, if they have not already been configured, configure the |
@@ -660,7 +667,7 @@ format can be found in an example ifcfg template file: | |||
660 | Note that the template does not document the various BONDING_ | 667 | Note that the template does not document the various BONDING_ |
661 | settings described above, but does describe many of the other options. | 668 | settings described above, but does describe many of the other options. |
662 | 669 | ||
663 | 3.1.1 Using DHCP with sysconfig | 670 | 3.1.1 Using DHCP with Sysconfig |
664 | ------------------------------- | 671 | ------------------------------- |
665 | 672 | ||
666 | Under sysconfig, configuring a device with BOOTPROTO='dhcp' | 673 | Under sysconfig, configuring a device with BOOTPROTO='dhcp' |
@@ -670,7 +677,7 @@ attempt to obtain the device address from DHCP prior to adding any of | |||
670 | the slave devices. Without active slaves, the DHCP requests are not | 677 | the slave devices. Without active slaves, the DHCP requests are not |
671 | sent to the network. | 678 | sent to the network. |
672 | 679 | ||
673 | 3.1.2 Configuring Multiple Bonds with sysconfig | 680 | 3.1.2 Configuring Multiple Bonds with Sysconfig |
674 | ----------------------------------------------- | 681 | ----------------------------------------------- |
675 | 682 | ||
676 | The sysconfig network initialization system is capable of | 683 | The sysconfig network initialization system is capable of |
@@ -685,7 +692,7 @@ ifcfg-bondX files. | |||
685 | options in the ifcfg-bondX file, it is not necessary to add them to | 692 | options in the ifcfg-bondX file, it is not necessary to add them to |
686 | the system /etc/modules.conf or /etc/modprobe.conf configuration file. | 693 | the system /etc/modules.conf or /etc/modprobe.conf configuration file. |
687 | 694 | ||
688 | 3.2 Configuration with initscripts support | 695 | 3.2 Configuration with Initscripts Support |
689 | ------------------------------------------ | 696 | ------------------------------------------ |
690 | 697 | ||
691 | This section applies to distros using a version of initscripts | 698 | This section applies to distros using a version of initscripts |
@@ -756,7 +763,7 @@ options for your configuration. | |||
756 | will restart the networking subsystem and your bond link should be now | 763 | will restart the networking subsystem and your bond link should be now |
757 | up and running. | 764 | up and running. |
758 | 765 | ||
759 | 3.2.1 Using DHCP with initscripts | 766 | 3.2.1 Using DHCP with Initscripts |
760 | --------------------------------- | 767 | --------------------------------- |
761 | 768 | ||
762 | Recent versions of initscripts (the version supplied with | 769 | Recent versions of initscripts (the version supplied with |
@@ -768,7 +775,7 @@ above, except replace the line "BOOTPROTO=none" with "BOOTPROTO=dhcp" | |||
768 | and add a line consisting of "TYPE=Bonding". Note that the TYPE value | 775 | and add a line consisting of "TYPE=Bonding". Note that the TYPE value |
769 | is case sensitive. | 776 | is case sensitive. |
770 | 777 | ||
771 | 3.2.2 Configuring Multiple Bonds with initscripts | 778 | 3.2.2 Configuring Multiple Bonds with Initscripts |
772 | ------------------------------------------------- | 779 | ------------------------------------------------- |
773 | 780 | ||
774 | At this writing, the initscripts package does not directly | 781 | At this writing, the initscripts package does not directly |
@@ -784,8 +791,8 @@ Fedora Core kernels, and has been seen on RHEL 4 as well. On kernels | |||
784 | exhibiting this problem, it will be impossible to configure multiple | 791 | exhibiting this problem, it will be impossible to configure multiple |
785 | bonds with differing parameters. | 792 | bonds with differing parameters. |
786 | 793 | ||
787 | 3.3 Configuring Bonding Manually | 794 | 3.3 Configuring Bonding Manually with Ifenslave |
788 | -------------------------------- | 795 | ----------------------------------------------- |
789 | 796 | ||
790 | This section applies to distros whose network initialization | 797 | This section applies to distros whose network initialization |
791 | scripts (the sysconfig or initscripts package) do not have specific | 798 | scripts (the sysconfig or initscripts package) do not have specific |
@@ -889,11 +896,139 @@ install bond1 /sbin/modprobe --ignore-install bonding -o bond1 \ | |||
889 | This may be repeated any number of times, specifying a new and | 896 | This may be repeated any number of times, specifying a new and |
890 | unique name in place of bond1 for each subsequent instance. | 897 | unique name in place of bond1 for each subsequent instance. |
891 | 898 | ||
899 | 3.4 Configuring Bonding Manually via Sysfs | ||
900 | ------------------------------------------ | ||
901 | |||
902 | Starting with version 3.0, Channel Bonding may be configured | ||
903 | via the sysfs interface. This interface allows dynamic configuration | ||
904 | of all bonds in the system without unloading the module. It also | ||
905 | allows for adding and removing bonds at runtime. Ifenslave is no | ||
906 | longer required, though it is still supported. | ||
907 | |||
908 | Use of the sysfs interface allows you to use multiple bonds | ||
909 | with different configurations without having to reload the module. | ||
910 | It also allows you to use multiple, differently configured bonds when | ||
911 | bonding is compiled into the kernel. | ||
912 | |||
913 | You must have the sysfs filesystem mounted to configure | ||
914 | bonding this way. The examples in this document assume that you | ||
915 | are using the standard mount point for sysfs, e.g. /sys. If your | ||
916 | sysfs filesystem is mounted elsewhere, you will need to adjust the | ||
917 | example paths accordingly. | ||
918 | |||
919 | Creating and Destroying Bonds | ||
920 | ----------------------------- | ||
921 | To add a new bond foo: | ||
922 | # echo +foo > /sys/class/net/bonding_masters | ||
923 | |||
924 | To remove an existing bond bar: | ||
925 | # echo -bar > /sys/class/net/bonding_masters | ||
926 | |||
927 | To show all existing bonds: | ||
928 | # cat /sys/class/net/bonding_masters | ||
929 | |||
930 | NOTE: due to 4K size limitation of sysfs files, this list may be | ||
931 | truncated if you have more than a few hundred bonds. This is unlikely | ||
932 | to occur under normal operating conditions. | ||
933 | |||
934 | Adding and Removing Slaves | ||
935 | -------------------------- | ||
936 | Interfaces may be enslaved to a bond using the file | ||
937 | /sys/class/net/<bond>/bonding/slaves. The semantics for this file | ||
938 | are the same as for the bonding_masters file. | ||
939 | |||
940 | To enslave interface eth0 to bond bond0: | ||
941 | # ifconfig bond0 up | ||
942 | # echo +eth0 > /sys/class/net/bond0/bonding/slaves | ||
943 | |||
944 | To free slave eth0 from bond bond0: | ||
945 | # echo -eth0 > /sys/class/net/bond0/bonding/slaves | ||
946 | |||
947 | NOTE: The bond must be up before slaves can be added. All | ||
948 | slaves are freed when the interface is brought down. | ||
949 | |||
950 | When an interface is enslaved to a bond, symlinks between the | ||
951 | two are created in the sysfs filesystem. In this case, you would get | ||
952 | /sys/class/net/bond0/slave_eth0 pointing to /sys/class/net/eth0, and | ||
953 | /sys/class/net/eth0/master pointing to /sys/class/net/bond0. | ||
954 | |||
955 | This means that you can tell quickly whether or not an | ||
956 | interface is enslaved by looking for the master symlink. Thus: | ||
957 | # echo -eth0 > /sys/class/net/eth0/master/bonding/slaves | ||
958 | will free eth0 from whatever bond it is enslaved to, regardless of | ||
959 | the name of the bond interface. | ||
960 | |||
961 | Changing a Bond's Configuration | ||
962 | ------------------------------- | ||
963 | Each bond may be configured individually by manipulating the | ||
964 | files located in /sys/class/net/<bond name>/bonding | ||
965 | |||
966 | The names of these files correspond directly with the command- | ||
967 | line parameters described elsewhere in in this file, and, with the | ||
968 | exception of arp_ip_target, they accept the same values. To see the | ||
969 | current setting, simply cat the appropriate file. | ||
970 | |||
971 | A few examples will be given here; for specific usage | ||
972 | guidelines for each parameter, see the appropriate section in this | ||
973 | document. | ||
974 | |||
975 | To configure bond0 for balance-alb mode: | ||
976 | # ifconfig bond0 down | ||
977 | # echo 6 > /sys/class/net/bond0/bonding/mode | ||
978 | - or - | ||
979 | # echo balance-alb > /sys/class/net/bond0/bonding/mode | ||
980 | NOTE: The bond interface must be down before the mode can be | ||
981 | changed. | ||
982 | |||
983 | To enable MII monitoring on bond0 with a 1 second interval: | ||
984 | # echo 1000 > /sys/class/net/bond0/bonding/miimon | ||
985 | NOTE: If ARP monitoring is enabled, it will disabled when MII | ||
986 | monitoring is enabled, and vice-versa. | ||
987 | |||
988 | To add ARP targets: | ||
989 | # echo +192.168.0.100 > /sys/class/net/bond0/bonding/arp_ip_target | ||
990 | # echo +192.168.0.101 > /sys/class/net/bond0/bonding/arp_ip_target | ||
991 | NOTE: up to 10 target addresses may be specified. | ||
992 | |||
993 | To remove an ARP target: | ||
994 | # echo -192.168.0.100 > /sys/class/net/bond0/bonding/arp_ip_target | ||
995 | |||
996 | Example Configuration | ||
997 | --------------------- | ||
998 | We begin with the same example that is shown in section 3.3, | ||
999 | executed with sysfs, and without using ifenslave. | ||
1000 | |||
1001 | To make a simple bond of two e100 devices (presumed to be eth0 | ||
1002 | and eth1), and have it persist across reboots, edit the appropriate | ||
1003 | file (/etc/init.d/boot.local or /etc/rc.d/rc.local), and add the | ||
1004 | following: | ||
1005 | |||
1006 | modprobe bonding | ||
1007 | modprobe e100 | ||
1008 | echo balance-alb > /sys/class/net/bond0/bonding/mode | ||
1009 | ifconfig bond0 192.168.1.1 netmask 255.255.255.0 up | ||
1010 | echo 100 > /sys/class/net/bond0/bonding/miimon | ||
1011 | echo +eth0 > /sys/class/net/bond0/bonding/slaves | ||
1012 | echo +eth1 > /sys/class/net/bond0/bonding/slaves | ||
1013 | |||
1014 | To add a second bond, with two e1000 interfaces in | ||
1015 | active-backup mode, using ARP monitoring, add the following lines to | ||
1016 | your init script: | ||
1017 | |||
1018 | modprobe e1000 | ||
1019 | echo +bond1 > /sys/class/net/bonding_masters | ||
1020 | echo active-backup > /sys/class/net/bond1/bonding/mode | ||
1021 | ifconfig bond1 192.168.2.1 netmask 255.255.255.0 up | ||
1022 | echo +192.168.2.100 /sys/class/net/bond1/bonding/arp_ip_target | ||
1023 | echo 2000 > /sys/class/net/bond1/bonding/arp_interval | ||
1024 | echo +eth2 > /sys/class/net/bond1/bonding/slaves | ||
1025 | echo +eth3 > /sys/class/net/bond1/bonding/slaves | ||
1026 | |||
892 | 1027 | ||
893 | 5. Querying Bonding Configuration | 1028 | 4. Querying Bonding Configuration |
894 | ================================= | 1029 | ================================= |
895 | 1030 | ||
896 | 5.1 Bonding Configuration | 1031 | 4.1 Bonding Configuration |
897 | ------------------------- | 1032 | ------------------------- |
898 | 1033 | ||
899 | Each bonding device has a read-only file residing in the | 1034 | Each bonding device has a read-only file residing in the |
@@ -923,7 +1058,7 @@ generally as follows: | |||
923 | The precise format and contents will change depending upon the | 1058 | The precise format and contents will change depending upon the |
924 | bonding configuration, state, and version of the bonding driver. | 1059 | bonding configuration, state, and version of the bonding driver. |
925 | 1060 | ||
926 | 5.2 Network configuration | 1061 | 4.2 Network configuration |
927 | ------------------------- | 1062 | ------------------------- |
928 | 1063 | ||
929 | The network configuration can be inspected using the ifconfig | 1064 | The network configuration can be inspected using the ifconfig |
@@ -958,7 +1093,7 @@ eth1 Link encap:Ethernet HWaddr 00:C0:F0:1F:37:B4 | |||
958 | collisions:0 txqueuelen:100 | 1093 | collisions:0 txqueuelen:100 |
959 | Interrupt:9 Base address:0x1400 | 1094 | Interrupt:9 Base address:0x1400 |
960 | 1095 | ||
961 | 6. Switch Configuration | 1096 | 5. Switch Configuration |
962 | ======================= | 1097 | ======================= |
963 | 1098 | ||
964 | For this section, "switch" refers to whatever system the | 1099 | For this section, "switch" refers to whatever system the |
@@ -991,7 +1126,7 @@ transmit policy for an EtherChannel group; all three will interoperate | |||
991 | with another EtherChannel group. | 1126 | with another EtherChannel group. |
992 | 1127 | ||
993 | 1128 | ||
994 | 7. 802.1q VLAN Support | 1129 | 6. 802.1q VLAN Support |
995 | ====================== | 1130 | ====================== |
996 | 1131 | ||
997 | It is possible to configure VLAN devices over a bond interface | 1132 | It is possible to configure VLAN devices over a bond interface |
@@ -1042,7 +1177,7 @@ underlying device -- i.e. the bonding interface -- to promiscuous | |||
1042 | mode, which might not be what you want. | 1177 | mode, which might not be what you want. |
1043 | 1178 | ||
1044 | 1179 | ||
1045 | 8. Link Monitoring | 1180 | 7. Link Monitoring |
1046 | ================== | 1181 | ================== |
1047 | 1182 | ||
1048 | The bonding driver at present supports two schemes for | 1183 | The bonding driver at present supports two schemes for |
@@ -1053,7 +1188,7 @@ monitor. | |||
1053 | bonding driver itself, it is not possible to enable both ARP and MII | 1188 | bonding driver itself, it is not possible to enable both ARP and MII |
1054 | monitoring simultaneously. | 1189 | monitoring simultaneously. |
1055 | 1190 | ||
1056 | 8.1 ARP Monitor Operation | 1191 | 7.1 ARP Monitor Operation |
1057 | ------------------------- | 1192 | ------------------------- |
1058 | 1193 | ||
1059 | The ARP monitor operates as its name suggests: it sends ARP | 1194 | The ARP monitor operates as its name suggests: it sends ARP |
@@ -1071,7 +1206,7 @@ those slaves will stay down. If networking monitoring (tcpdump, etc) | |||
1071 | shows the ARP requests and replies on the network, then it may be that | 1206 | shows the ARP requests and replies on the network, then it may be that |
1072 | your device driver is not updating last_rx and trans_start. | 1207 | your device driver is not updating last_rx and trans_start. |
1073 | 1208 | ||
1074 | 8.2 Configuring Multiple ARP Targets | 1209 | 7.2 Configuring Multiple ARP Targets |
1075 | ------------------------------------ | 1210 | ------------------------------------ |
1076 | 1211 | ||
1077 | While ARP monitoring can be done with just one target, it can | 1212 | While ARP monitoring can be done with just one target, it can |
@@ -1094,7 +1229,7 @@ alias bond0 bonding | |||
1094 | options bond0 arp_interval=60 arp_ip_target=192.168.0.100 | 1229 | options bond0 arp_interval=60 arp_ip_target=192.168.0.100 |
1095 | 1230 | ||
1096 | 1231 | ||
1097 | 8.3 MII Monitor Operation | 1232 | 7.3 MII Monitor Operation |
1098 | ------------------------- | 1233 | ------------------------- |
1099 | 1234 | ||
1100 | The MII monitor monitors only the carrier state of the local | 1235 | The MII monitor monitors only the carrier state of the local |
@@ -1120,14 +1255,14 @@ does not support or had some error in processing both the MII register | |||
1120 | and ethtool requests), then the MII monitor will assume the link is | 1255 | and ethtool requests), then the MII monitor will assume the link is |
1121 | up. | 1256 | up. |
1122 | 1257 | ||
1123 | 9. Potential Sources of Trouble | 1258 | 8. Potential Sources of Trouble |
1124 | =============================== | 1259 | =============================== |
1125 | 1260 | ||
1126 | 9.1 Adventures in Routing | 1261 | 8.1 Adventures in Routing |
1127 | ------------------------- | 1262 | ------------------------- |
1128 | 1263 | ||
1129 | When bonding is configured, it is important that the slave | 1264 | When bonding is configured, it is important that the slave |
1130 | devices not have routes that supercede routes of the master (or, | 1265 | devices not have routes that supersede routes of the master (or, |
1131 | generally, not have routes at all). For example, suppose the bonding | 1266 | generally, not have routes at all). For example, suppose the bonding |
1132 | device bond0 has two slaves, eth0 and eth1, and the routing table is | 1267 | device bond0 has two slaves, eth0 and eth1, and the routing table is |
1133 | as follows: | 1268 | as follows: |
@@ -1154,11 +1289,11 @@ by the state of the routing table. | |||
1154 | 1289 | ||
1155 | The solution here is simply to insure that slaves do not have | 1290 | The solution here is simply to insure that slaves do not have |
1156 | routes of their own, and if for some reason they must, those routes do | 1291 | routes of their own, and if for some reason they must, those routes do |
1157 | not supercede routes of their master. This should generally be the | 1292 | not supersede routes of their master. This should generally be the |
1158 | case, but unusual configurations or errant manual or automatic static | 1293 | case, but unusual configurations or errant manual or automatic static |
1159 | route additions may cause trouble. | 1294 | route additions may cause trouble. |
1160 | 1295 | ||
1161 | 9.2 Ethernet Device Renaming | 1296 | 8.2 Ethernet Device Renaming |
1162 | ---------------------------- | 1297 | ---------------------------- |
1163 | 1298 | ||
1164 | On systems with network configuration scripts that do not | 1299 | On systems with network configuration scripts that do not |
@@ -1207,7 +1342,7 @@ modprobe with --ignore-install to cause the normal action to then take | |||
1207 | place. Full documentation on this can be found in the modprobe.conf | 1342 | place. Full documentation on this can be found in the modprobe.conf |
1208 | and modprobe manual pages. | 1343 | and modprobe manual pages. |
1209 | 1344 | ||
1210 | 9.3. Painfully Slow Or No Failed Link Detection By Miimon | 1345 | 8.3. Painfully Slow Or No Failed Link Detection By Miimon |
1211 | --------------------------------------------------------- | 1346 | --------------------------------------------------------- |
1212 | 1347 | ||
1213 | By default, bonding enables the use_carrier option, which | 1348 | By default, bonding enables the use_carrier option, which |
@@ -1235,7 +1370,7 @@ carrier state. It has no way to determine the state of devices on or | |||
1235 | beyond other ports of a switch, or if a switch is refusing to pass | 1370 | beyond other ports of a switch, or if a switch is refusing to pass |
1236 | traffic while still maintaining carrier on. | 1371 | traffic while still maintaining carrier on. |
1237 | 1372 | ||
1238 | 10. SNMP agents | 1373 | 9. SNMP agents |
1239 | =============== | 1374 | =============== |
1240 | 1375 | ||
1241 | If running SNMP agents, the bonding driver should be loaded | 1376 | If running SNMP agents, the bonding driver should be loaded |
@@ -1281,7 +1416,7 @@ ifDescr, the association between the IP address and IfIndex remains | |||
1281 | and SNMP functions such as Interface_Scan_Next will report that | 1416 | and SNMP functions such as Interface_Scan_Next will report that |
1282 | association. | 1417 | association. |
1283 | 1418 | ||
1284 | 11. Promiscuous mode | 1419 | 10. Promiscuous mode |
1285 | ==================== | 1420 | ==================== |
1286 | 1421 | ||
1287 | When running network monitoring tools, e.g., tcpdump, it is | 1422 | When running network monitoring tools, e.g., tcpdump, it is |
@@ -1308,7 +1443,7 @@ sending to peers that are unassigned or if the load is unbalanced. | |||
1308 | the active slave changes (e.g., due to a link failure), the | 1443 | the active slave changes (e.g., due to a link failure), the |
1309 | promiscuous setting will be propagated to the new active slave. | 1444 | promiscuous setting will be propagated to the new active slave. |
1310 | 1445 | ||
1311 | 12. Configuring Bonding for High Availability | 1446 | 11. Configuring Bonding for High Availability |
1312 | ============================================= | 1447 | ============================================= |
1313 | 1448 | ||
1314 | High Availability refers to configurations that provide | 1449 | High Availability refers to configurations that provide |
@@ -1318,7 +1453,7 @@ goal is to provide the maximum availability of network connectivity | |||
1318 | (i.e., the network always works), even though other configurations | 1453 | (i.e., the network always works), even though other configurations |
1319 | could provide higher throughput. | 1454 | could provide higher throughput. |
1320 | 1455 | ||
1321 | 12.1 High Availability in a Single Switch Topology | 1456 | 11.1 High Availability in a Single Switch Topology |
1322 | -------------------------------------------------- | 1457 | -------------------------------------------------- |
1323 | 1458 | ||
1324 | If two hosts (or a host and a single switch) are directly | 1459 | If two hosts (or a host and a single switch) are directly |
@@ -1332,7 +1467,7 @@ the load will be rebalanced across the remaining devices. | |||
1332 | See Section 13, "Configuring Bonding for Maximum Throughput" | 1467 | See Section 13, "Configuring Bonding for Maximum Throughput" |
1333 | for information on configuring bonding with one peer device. | 1468 | for information on configuring bonding with one peer device. |
1334 | 1469 | ||
1335 | 12.2 High Availability in a Multiple Switch Topology | 1470 | 11.2 High Availability in a Multiple Switch Topology |
1336 | ---------------------------------------------------- | 1471 | ---------------------------------------------------- |
1337 | 1472 | ||
1338 | With multiple switches, the configuration of bonding and the | 1473 | With multiple switches, the configuration of bonding and the |
@@ -1359,7 +1494,7 @@ switches (ISL, or inter switch link), and multiple ports connecting to | |||
1359 | the outside world ("port3" on each switch). There is no technical | 1494 | the outside world ("port3" on each switch). There is no technical |
1360 | reason that this could not be extended to a third switch. | 1495 | reason that this could not be extended to a third switch. |
1361 | 1496 | ||
1362 | 12.2.1 HA Bonding Mode Selection for Multiple Switch Topology | 1497 | 11.2.1 HA Bonding Mode Selection for Multiple Switch Topology |
1363 | ------------------------------------------------------------- | 1498 | ------------------------------------------------------------- |
1364 | 1499 | ||
1365 | In a topology such as the example above, the active-backup and | 1500 | In a topology such as the example above, the active-backup and |
@@ -1381,7 +1516,7 @@ broadcast: This mode is really a special purpose mode, and is suitable | |||
1381 | necessary for some specific one-way traffic to reach both | 1516 | necessary for some specific one-way traffic to reach both |
1382 | independent networks, then the broadcast mode may be suitable. | 1517 | independent networks, then the broadcast mode may be suitable. |
1383 | 1518 | ||
1384 | 12.2.2 HA Link Monitoring Selection for Multiple Switch Topology | 1519 | 11.2.2 HA Link Monitoring Selection for Multiple Switch Topology |
1385 | ---------------------------------------------------------------- | 1520 | ---------------------------------------------------------------- |
1386 | 1521 | ||
1387 | The choice of link monitoring ultimately depends upon your | 1522 | The choice of link monitoring ultimately depends upon your |
@@ -1402,10 +1537,10 @@ regardless of which switch is active, the ARP monitor has a suitable | |||
1402 | target to query. | 1537 | target to query. |
1403 | 1538 | ||
1404 | 1539 | ||
1405 | 13. Configuring Bonding for Maximum Throughput | 1540 | 12. Configuring Bonding for Maximum Throughput |
1406 | ============================================== | 1541 | ============================================== |
1407 | 1542 | ||
1408 | 13.1 Maximizing Throughput in a Single Switch Topology | 1543 | 12.1 Maximizing Throughput in a Single Switch Topology |
1409 | ------------------------------------------------------ | 1544 | ------------------------------------------------------ |
1410 | 1545 | ||
1411 | In a single switch configuration, the best method to maximize | 1546 | In a single switch configuration, the best method to maximize |
@@ -1476,7 +1611,7 @@ destination to make load balancing decisions. The behavior of each | |||
1476 | mode is described below. | 1611 | mode is described below. |
1477 | 1612 | ||
1478 | 1613 | ||
1479 | 13.1.1 MT Bonding Mode Selection for Single Switch Topology | 1614 | 12.1.1 MT Bonding Mode Selection for Single Switch Topology |
1480 | ----------------------------------------------------------- | 1615 | ----------------------------------------------------------- |
1481 | 1616 | ||
1482 | This configuration is the easiest to set up and to understand, | 1617 | This configuration is the easiest to set up and to understand, |
@@ -1607,7 +1742,7 @@ balance-alb: This mode is everything that balance-tlb is, and more. | |||
1607 | device driver must support changing the hardware address while | 1742 | device driver must support changing the hardware address while |
1608 | the device is open. | 1743 | the device is open. |
1609 | 1744 | ||
1610 | 13.1.2 MT Link Monitoring for Single Switch Topology | 1745 | 12.1.2 MT Link Monitoring for Single Switch Topology |
1611 | ---------------------------------------------------- | 1746 | ---------------------------------------------------- |
1612 | 1747 | ||
1613 | The choice of link monitoring may largely depend upon which | 1748 | The choice of link monitoring may largely depend upon which |
@@ -1616,7 +1751,7 @@ support the use of the ARP monitor, and are thus restricted to using | |||
1616 | the MII monitor (which does not provide as high a level of end to end | 1751 | the MII monitor (which does not provide as high a level of end to end |
1617 | assurance as the ARP monitor). | 1752 | assurance as the ARP monitor). |
1618 | 1753 | ||
1619 | 13.2 Maximum Throughput in a Multiple Switch Topology | 1754 | 12.2 Maximum Throughput in a Multiple Switch Topology |
1620 | ----------------------------------------------------- | 1755 | ----------------------------------------------------- |
1621 | 1756 | ||
1622 | Multiple switches may be utilized to optimize for throughput | 1757 | Multiple switches may be utilized to optimize for throughput |
@@ -1651,7 +1786,7 @@ a single 72 port switch. | |||
1651 | can be equipped with an additional network device connected to an | 1786 | can be equipped with an additional network device connected to an |
1652 | external network; this host then additionally acts as a gateway. | 1787 | external network; this host then additionally acts as a gateway. |
1653 | 1788 | ||
1654 | 13.2.1 MT Bonding Mode Selection for Multiple Switch Topology | 1789 | 12.2.1 MT Bonding Mode Selection for Multiple Switch Topology |
1655 | ------------------------------------------------------------- | 1790 | ------------------------------------------------------------- |
1656 | 1791 | ||
1657 | In actual practice, the bonding mode typically employed in | 1792 | In actual practice, the bonding mode typically employed in |
@@ -1664,7 +1799,7 @@ packets has arrived). When employed in this fashion, the balance-rr | |||
1664 | mode allows individual connections between two hosts to effectively | 1799 | mode allows individual connections between two hosts to effectively |
1665 | utilize greater than one interface's bandwidth. | 1800 | utilize greater than one interface's bandwidth. |
1666 | 1801 | ||
1667 | 13.2.2 MT Link Monitoring for Multiple Switch Topology | 1802 | 12.2.2 MT Link Monitoring for Multiple Switch Topology |
1668 | ------------------------------------------------------ | 1803 | ------------------------------------------------------ |
1669 | 1804 | ||
1670 | Again, in actual practice, the MII monitor is most often used | 1805 | Again, in actual practice, the MII monitor is most often used |
@@ -1674,10 +1809,10 @@ advantages over the MII monitor are mitigated by the volume of probes | |||
1674 | needed as the number of systems involved grows (remember that each | 1809 | needed as the number of systems involved grows (remember that each |
1675 | host in the network is configured with bonding). | 1810 | host in the network is configured with bonding). |
1676 | 1811 | ||
1677 | 14. Switch Behavior Issues | 1812 | 13. Switch Behavior Issues |
1678 | ========================== | 1813 | ========================== |
1679 | 1814 | ||
1680 | 14.1 Link Establishment and Failover Delays | 1815 | 13.1 Link Establishment and Failover Delays |
1681 | ------------------------------------------- | 1816 | ------------------------------------------- |
1682 | 1817 | ||
1683 | Some switches exhibit undesirable behavior with regard to the | 1818 | Some switches exhibit undesirable behavior with regard to the |
@@ -1712,7 +1847,7 @@ switches take a long time to go into backup mode, it may be desirable | |||
1712 | to not activate a backup interface immediately after a link goes down. | 1847 | to not activate a backup interface immediately after a link goes down. |
1713 | Failover may be delayed via the downdelay bonding module option. | 1848 | Failover may be delayed via the downdelay bonding module option. |
1714 | 1849 | ||
1715 | 14.2 Duplicated Incoming Packets | 1850 | 13.2 Duplicated Incoming Packets |
1716 | -------------------------------- | 1851 | -------------------------------- |
1717 | 1852 | ||
1718 | It is not uncommon to observe a short burst of duplicated | 1853 | It is not uncommon to observe a short burst of duplicated |
@@ -1751,14 +1886,14 @@ behavior, it can be induced by clearing the MAC forwarding table (on | |||
1751 | most Cisco switches, the privileged command "clear mac address-table | 1886 | most Cisco switches, the privileged command "clear mac address-table |
1752 | dynamic" will accomplish this). | 1887 | dynamic" will accomplish this). |
1753 | 1888 | ||
1754 | 15. Hardware Specific Considerations | 1889 | 14. Hardware Specific Considerations |
1755 | ==================================== | 1890 | ==================================== |
1756 | 1891 | ||
1757 | This section contains additional information for configuring | 1892 | This section contains additional information for configuring |
1758 | bonding on specific hardware platforms, or for interfacing bonding | 1893 | bonding on specific hardware platforms, or for interfacing bonding |
1759 | with particular switches or other devices. | 1894 | with particular switches or other devices. |
1760 | 1895 | ||
1761 | 15.1 IBM BladeCenter | 1896 | 14.1 IBM BladeCenter |
1762 | -------------------- | 1897 | -------------------- |
1763 | 1898 | ||
1764 | This applies to the JS20 and similar systems. | 1899 | This applies to the JS20 and similar systems. |
@@ -1861,7 +1996,7 @@ bonding driver. | |||
1861 | avoid fail-over delay issues when using bonding. | 1996 | avoid fail-over delay issues when using bonding. |
1862 | 1997 | ||
1863 | 1998 | ||
1864 | 16. Frequently Asked Questions | 1999 | 15. Frequently Asked Questions |
1865 | ============================== | 2000 | ============================== |
1866 | 2001 | ||
1867 | 1. Is it SMP safe? | 2002 | 1. Is it SMP safe? |
@@ -1925,7 +2060,7 @@ not have special switch requirements, but do need device drivers that | |||
1925 | support specific features (described in the appropriate section under | 2060 | support specific features (described in the appropriate section under |
1926 | module parameters, above). | 2061 | module parameters, above). |
1927 | 2062 | ||
1928 | In 802.3ad mode, it works with with systems that support IEEE | 2063 | In 802.3ad mode, it works with systems that support IEEE |
1929 | 802.3ad Dynamic Link Aggregation. Most managed and many unmanaged | 2064 | 802.3ad Dynamic Link Aggregation. Most managed and many unmanaged |
1930 | switches currently available support 802.3ad. | 2065 | switches currently available support 802.3ad. |
1931 | 2066 | ||
diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt index f12007b80a46..d46338af6002 100644 --- a/Documentation/networking/ip-sysctl.txt +++ b/Documentation/networking/ip-sysctl.txt | |||
@@ -362,6 +362,13 @@ tcp_workaround_signed_windows - BOOLEAN | |||
362 | not receive a window scaling option from them. | 362 | not receive a window scaling option from them. |
363 | Default: 0 | 363 | Default: 0 |
364 | 364 | ||
365 | tcp_slow_start_after_idle - BOOLEAN | ||
366 | If set, provide RFC2861 behavior and time out the congestion | ||
367 | window after an idle period. An idle period is defined at | ||
368 | the current RTO. If unset, the congestion window will not | ||
369 | be timed out after an idle period. | ||
370 | Default: 1 | ||
371 | |||
365 | IP Variables: | 372 | IP Variables: |
366 | 373 | ||
367 | ip_local_port_range - 2 INTEGERS | 374 | ip_local_port_range - 2 INTEGERS |
diff --git a/Documentation/networking/netdevices.txt b/Documentation/networking/netdevices.txt index 3c0a5ba614d7..847cedb238f6 100644 --- a/Documentation/networking/netdevices.txt +++ b/Documentation/networking/netdevices.txt | |||
@@ -42,9 +42,9 @@ dev->get_stats: | |||
42 | Context: nominally process, but don't sleep inside an rwlock | 42 | Context: nominally process, but don't sleep inside an rwlock |
43 | 43 | ||
44 | dev->hard_start_xmit: | 44 | dev->hard_start_xmit: |
45 | Synchronization: dev->xmit_lock spinlock. | 45 | Synchronization: netif_tx_lock spinlock. |
46 | When the driver sets NETIF_F_LLTX in dev->features this will be | 46 | When the driver sets NETIF_F_LLTX in dev->features this will be |
47 | called without holding xmit_lock. In this case the driver | 47 | called without holding netif_tx_lock. In this case the driver |
48 | has to lock by itself when needed. It is recommended to use a try lock | 48 | has to lock by itself when needed. It is recommended to use a try lock |
49 | for this and return -1 when the spin lock fails. | 49 | for this and return -1 when the spin lock fails. |
50 | The locking there should also properly protect against | 50 | The locking there should also properly protect against |
@@ -62,12 +62,12 @@ dev->hard_start_xmit: | |||
62 | Only valid when NETIF_F_LLTX is set. | 62 | Only valid when NETIF_F_LLTX is set. |
63 | 63 | ||
64 | dev->tx_timeout: | 64 | dev->tx_timeout: |
65 | Synchronization: dev->xmit_lock spinlock. | 65 | Synchronization: netif_tx_lock spinlock. |
66 | Context: BHs disabled | 66 | Context: BHs disabled |
67 | Notes: netif_queue_stopped() is guaranteed true | 67 | Notes: netif_queue_stopped() is guaranteed true |
68 | 68 | ||
69 | dev->set_multicast_list: | 69 | dev->set_multicast_list: |
70 | Synchronization: dev->xmit_lock spinlock. | 70 | Synchronization: netif_tx_lock spinlock. |
71 | Context: BHs disabled | 71 | Context: BHs disabled |
72 | 72 | ||
73 | dev->poll: | 73 | dev->poll: |