diff options
Diffstat (limited to 'Documentation/networking')
-rw-r--r-- | Documentation/networking/baycom.txt | 2 | ||||
-rw-r--r-- | Documentation/networking/bonding.txt | 46 | ||||
-rw-r--r-- | Documentation/networking/dl2k.txt | 11 | ||||
-rw-r--r-- | Documentation/networking/driver.txt | 31 | ||||
-rw-r--r-- | Documentation/networking/e100.txt | 6 | ||||
-rw-r--r-- | Documentation/networking/ip-sysctl.txt | 11 | ||||
-rw-r--r-- | Documentation/networking/ipv6.txt | 6 | ||||
-rw-r--r-- | Documentation/networking/ixgb.txt | 6 | ||||
-rw-r--r-- | Documentation/networking/ltpc.txt | 2 | ||||
-rw-r--r-- | Documentation/networking/netdevices.txt | 25 | ||||
-rw-r--r-- | Documentation/networking/vortex.txt | 6 |
11 files changed, 68 insertions, 84 deletions
diff --git a/Documentation/networking/baycom.txt b/Documentation/networking/baycom.txt index 4e68849d5639..688f18fd4467 100644 --- a/Documentation/networking/baycom.txt +++ b/Documentation/networking/baycom.txt | |||
@@ -93,7 +93,7 @@ Every time a driver is inserted into the kernel, it has to know which | |||
93 | modems it should access at which ports. This can be done with the setbaycom | 93 | modems it should access at which ports. This can be done with the setbaycom |
94 | utility. If you are only using one modem, you can also configure the | 94 | utility. If you are only using one modem, you can also configure the |
95 | driver from the insmod command line (or by means of an option line in | 95 | driver from the insmod command line (or by means of an option line in |
96 | /etc/modprobe.conf). | 96 | /etc/modprobe.d/*.conf). |
97 | 97 | ||
98 | Examples: | 98 | Examples: |
99 | modprobe baycom_ser_fdx mode="ser12*" iobase=0x3f8 irq=4 | 99 | modprobe baycom_ser_fdx mode="ser12*" iobase=0x3f8 irq=4 |
diff --git a/Documentation/networking/bonding.txt b/Documentation/networking/bonding.txt index 080ad26690ae..bfea8a338901 100644 --- a/Documentation/networking/bonding.txt +++ b/Documentation/networking/bonding.txt | |||
@@ -173,9 +173,8 @@ bonding module at load time, or are specified via sysfs. | |||
173 | 173 | ||
174 | Module options may be given as command line arguments to the | 174 | Module options may be given as command line arguments to the |
175 | insmod or modprobe command, but are usually specified in either the | 175 | insmod or modprobe command, but are usually specified in either the |
176 | /etc/modules.conf or /etc/modprobe.conf configuration file, or in a | 176 | /etc/modrobe.d/*.conf configuration files, or in a distro-specific |
177 | distro-specific configuration file (some of which are detailed in the next | 177 | configuration file (some of which are detailed in the next section). |
178 | section). | ||
179 | 178 | ||
180 | Details on bonding support for sysfs is provided in the | 179 | Details on bonding support for sysfs is provided in the |
181 | "Configuring Bonding Manually via Sysfs" section, below. | 180 | "Configuring Bonding Manually via Sysfs" section, below. |
@@ -1021,7 +1020,7 @@ ifcfg-bondX files. | |||
1021 | 1020 | ||
1022 | Because the sysconfig scripts supply the bonding module | 1021 | Because the sysconfig scripts supply the bonding module |
1023 | options in the ifcfg-bondX file, it is not necessary to add them to | 1022 | options in the ifcfg-bondX file, it is not necessary to add them to |
1024 | the system /etc/modules.conf or /etc/modprobe.conf configuration file. | 1023 | the system /etc/modules.d/*.conf configuration files. |
1025 | 1024 | ||
1026 | 3.2 Configuration with Initscripts Support | 1025 | 3.2 Configuration with Initscripts Support |
1027 | ------------------------------------------ | 1026 | ------------------------------------------ |
@@ -1098,15 +1097,13 @@ queried targets, e.g., | |||
1098 | arp_ip_target=+192.168.1.1 arp_ip_target=+192.168.1.2 | 1097 | arp_ip_target=+192.168.1.1 arp_ip_target=+192.168.1.2 |
1099 | 1098 | ||
1100 | is the proper syntax to specify multiple targets. When specifying | 1099 | is the proper syntax to specify multiple targets. When specifying |
1101 | options via BONDING_OPTS, it is not necessary to edit /etc/modules.conf or | 1100 | options via BONDING_OPTS, it is not necessary to edit /etc/modprobe.d/*.conf. |
1102 | /etc/modprobe.conf. | ||
1103 | 1101 | ||
1104 | For even older versions of initscripts that do not support | 1102 | For even older versions of initscripts that do not support |
1105 | BONDING_OPTS, it is necessary to edit /etc/modules.conf (or | 1103 | BONDING_OPTS, it is necessary to edit /etc/modprobe.d/*.conf, depending upon |
1106 | /etc/modprobe.conf, depending upon your distro) to load the bonding module | 1104 | your distro) to load the bonding module with your desired options when the |
1107 | with your desired options when the bond0 interface is brought up. The | 1105 | bond0 interface is brought up. The following lines in /etc/modprobe.d/*.conf |
1108 | following lines in /etc/modules.conf (or modprobe.conf) will load the | 1106 | will load the bonding module, and select its options: |
1109 | bonding module, and select its options: | ||
1110 | 1107 | ||
1111 | alias bond0 bonding | 1108 | alias bond0 bonding |
1112 | options bond0 mode=balance-alb miimon=100 | 1109 | options bond0 mode=balance-alb miimon=100 |
@@ -1152,7 +1149,7 @@ knowledge of bonding. One such distro is SuSE Linux Enterprise Server | |||
1152 | version 8. | 1149 | version 8. |
1153 | 1150 | ||
1154 | The general method for these systems is to place the bonding | 1151 | The general method for these systems is to place the bonding |
1155 | module parameters into /etc/modules.conf or /etc/modprobe.conf (as | 1152 | module parameters into a config file in /etc/modprobe.d/ (as |
1156 | appropriate for the installed distro), then add modprobe and/or | 1153 | appropriate for the installed distro), then add modprobe and/or |
1157 | ifenslave commands to the system's global init script. The name of | 1154 | ifenslave commands to the system's global init script. The name of |
1158 | the global init script differs; for sysconfig, it is | 1155 | the global init script differs; for sysconfig, it is |
@@ -1228,7 +1225,7 @@ network initialization scripts. | |||
1228 | specify a different name for each instance (the module loading system | 1225 | specify a different name for each instance (the module loading system |
1229 | requires that every loaded module, even multiple instances of the same | 1226 | requires that every loaded module, even multiple instances of the same |
1230 | module, have a unique name). This is accomplished by supplying multiple | 1227 | module, have a unique name). This is accomplished by supplying multiple |
1231 | sets of bonding options in /etc/modprobe.conf, for example: | 1228 | sets of bonding options in /etc/modprobe.d/*.conf, for example: |
1232 | 1229 | ||
1233 | alias bond0 bonding | 1230 | alias bond0 bonding |
1234 | options bond0 -o bond0 mode=balance-rr miimon=100 | 1231 | options bond0 -o bond0 mode=balance-rr miimon=100 |
@@ -1793,8 +1790,8 @@ route additions may cause trouble. | |||
1793 | On systems with network configuration scripts that do not | 1790 | On systems with network configuration scripts that do not |
1794 | associate physical devices directly with network interface names (so | 1791 | associate physical devices directly with network interface names (so |
1795 | that the same physical device always has the same "ethX" name), it may | 1792 | that the same physical device always has the same "ethX" name), it may |
1796 | be necessary to add some special logic to either /etc/modules.conf or | 1793 | be necessary to add some special logic to config files in |
1797 | /etc/modprobe.conf (depending upon which is installed on the system). | 1794 | /etc/modprobe.d/. |
1798 | 1795 | ||
1799 | For example, given a modules.conf containing the following: | 1796 | For example, given a modules.conf containing the following: |
1800 | 1797 | ||
@@ -1821,20 +1818,15 @@ add above bonding e1000 tg3 | |||
1821 | bonding is loaded. This command is fully documented in the | 1818 | bonding is loaded. This command is fully documented in the |
1822 | modules.conf manual page. | 1819 | modules.conf manual page. |
1823 | 1820 | ||
1824 | On systems utilizing modprobe.conf (or modprobe.conf.local), | 1821 | On systems utilizing modprobe an equivalent problem can occur. |
1825 | an equivalent problem can occur. In this case, the following can be | 1822 | In this case, the following can be added to config files in |
1826 | added to modprobe.conf (or modprobe.conf.local, as appropriate), as | 1823 | /etc/modprobe.d/ as: |
1827 | follows (all on one line; it has been split here for clarity): | ||
1828 | 1824 | ||
1829 | install bonding /sbin/modprobe tg3; /sbin/modprobe e1000; | 1825 | softdep bonding pre: tg3 e1000 |
1830 | /sbin/modprobe --ignore-install bonding | ||
1831 | 1826 | ||
1832 | This will, when loading the bonding module, rather than | 1827 | This will load tg3 and e1000 modules before loading the bonding one. |
1833 | performing the normal action, instead execute the provided command. | 1828 | Full documentation on this can be found in the modprobe.d and modprobe |
1834 | This command loads the device drivers in the order needed, then calls | 1829 | manual pages. |
1835 | modprobe with --ignore-install to cause the normal action to then take | ||
1836 | place. Full documentation on this can be found in the modprobe.conf | ||
1837 | and modprobe manual pages. | ||
1838 | 1830 | ||
1839 | 8.3. Painfully Slow Or No Failed Link Detection By Miimon | 1831 | 8.3. Painfully Slow Or No Failed Link Detection By Miimon |
1840 | --------------------------------------------------------- | 1832 | --------------------------------------------------------- |
diff --git a/Documentation/networking/dl2k.txt b/Documentation/networking/dl2k.txt index 10e8490fa406..cba74f7a3abc 100644 --- a/Documentation/networking/dl2k.txt +++ b/Documentation/networking/dl2k.txt | |||
@@ -45,12 +45,13 @@ Now eth0 should active, you can test it by "ping" or get more information by | |||
45 | "ifconfig". If tested ok, continue the next step. | 45 | "ifconfig". If tested ok, continue the next step. |
46 | 46 | ||
47 | 4. cp dl2k.ko /lib/modules/`uname -r`/kernel/drivers/net | 47 | 4. cp dl2k.ko /lib/modules/`uname -r`/kernel/drivers/net |
48 | 5. Add the following line to /etc/modprobe.conf: | 48 | 5. Add the following line to /etc/modprobe.d/dl2k.conf: |
49 | alias eth0 dl2k | 49 | alias eth0 dl2k |
50 | 6. Run "netconfig" or "netconf" to create configuration script ifcfg-eth0 | 50 | 6. Run depmod to updated module indexes. |
51 | 7. Run "netconfig" or "netconf" to create configuration script ifcfg-eth0 | ||
51 | located at /etc/sysconfig/network-scripts or create it manually. | 52 | located at /etc/sysconfig/network-scripts or create it manually. |
52 | [see - Configuration Script Sample] | 53 | [see - Configuration Script Sample] |
53 | 7. Driver will automatically load and configure at next boot time. | 54 | 8. Driver will automatically load and configure at next boot time. |
54 | 55 | ||
55 | Compiling the Driver | 56 | Compiling the Driver |
56 | ==================== | 57 | ==================== |
@@ -154,8 +155,8 @@ Installing the Driver | |||
154 | ----------------- | 155 | ----------------- |
155 | 1. Copy dl2k.o to the network modules directory, typically | 156 | 1. Copy dl2k.o to the network modules directory, typically |
156 | /lib/modules/2.x.x-xx/net or /lib/modules/2.x.x/kernel/drivers/net. | 157 | /lib/modules/2.x.x-xx/net or /lib/modules/2.x.x/kernel/drivers/net. |
157 | 2. Locate the boot module configuration file, most commonly modprobe.conf | 158 | 2. Locate the boot module configuration file, most commonly in the |
158 | or modules.conf (for 2.4) in the /etc directory. Add the following lines: | 159 | /etc/modprobe.d/ directory. Add the following lines: |
159 | 160 | ||
160 | alias ethx dl2k | 161 | alias ethx dl2k |
161 | options dl2k <optional parameters> | 162 | options dl2k <optional parameters> |
diff --git a/Documentation/networking/driver.txt b/Documentation/networking/driver.txt index 03283daa64fe..da59e2884130 100644 --- a/Documentation/networking/driver.txt +++ b/Documentation/networking/driver.txt | |||
@@ -2,16 +2,16 @@ Document about softnet driver issues | |||
2 | 2 | ||
3 | Transmit path guidelines: | 3 | Transmit path guidelines: |
4 | 4 | ||
5 | 1) The hard_start_xmit method must never return '1' under any | 5 | 1) The ndo_start_xmit method must not return NETDEV_TX_BUSY under |
6 | normal circumstances. It is considered a hard error unless | 6 | any normal circumstances. It is considered a hard error unless |
7 | there is no way your device can tell ahead of time when it's | 7 | there is no way your device can tell ahead of time when it's |
8 | transmit function will become busy. | 8 | transmit function will become busy. |
9 | 9 | ||
10 | Instead it must maintain the queue properly. For example, | 10 | Instead it must maintain the queue properly. For example, |
11 | for a driver implementing scatter-gather this means: | 11 | for a driver implementing scatter-gather this means: |
12 | 12 | ||
13 | static int drv_hard_start_xmit(struct sk_buff *skb, | 13 | static netdev_tx_t drv_hard_start_xmit(struct sk_buff *skb, |
14 | struct net_device *dev) | 14 | struct net_device *dev) |
15 | { | 15 | { |
16 | struct drv *dp = netdev_priv(dev); | 16 | struct drv *dp = netdev_priv(dev); |
17 | 17 | ||
@@ -23,7 +23,7 @@ Transmit path guidelines: | |||
23 | unlock_tx(dp); | 23 | unlock_tx(dp); |
24 | printk(KERN_ERR PFX "%s: BUG! Tx Ring full when queue awake!\n", | 24 | printk(KERN_ERR PFX "%s: BUG! Tx Ring full when queue awake!\n", |
25 | dev->name); | 25 | dev->name); |
26 | return 1; | 26 | return NETDEV_TX_BUSY; |
27 | } | 27 | } |
28 | 28 | ||
29 | ... queue packet to card ... | 29 | ... queue packet to card ... |
@@ -35,6 +35,7 @@ Transmit path guidelines: | |||
35 | ... | 35 | ... |
36 | unlock_tx(dp); | 36 | unlock_tx(dp); |
37 | ... | 37 | ... |
38 | return NETDEV_TX_OK; | ||
38 | } | 39 | } |
39 | 40 | ||
40 | And then at the end of your TX reclamation event handling: | 41 | And then at the end of your TX reclamation event handling: |
@@ -58,15 +59,12 @@ Transmit path guidelines: | |||
58 | TX_BUFFS_AVAIL(dp) > 0) | 59 | TX_BUFFS_AVAIL(dp) > 0) |
59 | netif_wake_queue(dp->dev); | 60 | netif_wake_queue(dp->dev); |
60 | 61 | ||
61 | 2) Do not forget to update netdev->trans_start to jiffies after | 62 | 2) An ndo_start_xmit method must not modify the shared parts of a |
62 | each new tx packet is given to the hardware. | ||
63 | |||
64 | 3) A hard_start_xmit method must not modify the shared parts of a | ||
65 | cloned SKB. | 63 | cloned SKB. |
66 | 64 | ||
67 | 4) Do not forget that once you return 0 from your hard_start_xmit | 65 | 3) Do not forget that once you return NETDEV_TX_OK from your |
68 | method, it is your driver's responsibility to free up the SKB | 66 | ndo_start_xmit method, it is your driver's responsibility to free |
69 | and in some finite amount of time. | 67 | up the SKB and in some finite amount of time. |
70 | 68 | ||
71 | For example, this means that it is not allowed for your TX | 69 | For example, this means that it is not allowed for your TX |
72 | mitigation scheme to let TX packets "hang out" in the TX | 70 | mitigation scheme to let TX packets "hang out" in the TX |
@@ -74,8 +72,9 @@ Transmit path guidelines: | |||
74 | This error can deadlock sockets waiting for send buffer room | 72 | This error can deadlock sockets waiting for send buffer room |
75 | to be freed up. | 73 | to be freed up. |
76 | 74 | ||
77 | If you return 1 from the hard_start_xmit method, you must not keep | 75 | If you return NETDEV_TX_BUSY from the ndo_start_xmit method, you |
78 | any reference to that SKB and you must not attempt to free it up. | 76 | must not keep any reference to that SKB and you must not attempt |
77 | to free it up. | ||
79 | 78 | ||
80 | Probing guidelines: | 79 | Probing guidelines: |
81 | 80 | ||
@@ -85,10 +84,10 @@ Probing guidelines: | |||
85 | 84 | ||
86 | Close/stop guidelines: | 85 | Close/stop guidelines: |
87 | 86 | ||
88 | 1) After the dev->stop routine has been called, the hardware must | 87 | 1) After the ndo_stop routine has been called, the hardware must |
89 | not receive or transmit any data. All in flight packets must | 88 | not receive or transmit any data. All in flight packets must |
90 | be aborted. If necessary, poll or wait for completion of | 89 | be aborted. If necessary, poll or wait for completion of |
91 | any reset commands. | 90 | any reset commands. |
92 | 91 | ||
93 | 2) The dev->stop routine will be called by unregister_netdevice | 92 | 2) The ndo_stop routine will be called by unregister_netdevice |
94 | if device is still UP. | 93 | if device is still UP. |
diff --git a/Documentation/networking/e100.txt b/Documentation/networking/e100.txt index 162f323a7a1f..fcb6c71cdb69 100644 --- a/Documentation/networking/e100.txt +++ b/Documentation/networking/e100.txt | |||
@@ -94,8 +94,8 @@ Additional Configurations | |||
94 | 94 | ||
95 | Configuring a network driver to load properly when the system is started is | 95 | Configuring a network driver to load properly when the system is started is |
96 | distribution dependent. Typically, the configuration process involves adding | 96 | distribution dependent. Typically, the configuration process involves adding |
97 | an alias line to /etc/modules.conf or /etc/modprobe.conf as well as editing | 97 | an alias line to /etc/modprobe.d/*.conf as well as editing other system |
98 | other system startup scripts and/or configuration files. Many popular Linux | 98 | startup scripts and/or configuration files. Many popular Linux |
99 | distributions ship with tools to make these changes for you. To learn the | 99 | distributions ship with tools to make these changes for you. To learn the |
100 | proper way to configure a network device for your system, refer to your | 100 | proper way to configure a network device for your system, refer to your |
101 | distribution documentation. If during this process you are asked for the | 101 | distribution documentation. If during this process you are asked for the |
@@ -103,7 +103,7 @@ Additional Configurations | |||
103 | PRO/100 Family of Adapters is e100. | 103 | PRO/100 Family of Adapters is e100. |
104 | 104 | ||
105 | As an example, if you install the e100 driver for two PRO/100 adapters | 105 | As an example, if you install the e100 driver for two PRO/100 adapters |
106 | (eth0 and eth1), add the following to modules.conf or modprobe.conf: | 106 | (eth0 and eth1), add the following to a configuraton file in /etc/modprobe.d/ |
107 | 107 | ||
108 | alias eth0 e100 | 108 | alias eth0 e100 |
109 | alias eth1 e100 | 109 | alias eth1 e100 |
diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt index ad3e80e17b4f..bd80ba5847d2 100644 --- a/Documentation/networking/ip-sysctl.txt +++ b/Documentation/networking/ip-sysctl.txt | |||
@@ -604,15 +604,8 @@ IP Variables: | |||
604 | ip_local_port_range - 2 INTEGERS | 604 | ip_local_port_range - 2 INTEGERS |
605 | Defines the local port range that is used by TCP and UDP to | 605 | Defines the local port range that is used by TCP and UDP to |
606 | choose the local port. The first number is the first, the | 606 | choose the local port. The first number is the first, the |
607 | second the last local port number. Default value depends on | 607 | second the last local port number. The default values are |
608 | amount of memory available on the system: | 608 | 32768 and 61000 respectively. |
609 | > 128Mb 32768-61000 | ||
610 | < 128Mb 1024-4999 or even less. | ||
611 | This number defines number of active connections, which this | ||
612 | system can issue simultaneously to systems not supporting | ||
613 | TCP extensions (timestamps). With tcp_tw_recycle enabled | ||
614 | (i.e. by default) range 1024-4999 is enough to issue up to | ||
615 | 2000 connections per second to systems supporting timestamps. | ||
616 | 609 | ||
617 | ip_local_reserved_ports - list of comma separated ranges | 610 | ip_local_reserved_ports - list of comma separated ranges |
618 | Specify the ports which are reserved for known third-party | 611 | Specify the ports which are reserved for known third-party |
diff --git a/Documentation/networking/ipv6.txt b/Documentation/networking/ipv6.txt index 9fd7e21296c8..6cd74fa55358 100644 --- a/Documentation/networking/ipv6.txt +++ b/Documentation/networking/ipv6.txt | |||
@@ -2,9 +2,9 @@ | |||
2 | Options for the ipv6 module are supplied as parameters at load time. | 2 | Options for the ipv6 module are supplied as parameters at load time. |
3 | 3 | ||
4 | Module options may be given as command line arguments to the insmod | 4 | Module options may be given as command line arguments to the insmod |
5 | or modprobe command, but are usually specified in either the | 5 | or modprobe command, but are usually specified in either |
6 | /etc/modules.conf or /etc/modprobe.conf configuration file, or in a | 6 | /etc/modules.d/*.conf configuration files, or in a distro-specific |
7 | distro-specific configuration file. | 7 | configuration file. |
8 | 8 | ||
9 | The available ipv6 module parameters are listed below. If a parameter | 9 | The available ipv6 module parameters are listed below. If a parameter |
10 | is not specified the default value is used. | 10 | is not specified the default value is used. |
diff --git a/Documentation/networking/ixgb.txt b/Documentation/networking/ixgb.txt index e196f16df313..d75a1f9565bb 100644 --- a/Documentation/networking/ixgb.txt +++ b/Documentation/networking/ixgb.txt | |||
@@ -274,9 +274,9 @@ Additional Configurations | |||
274 | ------------------------------------------------- | 274 | ------------------------------------------------- |
275 | Configuring a network driver to load properly when the system is started is | 275 | Configuring a network driver to load properly when the system is started is |
276 | distribution dependent. Typically, the configuration process involves adding | 276 | distribution dependent. Typically, the configuration process involves adding |
277 | an alias line to /etc/modprobe.conf as well as editing other system startup | 277 | an alias line to files in /etc/modprobe.d/ as well as editing other system |
278 | scripts and/or configuration files. Many popular Linux distributions ship | 278 | startup scripts and/or configuration files. Many popular Linux distributions |
279 | with tools to make these changes for you. To learn the proper way to | 279 | ship with tools to make these changes for you. To learn the proper way to |
280 | configure a network device for your system, refer to your distribution | 280 | configure a network device for your system, refer to your distribution |
281 | documentation. If during this process you are asked for the driver or module | 281 | documentation. If during this process you are asked for the driver or module |
282 | name, the name for the Linux Base Driver for the Intel 10GbE Family of | 282 | name, the name for the Linux Base Driver for the Intel 10GbE Family of |
diff --git a/Documentation/networking/ltpc.txt b/Documentation/networking/ltpc.txt index fe2a9129d959..0bf3220c715b 100644 --- a/Documentation/networking/ltpc.txt +++ b/Documentation/networking/ltpc.txt | |||
@@ -25,7 +25,7 @@ the driver will try to determine them itself. | |||
25 | 25 | ||
26 | If you load the driver as a module, you can pass the parameters "io=", | 26 | If you load the driver as a module, you can pass the parameters "io=", |
27 | "irq=", and "dma=" on the command line with insmod or modprobe, or add | 27 | "irq=", and "dma=" on the command line with insmod or modprobe, or add |
28 | them as options in /etc/modprobe.conf: | 28 | them as options in a configuration file in /etc/modprobe.d/ directory: |
29 | 29 | ||
30 | alias lt0 ltpc # autoload the module when the interface is configured | 30 | alias lt0 ltpc # autoload the module when the interface is configured |
31 | options ltpc io=0x240 irq=9 dma=1 | 31 | options ltpc io=0x240 irq=9 dma=1 |
diff --git a/Documentation/networking/netdevices.txt b/Documentation/networking/netdevices.txt index 89358341682a..c7ecc7080494 100644 --- a/Documentation/networking/netdevices.txt +++ b/Documentation/networking/netdevices.txt | |||
@@ -47,26 +47,25 @@ packets is preferred. | |||
47 | 47 | ||
48 | struct net_device synchronization rules | 48 | struct net_device synchronization rules |
49 | ======================================= | 49 | ======================================= |
50 | dev->open: | 50 | ndo_open: |
51 | Synchronization: rtnl_lock() semaphore. | 51 | Synchronization: rtnl_lock() semaphore. |
52 | Context: process | 52 | Context: process |
53 | 53 | ||
54 | dev->stop: | 54 | ndo_stop: |
55 | Synchronization: rtnl_lock() semaphore. | 55 | Synchronization: rtnl_lock() semaphore. |
56 | Context: process | 56 | Context: process |
57 | Note1: netif_running() is guaranteed false | 57 | Note: netif_running() is guaranteed false |
58 | Note2: dev->poll() is guaranteed to be stopped | ||
59 | 58 | ||
60 | dev->do_ioctl: | 59 | ndo_do_ioctl: |
61 | Synchronization: rtnl_lock() semaphore. | 60 | Synchronization: rtnl_lock() semaphore. |
62 | Context: process | 61 | Context: process |
63 | 62 | ||
64 | dev->get_stats: | 63 | ndo_get_stats: |
65 | Synchronization: dev_base_lock rwlock. | 64 | Synchronization: dev_base_lock rwlock. |
66 | Context: nominally process, but don't sleep inside an rwlock | 65 | Context: nominally process, but don't sleep inside an rwlock |
67 | 66 | ||
68 | dev->hard_start_xmit: | 67 | ndo_start_xmit: |
69 | Synchronization: netif_tx_lock spinlock. | 68 | Synchronization: __netif_tx_lock spinlock. |
70 | 69 | ||
71 | When the driver sets NETIF_F_LLTX in dev->features this will be | 70 | When the driver sets NETIF_F_LLTX in dev->features this will be |
72 | called without holding netif_tx_lock. In this case the driver | 71 | called without holding netif_tx_lock. In this case the driver |
@@ -87,20 +86,20 @@ dev->hard_start_xmit: | |||
87 | o NETDEV_TX_LOCKED Locking failed, please retry quickly. | 86 | o NETDEV_TX_LOCKED Locking failed, please retry quickly. |
88 | Only valid when NETIF_F_LLTX is set. | 87 | Only valid when NETIF_F_LLTX is set. |
89 | 88 | ||
90 | dev->tx_timeout: | 89 | ndo_tx_timeout: |
91 | Synchronization: netif_tx_lock spinlock. | 90 | Synchronization: netif_tx_lock spinlock; all TX queues frozen. |
92 | Context: BHs disabled | 91 | Context: BHs disabled |
93 | Notes: netif_queue_stopped() is guaranteed true | 92 | Notes: netif_queue_stopped() is guaranteed true |
94 | 93 | ||
95 | dev->set_rx_mode: | 94 | ndo_set_rx_mode: |
96 | Synchronization: netif_tx_lock spinlock. | 95 | Synchronization: netif_addr_lock spinlock. |
97 | Context: BHs disabled | 96 | Context: BHs disabled |
98 | 97 | ||
99 | struct napi_struct synchronization rules | 98 | struct napi_struct synchronization rules |
100 | ======================================== | 99 | ======================================== |
101 | napi->poll: | 100 | napi->poll: |
102 | Synchronization: NAPI_STATE_SCHED bit in napi->state. Device | 101 | Synchronization: NAPI_STATE_SCHED bit in napi->state. Device |
103 | driver's dev->close method will invoke napi_disable() on | 102 | driver's ndo_stop method will invoke napi_disable() on |
104 | all NAPI instances which will do a sleeping poll on the | 103 | all NAPI instances which will do a sleeping poll on the |
105 | NAPI_STATE_SCHED napi->state bit, waiting for all pending | 104 | NAPI_STATE_SCHED napi->state bit, waiting for all pending |
106 | NAPI activity to cease. | 105 | NAPI activity to cease. |
diff --git a/Documentation/networking/vortex.txt b/Documentation/networking/vortex.txt index bd70976b8160..b4038ffb3bc5 100644 --- a/Documentation/networking/vortex.txt +++ b/Documentation/networking/vortex.txt | |||
@@ -67,8 +67,8 @@ Module parameters | |||
67 | ================= | 67 | ================= |
68 | 68 | ||
69 | There are several parameters which may be provided to the driver when | 69 | There are several parameters which may be provided to the driver when |
70 | its module is loaded. These are usually placed in /etc/modprobe.conf | 70 | its module is loaded. These are usually placed in /etc/modprobe.d/*.conf |
71 | (/etc/modules.conf in 2.4). Example: | 71 | configuretion files. Example: |
72 | 72 | ||
73 | options 3c59x debug=3 rx_copybreak=300 | 73 | options 3c59x debug=3 rx_copybreak=300 |
74 | 74 | ||
@@ -425,7 +425,7 @@ steps you should take: | |||
425 | 1) Increase the debug level. Usually this is done via: | 425 | 1) Increase the debug level. Usually this is done via: |
426 | 426 | ||
427 | a) modprobe driver debug=7 | 427 | a) modprobe driver debug=7 |
428 | b) In /etc/modprobe.conf (or /etc/modules.conf for 2.4): | 428 | b) In /etc/modprobe.d/driver.conf: |
429 | options driver debug=7 | 429 | options driver debug=7 |
430 | 430 | ||
431 | 2) Recreate the problem with the higher debug level, | 431 | 2) Recreate the problem with the higher debug level, |