bonding: remove ifenslave.c from kernel source
As Stephen proposed: Since bonding supports configuration via iproute (netlink) and sysfs, I think it is time to purge the old ifenslave code out of Documentation/networking and update the documentation. Suggested-by: Stephen Hemminger <stephen@networkplumber.org> Cc: Stephen Hemminger <stephen@networkplumber.org> Cc: Jay Vosburgh <fubar@us.ibm.com> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: Cong Wang <amwang@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									3dd17edea0
								
							
						
					
					
						commit
						b1098bbe1b
					
				
							
								
								
									
										1
									
								
								Documentation/networking/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								Documentation/networking/.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -1 +0,0 @@ | ||||
| ifenslave | ||||
| @ -88,8 +88,6 @@ gianfar.txt | ||||
| 	- Gianfar Ethernet Driver. | ||||
| ieee802154.txt | ||||
| 	- Linux IEEE 802.15.4 implementation, API and drivers | ||||
| ifenslave.c | ||||
| 	- Configure network interfaces for parallel routing (bonding). | ||||
| igb.txt | ||||
| 	- README for the Intel Gigabit Ethernet Driver (igb). | ||||
| igbvf.txt | ||||
|  | ||||
| @ -1,11 +1,6 @@ | ||||
| # kbuild trick to avoid linker error. Can be omitted if a module is built.
 | ||||
| obj- := dummy.o | ||||
| 
 | ||||
| # List of programs to build
 | ||||
| hostprogs-y := ifenslave | ||||
| 
 | ||||
| HOSTCFLAGS_ifenslave.o += -I$(objtree)/usr/include | ||||
| 
 | ||||
| # Tell kbuild to always build the programs
 | ||||
| always := $(hostprogs-y) | ||||
| 
 | ||||
|  | ||||
| @ -104,8 +104,7 @@ Table of Contents | ||||
| ============================== | ||||
| 
 | ||||
| 	Most popular distro kernels ship with the bonding driver | ||||
| already available as a module and the ifenslave user level control | ||||
| program installed and ready for use. If your distro does not, or you | ||||
| already available as a module. If your distro does not, or you | ||||
| have need to compile bonding from source (e.g., configuring and | ||||
| installing a mainline kernel from kernel.org), you'll need to perform | ||||
| the following steps: | ||||
| @ -124,46 +123,13 @@ device support" section.  It is recommended that you configure the | ||||
| driver as module since it is currently the only way to pass parameters | ||||
| to the driver or configure more than one bonding device. | ||||
| 
 | ||||
| 	Build and install the new kernel and modules, then continue | ||||
| below to install ifenslave. | ||||
| 	Build and install the new kernel and modules. | ||||
| 
 | ||||
| 1.2 Install ifenslave Control Utility | ||||
| 1.2 Bonding Control Utility | ||||
| ------------------------------------- | ||||
| 
 | ||||
| 	The ifenslave user level control program is included in the | ||||
| kernel source tree, in the file Documentation/networking/ifenslave.c. | ||||
| It is generally recommended that you use the ifenslave that | ||||
| corresponds to the kernel that you are using (either from the same | ||||
| source tree or supplied with the distro), however, ifenslave | ||||
| executables from older kernels should function (but features newer | ||||
| than the ifenslave release are not supported).  Running an ifenslave | ||||
| that is newer than the kernel is not supported, and may or may not | ||||
| work. | ||||
| 
 | ||||
| 	To install ifenslave, do the following: | ||||
| 
 | ||||
| # gcc -Wall -O -I/usr/src/linux/include ifenslave.c -o ifenslave | ||||
| # cp ifenslave /sbin/ifenslave | ||||
| 
 | ||||
| 	If your kernel source is not in "/usr/src/linux," then replace | ||||
| "/usr/src/linux/include" in the above with the location of your kernel | ||||
| source include directory. | ||||
| 
 | ||||
| 	You may wish to back up any existing /sbin/ifenslave, or, for | ||||
| testing or informal use, tag the ifenslave to the kernel version | ||||
| (e.g., name the ifenslave executable /sbin/ifenslave-2.6.10). | ||||
| 
 | ||||
| IMPORTANT NOTE: | ||||
| 
 | ||||
| 	If you omit the "-I" or specify an incorrect directory, you | ||||
| may end up with an ifenslave that is incompatible with the kernel | ||||
| you're trying to build it for.  Some distros (e.g., Red Hat from 7.1 | ||||
| onwards) do not have /usr/include/linux symbolically linked to the | ||||
| default kernel source include directory. | ||||
| 
 | ||||
| SECOND IMPORTANT NOTE: | ||||
| 	If you plan to configure bonding using sysfs or using the | ||||
| /etc/network/interfaces file, you do not need to use ifenslave. | ||||
| 	 It is recommended to configure bonding via iproute2 (netlink) | ||||
| or sysfs, the old ifenslave control utility is obsolete. | ||||
| 
 | ||||
| 2. Bonding Driver Options | ||||
| ========================= | ||||
| @ -851,7 +817,7 @@ resend_igmp | ||||
| ============================== | ||||
| 
 | ||||
| 	You can configure bonding using either your distro's network | ||||
| initialization scripts, or manually using either ifenslave or the | ||||
| initialization scripts, or manually using either iproute2 or the | ||||
| sysfs interface.  Distros generally use one of three packages for the | ||||
| network initialization scripts: initscripts, sysconfig or interfaces. | ||||
| Recent versions of these packages have support for bonding, while older | ||||
| @ -1160,7 +1126,7 @@ not support this method for specifying multiple bonding interfaces; for | ||||
| those instances, see the "Configuring Multiple Bonds Manually" section, | ||||
| below. | ||||
| 
 | ||||
| 3.3 Configuring Bonding Manually with Ifenslave | ||||
| 3.3 Configuring Bonding Manually with iproute2 | ||||
| ----------------------------------------------- | ||||
| 
 | ||||
| 	This section applies to distros whose network initialization | ||||
| @ -1171,7 +1137,7 @@ version 8. | ||||
| 	The general method for these systems is to place the bonding | ||||
| module parameters into a config file in /etc/modprobe.d/ (as | ||||
| appropriate for the installed distro), then add modprobe and/or | ||||
| ifenslave commands to the system's global init script.  The name of | ||||
| `ip link` commands to the system's global init script.  The name of | ||||
| the global init script differs; for sysconfig, it is | ||||
| /etc/init.d/boot.local and for initscripts it is /etc/rc.d/rc.local. | ||||
| 
 | ||||
| @ -1183,8 +1149,8 @@ reboots, edit the appropriate file (/etc/init.d/boot.local or | ||||
| modprobe bonding mode=balance-alb miimon=100 | ||||
| modprobe e100 | ||||
| ifconfig bond0 192.168.1.1 netmask 255.255.255.0 up | ||||
| ifenslave bond0 eth0 | ||||
| ifenslave bond0 eth1 | ||||
| ip link set eth0 master bond0 | ||||
| ip link set eth1 master bond0 | ||||
| 
 | ||||
| 	Replace the example bonding module parameters and bond0 | ||||
| network configuration (IP address, netmask, etc) with the appropriate | ||||
|  | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user