diff options
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/ABI/testing/sysfs-class-net-batman-adv | 14 | ||||
-rw-r--r-- | Documentation/ABI/testing/sysfs-class-net-mesh | 69 | ||||
-rw-r--r-- | Documentation/DocBook/80211.tmpl | 70 | ||||
-rw-r--r-- | Documentation/networking/LICENSE.qlcnic | 327 | ||||
-rw-r--r-- | Documentation/networking/batman-adv.txt | 240 | ||||
-rw-r--r-- | Documentation/networking/dccp.txt | 20 | ||||
-rw-r--r-- | Documentation/networking/e100.txt | 19 | ||||
-rw-r--r-- | Documentation/networking/e1000.txt | 16 | ||||
-rw-r--r-- | Documentation/networking/e1000e.txt | 52 | ||||
-rw-r--r-- | Documentation/networking/igb.txt | 35 | ||||
-rw-r--r-- | Documentation/networking/igbvf.txt | 6 | ||||
-rw-r--r-- | Documentation/networking/ip-sysctl.txt | 28 | ||||
-rw-r--r-- | Documentation/networking/ixgb.txt | 10 | ||||
-rw-r--r-- | Documentation/networking/ixgbe.txt | 213 | ||||
-rw-r--r-- | Documentation/networking/ixgbevf.txt | 4 | ||||
-rw-r--r-- | Documentation/networking/stmmac.txt | 48 |
16 files changed, 992 insertions, 179 deletions
diff --git a/Documentation/ABI/testing/sysfs-class-net-batman-adv b/Documentation/ABI/testing/sysfs-class-net-batman-adv new file mode 100644 index 000000000000..38dd762def4b --- /dev/null +++ b/Documentation/ABI/testing/sysfs-class-net-batman-adv | |||
@@ -0,0 +1,14 @@ | |||
1 | |||
2 | What: /sys/class/net/<iface>/batman-adv/mesh_iface | ||
3 | Date: May 2010 | ||
4 | Contact: Marek Lindner <lindner_marek@yahoo.de> | ||
5 | Description: | ||
6 | The /sys/class/net/<iface>/batman-adv/mesh_iface file | ||
7 | displays the batman mesh interface this <iface> | ||
8 | currently is associated with. | ||
9 | |||
10 | What: /sys/class/net/<iface>/batman-adv/iface_status | ||
11 | Date: May 2010 | ||
12 | Contact: Marek Lindner <lindner_marek@yahoo.de> | ||
13 | Description: | ||
14 | Indicates the status of <iface> as it is seen by batman. | ||
diff --git a/Documentation/ABI/testing/sysfs-class-net-mesh b/Documentation/ABI/testing/sysfs-class-net-mesh new file mode 100644 index 000000000000..748fe1701d25 --- /dev/null +++ b/Documentation/ABI/testing/sysfs-class-net-mesh | |||
@@ -0,0 +1,69 @@ | |||
1 | |||
2 | What: /sys/class/net/<mesh_iface>/mesh/aggregated_ogms | ||
3 | Date: May 2010 | ||
4 | Contact: Marek Lindner <lindner_marek@yahoo.de> | ||
5 | Description: | ||
6 | Indicates whether the batman protocol messages of the | ||
7 | mesh <mesh_iface> shall be aggregated or not. | ||
8 | |||
9 | What: /sys/class/net/<mesh_iface>/mesh/bonding | ||
10 | Date: June 2010 | ||
11 | Contact: Simon Wunderlich <siwu@hrz.tu-chemnitz.de> | ||
12 | Description: | ||
13 | Indicates whether the data traffic going through the | ||
14 | mesh will be sent using multiple interfaces at the | ||
15 | same time (if available). | ||
16 | |||
17 | What: /sys/class/net/<mesh_iface>/mesh/fragmentation | ||
18 | Date: October 2010 | ||
19 | Contact: Andreas Langer <an.langer@gmx.de> | ||
20 | Description: | ||
21 | Indicates whether the data traffic going through the | ||
22 | mesh will be fragmented or silently discarded if the | ||
23 | packet size exceeds the outgoing interface MTU. | ||
24 | |||
25 | What: /sys/class/net/<mesh_iface>/mesh/gw_bandwidth | ||
26 | Date: October 2010 | ||
27 | Contact: Marek Lindner <lindner_marek@yahoo.de> | ||
28 | Description: | ||
29 | Defines the bandwidth which is propagated by this | ||
30 | node if gw_mode was set to 'server'. | ||
31 | |||
32 | What: /sys/class/net/<mesh_iface>/mesh/gw_mode | ||
33 | Date: October 2010 | ||
34 | Contact: Marek Lindner <lindner_marek@yahoo.de> | ||
35 | Description: | ||
36 | Defines the state of the gateway features. Can be | ||
37 | either 'off', 'client' or 'server'. | ||
38 | |||
39 | What: /sys/class/net/<mesh_iface>/mesh/gw_sel_class | ||
40 | Date: October 2010 | ||
41 | Contact: Marek Lindner <lindner_marek@yahoo.de> | ||
42 | Description: | ||
43 | Defines the selection criteria this node will use | ||
44 | to choose a gateway if gw_mode was set to 'client'. | ||
45 | |||
46 | What: /sys/class/net/<mesh_iface>/mesh/orig_interval | ||
47 | Date: May 2010 | ||
48 | Contact: Marek Lindner <lindner_marek@yahoo.de> | ||
49 | Description: | ||
50 | Defines the interval in milliseconds in which batman | ||
51 | sends its protocol messages. | ||
52 | |||
53 | What: /sys/class/net/<mesh_iface>/mesh/hop_penalty | ||
54 | Date: Oct 2010 | ||
55 | Contact: Linus Lüssing <linus.luessing@web.de> | ||
56 | Description: | ||
57 | Defines the penalty which will be applied to an | ||
58 | originator message's tq-field on every hop. | ||
59 | |||
60 | What: /sys/class/net/<mesh_iface>/mesh/vis_mode | ||
61 | Date: May 2010 | ||
62 | Contact: Marek Lindner <lindner_marek@yahoo.de> | ||
63 | Description: | ||
64 | Each batman node only maintains information about its | ||
65 | own local neighborhood, therefore generating graphs | ||
66 | showing the topology of the entire mesh is not easily | ||
67 | feasible without having a central instance to collect | ||
68 | the local topologies from all nodes. This file allows | ||
69 | to activate the collecting (server) mode. | ||
diff --git a/Documentation/DocBook/80211.tmpl b/Documentation/DocBook/80211.tmpl index 19a1210c2530..03641a08e275 100644 --- a/Documentation/DocBook/80211.tmpl +++ b/Documentation/DocBook/80211.tmpl | |||
@@ -146,6 +146,7 @@ | |||
146 | !Finclude/net/cfg80211.h cfg80211_rx_mgmt | 146 | !Finclude/net/cfg80211.h cfg80211_rx_mgmt |
147 | !Finclude/net/cfg80211.h cfg80211_mgmt_tx_status | 147 | !Finclude/net/cfg80211.h cfg80211_mgmt_tx_status |
148 | !Finclude/net/cfg80211.h cfg80211_cqm_rssi_notify | 148 | !Finclude/net/cfg80211.h cfg80211_cqm_rssi_notify |
149 | !Finclude/net/cfg80211.h cfg80211_cqm_pktloss_notify | ||
149 | !Finclude/net/cfg80211.h cfg80211_michael_mic_failure | 150 | !Finclude/net/cfg80211.h cfg80211_michael_mic_failure |
150 | </chapter> | 151 | </chapter> |
151 | <chapter> | 152 | <chapter> |
@@ -332,10 +333,16 @@ | |||
332 | <title>functions/definitions</title> | 333 | <title>functions/definitions</title> |
333 | !Finclude/net/mac80211.h ieee80211_rx_status | 334 | !Finclude/net/mac80211.h ieee80211_rx_status |
334 | !Finclude/net/mac80211.h mac80211_rx_flags | 335 | !Finclude/net/mac80211.h mac80211_rx_flags |
336 | !Finclude/net/mac80211.h mac80211_tx_control_flags | ||
337 | !Finclude/net/mac80211.h mac80211_rate_control_flags | ||
338 | !Finclude/net/mac80211.h ieee80211_tx_rate | ||
335 | !Finclude/net/mac80211.h ieee80211_tx_info | 339 | !Finclude/net/mac80211.h ieee80211_tx_info |
340 | !Finclude/net/mac80211.h ieee80211_tx_info_clear_status | ||
336 | !Finclude/net/mac80211.h ieee80211_rx | 341 | !Finclude/net/mac80211.h ieee80211_rx |
342 | !Finclude/net/mac80211.h ieee80211_rx_ni | ||
337 | !Finclude/net/mac80211.h ieee80211_rx_irqsafe | 343 | !Finclude/net/mac80211.h ieee80211_rx_irqsafe |
338 | !Finclude/net/mac80211.h ieee80211_tx_status | 344 | !Finclude/net/mac80211.h ieee80211_tx_status |
345 | !Finclude/net/mac80211.h ieee80211_tx_status_ni | ||
339 | !Finclude/net/mac80211.h ieee80211_tx_status_irqsafe | 346 | !Finclude/net/mac80211.h ieee80211_tx_status_irqsafe |
340 | !Finclude/net/mac80211.h ieee80211_rts_get | 347 | !Finclude/net/mac80211.h ieee80211_rts_get |
341 | !Finclude/net/mac80211.h ieee80211_rts_duration | 348 | !Finclude/net/mac80211.h ieee80211_rts_duration |
@@ -346,6 +353,7 @@ | |||
346 | !Finclude/net/mac80211.h ieee80211_stop_queue | 353 | !Finclude/net/mac80211.h ieee80211_stop_queue |
347 | !Finclude/net/mac80211.h ieee80211_wake_queues | 354 | !Finclude/net/mac80211.h ieee80211_wake_queues |
348 | !Finclude/net/mac80211.h ieee80211_stop_queues | 355 | !Finclude/net/mac80211.h ieee80211_stop_queues |
356 | !Finclude/net/mac80211.h ieee80211_queue_stopped | ||
349 | </sect1> | 357 | </sect1> |
350 | </chapter> | 358 | </chapter> |
351 | 359 | ||
@@ -354,6 +362,13 @@ | |||
354 | !Pinclude/net/mac80211.h Frame filtering | 362 | !Pinclude/net/mac80211.h Frame filtering |
355 | !Finclude/net/mac80211.h ieee80211_filter_flags | 363 | !Finclude/net/mac80211.h ieee80211_filter_flags |
356 | </chapter> | 364 | </chapter> |
365 | |||
366 | <chapter id="workqueue"> | ||
367 | <title>The mac80211 workqueue</title> | ||
368 | !Pinclude/net/mac80211.h mac80211 workqueue | ||
369 | !Finclude/net/mac80211.h ieee80211_queue_work | ||
370 | !Finclude/net/mac80211.h ieee80211_queue_delayed_work | ||
371 | </chapter> | ||
357 | </part> | 372 | </part> |
358 | 373 | ||
359 | <part id="advanced"> | 374 | <part id="advanced"> |
@@ -374,6 +389,9 @@ | |||
374 | !Finclude/net/mac80211.h set_key_cmd | 389 | !Finclude/net/mac80211.h set_key_cmd |
375 | !Finclude/net/mac80211.h ieee80211_key_conf | 390 | !Finclude/net/mac80211.h ieee80211_key_conf |
376 | !Finclude/net/mac80211.h ieee80211_key_flags | 391 | !Finclude/net/mac80211.h ieee80211_key_flags |
392 | !Finclude/net/mac80211.h ieee80211_tkip_key_type | ||
393 | !Finclude/net/mac80211.h ieee80211_get_tkip_key | ||
394 | !Finclude/net/mac80211.h ieee80211_key_removed | ||
377 | </chapter> | 395 | </chapter> |
378 | 396 | ||
379 | <chapter id="powersave"> | 397 | <chapter id="powersave"> |
@@ -417,6 +435,18 @@ | |||
417 | supported by mac80211, add notes about supporting hw crypto | 435 | supported by mac80211, add notes about supporting hw crypto |
418 | with it. | 436 | with it. |
419 | </para> | 437 | </para> |
438 | !Finclude/net/mac80211.h ieee80211_iterate_active_interfaces | ||
439 | !Finclude/net/mac80211.h ieee80211_iterate_active_interfaces_atomic | ||
440 | </chapter> | ||
441 | |||
442 | <chapter id="station-handling"> | ||
443 | <title>Station handling</title> | ||
444 | <para>TODO</para> | ||
445 | !Finclude/net/mac80211.h ieee80211_sta | ||
446 | !Finclude/net/mac80211.h sta_notify_cmd | ||
447 | !Finclude/net/mac80211.h ieee80211_find_sta | ||
448 | !Finclude/net/mac80211.h ieee80211_find_sta_by_ifaddr | ||
449 | !Finclude/net/mac80211.h ieee80211_sta_block_awake | ||
420 | </chapter> | 450 | </chapter> |
421 | 451 | ||
422 | <chapter id="hardware-scan-offload"> | 452 | <chapter id="hardware-scan-offload"> |
@@ -424,6 +454,28 @@ | |||
424 | <para>TBD</para> | 454 | <para>TBD</para> |
425 | !Finclude/net/mac80211.h ieee80211_scan_completed | 455 | !Finclude/net/mac80211.h ieee80211_scan_completed |
426 | </chapter> | 456 | </chapter> |
457 | |||
458 | <chapter id="aggregation"> | ||
459 | <title>Aggregation</title> | ||
460 | <sect1> | ||
461 | <title>TX A-MPDU aggregation</title> | ||
462 | !Pnet/mac80211/agg-tx.c TX A-MPDU aggregation | ||
463 | !Cnet/mac80211/agg-tx.c | ||
464 | </sect1> | ||
465 | <sect1> | ||
466 | <title>RX A-MPDU aggregation</title> | ||
467 | !Pnet/mac80211/agg-rx.c RX A-MPDU aggregation | ||
468 | !Cnet/mac80211/agg-rx.c | ||
469 | </sect1> | ||
470 | !Finclude/net/mac80211.h ieee80211_ampdu_mlme_action | ||
471 | </chapter> | ||
472 | |||
473 | <chapter id="smps"> | ||
474 | <title>Spatial Multiplexing Powersave (SMPS)</title> | ||
475 | !Pinclude/net/mac80211.h Spatial multiplexing power save | ||
476 | !Finclude/net/mac80211.h ieee80211_request_smps | ||
477 | !Finclude/net/mac80211.h ieee80211_smps_mode | ||
478 | </chapter> | ||
427 | </part> | 479 | </part> |
428 | 480 | ||
429 | <part id="rate-control"> | 481 | <part id="rate-control"> |
@@ -435,9 +487,16 @@ | |||
435 | interface and how it relates to mac80211 and drivers. | 487 | interface and how it relates to mac80211 and drivers. |
436 | </para> | 488 | </para> |
437 | </partintro> | 489 | </partintro> |
438 | <chapter id="dummy"> | 490 | <chapter id="ratecontrol-api"> |
439 | <title>dummy chapter</title> | 491 | <title>Rate Control API</title> |
440 | <para>TBD</para> | 492 | <para>TBD</para> |
493 | !Finclude/net/mac80211.h ieee80211_start_tx_ba_session | ||
494 | !Finclude/net/mac80211.h ieee80211_start_tx_ba_cb_irqsafe | ||
495 | !Finclude/net/mac80211.h ieee80211_stop_tx_ba_session | ||
496 | !Finclude/net/mac80211.h ieee80211_stop_tx_ba_cb_irqsafe | ||
497 | !Finclude/net/mac80211.h rate_control_changed | ||
498 | !Finclude/net/mac80211.h ieee80211_tx_rate_control | ||
499 | !Finclude/net/mac80211.h rate_control_send_low | ||
441 | </chapter> | 500 | </chapter> |
442 | </part> | 501 | </part> |
443 | 502 | ||
@@ -485,6 +544,13 @@ | |||
485 | </sect1> | 544 | </sect1> |
486 | </chapter> | 545 | </chapter> |
487 | 546 | ||
547 | <chapter id="aggregation-internals"> | ||
548 | <title>Aggregation</title> | ||
549 | !Fnet/mac80211/sta_info.h sta_ampdu_mlme | ||
550 | !Fnet/mac80211/sta_info.h tid_ampdu_tx | ||
551 | !Fnet/mac80211/sta_info.h tid_ampdu_rx | ||
552 | </chapter> | ||
553 | |||
488 | <chapter id="synchronisation"> | 554 | <chapter id="synchronisation"> |
489 | <title>Synchronisation</title> | 555 | <title>Synchronisation</title> |
490 | <para>TBD</para> | 556 | <para>TBD</para> |
diff --git a/Documentation/networking/LICENSE.qlcnic b/Documentation/networking/LICENSE.qlcnic new file mode 100644 index 000000000000..29ad4b106420 --- /dev/null +++ b/Documentation/networking/LICENSE.qlcnic | |||
@@ -0,0 +1,327 @@ | |||
1 | Copyright (c) 2009-2010 QLogic Corporation | ||
2 | QLogic Linux qlcnic NIC Driver | ||
3 | |||
4 | This program includes a device driver for Linux 2.6 that may be | ||
5 | distributed with QLogic hardware specific firmware binary file. | ||
6 | You may modify and redistribute the device driver code under the | ||
7 | GNU General Public License (a copy of which is attached hereto as | ||
8 | Exhibit A) published by the Free Software Foundation (version 2). | ||
9 | |||
10 | You may redistribute the hardware specific firmware binary file | ||
11 | under the following terms: | ||
12 | |||
13 | 1. Redistribution of source code (only if applicable), | ||
14 | must retain the above copyright notice, this list of | ||
15 | conditions and the following disclaimer. | ||
16 | |||
17 | 2. Redistribution in binary form must reproduce the above | ||
18 | copyright notice, this list of conditions and the | ||
19 | following disclaimer in the documentation and/or other | ||
20 | materials provided with the distribution. | ||
21 | |||
22 | 3. The name of QLogic Corporation may not be used to | ||
23 | endorse or promote products derived from this software | ||
24 | without specific prior written permission | ||
25 | |||
26 | REGARDLESS OF WHAT LICENSING MECHANISM IS USED OR APPLICABLE, | ||
27 | THIS PROGRAM IS PROVIDED BY QLOGIC CORPORATION "AS IS'' AND ANY | ||
28 | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
29 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A | ||
30 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR | ||
31 | BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | ||
32 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED | ||
33 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
35 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | ||
36 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
37 | OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
38 | POSSIBILITY OF SUCH DAMAGE. | ||
39 | |||
40 | USER ACKNOWLEDGES AND AGREES THAT USE OF THIS PROGRAM WILL NOT | ||
41 | CREATE OR GIVE GROUNDS FOR A LICENSE BY IMPLICATION, ESTOPPEL, OR | ||
42 | OTHERWISE IN ANY INTELLECTUAL PROPERTY RIGHTS (PATENT, COPYRIGHT, | ||
43 | TRADE SECRET, MASK WORK, OR OTHER PROPRIETARY RIGHT) EMBODIED IN | ||
44 | ANY OTHER QLOGIC HARDWARE OR SOFTWARE EITHER SOLELY OR IN | ||
45 | COMBINATION WITH THIS PROGRAM. | ||
46 | |||
47 | |||
48 | EXHIBIT A | ||
49 | |||
50 | GNU GENERAL PUBLIC LICENSE | ||
51 | Version 2, June 1991 | ||
52 | |||
53 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. | ||
54 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||
55 | Everyone is permitted to copy and distribute verbatim copies | ||
56 | of this license document, but changing it is not allowed. | ||
57 | |||
58 | Preamble | ||
59 | |||
60 | The licenses for most software are designed to take away your | ||
61 | freedom to share and change it. By contrast, the GNU General Public | ||
62 | License is intended to guarantee your freedom to share and change free | ||
63 | software--to make sure the software is free for all its users. This | ||
64 | General Public License applies to most of the Free Software | ||
65 | Foundation's software and to any other program whose authors commit to | ||
66 | using it. (Some other Free Software Foundation software is covered by | ||
67 | the GNU Lesser General Public License instead.) You can apply it to | ||
68 | your programs, too. | ||
69 | |||
70 | When we speak of free software, we are referring to freedom, not | ||
71 | price. Our General Public Licenses are designed to make sure that you | ||
72 | have the freedom to distribute copies of free software (and charge for | ||
73 | this service if you wish), that you receive source code or can get it | ||
74 | if you want it, that you can change the software or use pieces of it | ||
75 | in new free programs; and that you know you can do these things. | ||
76 | |||
77 | To protect your rights, we need to make restrictions that forbid | ||
78 | anyone to deny you these rights or to ask you to surrender the rights. | ||
79 | These restrictions translate to certain responsibilities for you if you | ||
80 | distribute copies of the software, or if you modify it. | ||
81 | |||
82 | For example, if you distribute copies of such a program, whether | ||
83 | gratis or for a fee, you must give the recipients all the rights that | ||
84 | you have. You must make sure that they, too, receive or can get the | ||
85 | source code. And you must show them these terms so they know their | ||
86 | rights. | ||
87 | |||
88 | We protect your rights with two steps: (1) copyright the software, and | ||
89 | (2) offer you this license which gives you legal permission to copy, | ||
90 | distribute and/or modify the software. | ||
91 | |||
92 | Also, for each author's protection and ours, we want to make certain | ||
93 | that everyone understands that there is no warranty for this free | ||
94 | software. If the software is modified by someone else and passed on, we | ||
95 | want its recipients to know that what they have is not the original, so | ||
96 | that any problems introduced by others will not reflect on the original | ||
97 | authors' reputations. | ||
98 | |||
99 | Finally, any free program is threatened constantly by software | ||
100 | patents. We wish to avoid the danger that redistributors of a free | ||
101 | program will individually obtain patent licenses, in effect making the | ||
102 | program proprietary. To prevent this, we have made it clear that any | ||
103 | patent must be licensed for everyone's free use or not licensed at all. | ||
104 | |||
105 | The precise terms and conditions for copying, distribution and | ||
106 | modification follow. | ||
107 | |||
108 | GNU GENERAL PUBLIC LICENSE | ||
109 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | ||
110 | |||
111 | 0. This License applies to any program or other work which contains | ||
112 | a notice placed by the copyright holder saying it may be distributed | ||
113 | under the terms of this General Public License. The "Program", below, | ||
114 | refers to any such program or work, and a "work based on the Program" | ||
115 | means either the Program or any derivative work under copyright law: | ||
116 | that is to say, a work containing the Program or a portion of it, | ||
117 | either verbatim or with modifications and/or translated into another | ||
118 | language. (Hereinafter, translation is included without limitation in | ||
119 | the term "modification".) Each licensee is addressed as "you". | ||
120 | |||
121 | Activities other than copying, distribution and modification are not | ||
122 | covered by this License; they are outside its scope. The act of | ||
123 | running the Program is not restricted, and the output from the Program | ||
124 | is covered only if its contents constitute a work based on the | ||
125 | Program (independent of having been made by running the Program). | ||
126 | Whether that is true depends on what the Program does. | ||
127 | |||
128 | 1. You may copy and distribute verbatim copies of the Program's | ||
129 | source code as you receive it, in any medium, provided that you | ||
130 | conspicuously and appropriately publish on each copy an appropriate | ||
131 | copyright notice and disclaimer of warranty; keep intact all the | ||
132 | notices that refer to this License and to the absence of any warranty; | ||
133 | and give any other recipients of the Program a copy of this License | ||
134 | along with the Program. | ||
135 | |||
136 | You may charge a fee for the physical act of transferring a copy, and | ||
137 | you may at your option offer warranty protection in exchange for a fee. | ||
138 | |||
139 | 2. You may modify your copy or copies of the Program or any portion | ||
140 | of it, thus forming a work based on the Program, and copy and | ||
141 | distribute such modifications or work under the terms of Section 1 | ||
142 | above, provided that you also meet all of these conditions: | ||
143 | |||
144 | a) You must cause the modified files to carry prominent notices | ||
145 | stating that you changed the files and the date of any change. | ||
146 | |||
147 | b) You must cause any work that you distribute or publish, that in | ||
148 | whole or in part contains or is derived from the Program or any | ||
149 | part thereof, to be licensed as a whole at no charge to all third | ||
150 | parties under the terms of this License. | ||
151 | |||
152 | c) If the modified program normally reads commands interactively | ||
153 | when run, you must cause it, when started running for such | ||
154 | interactive use in the most ordinary way, to print or display an | ||
155 | announcement including an appropriate copyright notice and a | ||
156 | notice that there is no warranty (or else, saying that you provide | ||
157 | a warranty) and that users may redistribute the program under | ||
158 | these conditions, and telling the user how to view a copy of this | ||
159 | License. (Exception: if the Program itself is interactive but | ||
160 | does not normally print such an announcement, your work based on | ||
161 | the Program is not required to print an announcement.) | ||
162 | |||
163 | These requirements apply to the modified work as a whole. If | ||
164 | identifiable sections of that work are not derived from the Program, | ||
165 | and can be reasonably considered independent and separate works in | ||
166 | themselves, then this License, and its terms, do not apply to those | ||
167 | sections when you distribute them as separate works. But when you | ||
168 | distribute the same sections as part of a whole which is a work based | ||
169 | on the Program, the distribution of the whole must be on the terms of | ||
170 | this License, whose permissions for other licensees extend to the | ||
171 | entire whole, and thus to each and every part regardless of who wrote it. | ||
172 | |||
173 | Thus, it is not the intent of this section to claim rights or contest | ||
174 | your rights to work written entirely by you; rather, the intent is to | ||
175 | exercise the right to control the distribution of derivative or | ||
176 | collective works based on the Program. | ||
177 | |||
178 | In addition, mere aggregation of another work not based on the Program | ||
179 | with the Program (or with a work based on the Program) on a volume of | ||
180 | a storage or distribution medium does not bring the other work under | ||
181 | the scope of this License. | ||
182 | |||
183 | 3. You may copy and distribute the Program (or a work based on it, | ||
184 | under Section 2) in object code or executable form under the terms of | ||
185 | Sections 1 and 2 above provided that you also do one of the following: | ||
186 | |||
187 | a) Accompany it with the complete corresponding machine-readable | ||
188 | source code, which must be distributed under the terms of Sections | ||
189 | 1 and 2 above on a medium customarily used for software interchange; or, | ||
190 | |||
191 | b) Accompany it with a written offer, valid for at least three | ||
192 | years, to give any third party, for a charge no more than your | ||
193 | cost of physically performing source distribution, a complete | ||
194 | machine-readable copy of the corresponding source code, to be | ||
195 | distributed under the terms of Sections 1 and 2 above on a medium | ||
196 | customarily used for software interchange; or, | ||
197 | |||
198 | c) Accompany it with the information you received as to the offer | ||
199 | to distribute corresponding source code. (This alternative is | ||
200 | allowed only for noncommercial distribution and only if you | ||
201 | received the program in object code or executable form with such | ||
202 | an offer, in accord with Subsection b above.) | ||
203 | |||
204 | The source code for a work means the preferred form of the work for | ||
205 | making modifications to it. For an executable work, complete source | ||
206 | code means all the source code for all modules it contains, plus any | ||
207 | associated interface definition files, plus the scripts used to | ||
208 | control compilation and installation of the executable. However, as a | ||
209 | special exception, the source code distributed need not include | ||
210 | anything that is normally distributed (in either source or binary | ||
211 | form) with the major components (compiler, kernel, and so on) of the | ||
212 | operating system on which the executable runs, unless that component | ||
213 | itself accompanies the executable. | ||
214 | |||
215 | If distribution of executable or object code is made by offering | ||
216 | access to copy from a designated place, then offering equivalent | ||
217 | access to copy the source code from the same place counts as | ||
218 | distribution of the source code, even though third parties are not | ||
219 | compelled to copy the source along with the object code. | ||
220 | |||
221 | 4. You may not copy, modify, sublicense, or distribute the Program | ||
222 | except as expressly provided under this License. Any attempt | ||
223 | otherwise to copy, modify, sublicense or distribute the Program is | ||
224 | void, and will automatically terminate your rights under this License. | ||
225 | However, parties who have received copies, or rights, from you under | ||
226 | this License will not have their licenses terminated so long as such | ||
227 | parties remain in full compliance. | ||
228 | |||
229 | 5. You are not required to accept this License, since you have not | ||
230 | signed it. However, nothing else grants you permission to modify or | ||
231 | distribute the Program or its derivative works. These actions are | ||
232 | prohibited by law if you do not accept this License. Therefore, by | ||
233 | modifying or distributing the Program (or any work based on the | ||
234 | Program), you indicate your acceptance of this License to do so, and | ||
235 | all its terms and conditions for copying, distributing or modifying | ||
236 | the Program or works based on it. | ||
237 | |||
238 | 6. Each time you redistribute the Program (or any work based on the | ||
239 | Program), the recipient automatically receives a license from the | ||
240 | original licensor to copy, distribute or modify the Program subject to | ||
241 | these terms and conditions. You may not impose any further | ||
242 | restrictions on the recipients' exercise of the rights granted herein. | ||
243 | You are not responsible for enforcing compliance by third parties to | ||
244 | this License. | ||
245 | |||
246 | 7. If, as a consequence of a court judgment or allegation of patent | ||
247 | infringement or for any other reason (not limited to patent issues), | ||
248 | conditions are imposed on you (whether by court order, agreement or | ||
249 | otherwise) that contradict the conditions of this License, they do not | ||
250 | excuse you from the conditions of this License. If you cannot | ||
251 | distribute so as to satisfy simultaneously your obligations under this | ||
252 | License and any other pertinent obligations, then as a consequence you | ||
253 | may not distribute the Program at all. For example, if a patent | ||
254 | license would not permit royalty-free redistribution of the Program by | ||
255 | all those who receive copies directly or indirectly through you, then | ||
256 | the only way you could satisfy both it and this License would be to | ||
257 | refrain entirely from distribution of the Program. | ||
258 | |||
259 | If any portion of this section is held invalid or unenforceable under | ||
260 | any particular circumstance, the balance of the section is intended to | ||
261 | apply and the section as a whole is intended to apply in other | ||
262 | circumstances. | ||
263 | |||
264 | It is not the purpose of this section to induce you to infringe any | ||
265 | patents or other property right claims or to contest validity of any | ||
266 | such claims; this section has the sole purpose of protecting the | ||
267 | integrity of the free software distribution system, which is | ||
268 | implemented by public license practices. Many people have made | ||
269 | generous contributions to the wide range of software distributed | ||
270 | through that system in reliance on consistent application of that | ||
271 | system; it is up to the author/donor to decide if he or she is willing | ||
272 | to distribute software through any other system and a licensee cannot | ||
273 | impose that choice. | ||
274 | |||
275 | This section is intended to make thoroughly clear what is believed to | ||
276 | be a consequence of the rest of this License. | ||
277 | |||
278 | 8. If the distribution and/or use of the Program is restricted in | ||
279 | certain countries either by patents or by copyrighted interfaces, the | ||
280 | original copyright holder who places the Program under this License | ||
281 | may add an explicit geographical distribution limitation excluding | ||
282 | those countries, so that distribution is permitted only in or among | ||
283 | countries not thus excluded. In such case, this License incorporates | ||
284 | the limitation as if written in the body of this License. | ||
285 | |||
286 | 9. The Free Software Foundation may publish revised and/or new versions | ||
287 | of the General Public License from time to time. Such new versions will | ||
288 | be similar in spirit to the present version, but may differ in detail to | ||
289 | address new problems or concerns. | ||
290 | |||
291 | Each version is given a distinguishing version number. If the Program | ||
292 | specifies a version number of this License which applies to it and "any | ||
293 | later version", you have the option of following the terms and conditions | ||
294 | either of that version or of any later version published by the Free | ||
295 | Software Foundation. If the Program does not specify a version number of | ||
296 | this License, you may choose any version ever published by the Free Software | ||
297 | Foundation. | ||
298 | |||
299 | 10. If you wish to incorporate parts of the Program into other free | ||
300 | programs whose distribution conditions are different, write to the author | ||
301 | to ask for permission. For software which is copyrighted by the Free | ||
302 | Software Foundation, write to the Free Software Foundation; we sometimes | ||
303 | make exceptions for this. Our decision will be guided by the two goals | ||
304 | of preserving the free status of all derivatives of our free software and | ||
305 | of promoting the sharing and reuse of software generally. | ||
306 | |||
307 | NO WARRANTY | ||
308 | |||
309 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY | ||
310 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN | ||
311 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES | ||
312 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED | ||
313 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
314 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS | ||
315 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE | ||
316 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, | ||
317 | REPAIR OR CORRECTION. | ||
318 | |||
319 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING | ||
320 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR | ||
321 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, | ||
322 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING | ||
323 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED | ||
324 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY | ||
325 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER | ||
326 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE | ||
327 | POSSIBILITY OF SUCH DAMAGES. | ||
diff --git a/Documentation/networking/batman-adv.txt b/Documentation/networking/batman-adv.txt new file mode 100644 index 000000000000..77f0cdd5b0dd --- /dev/null +++ b/Documentation/networking/batman-adv.txt | |||
@@ -0,0 +1,240 @@ | |||
1 | [state: 21-11-2010] | ||
2 | |||
3 | BATMAN-ADV | ||
4 | ---------- | ||
5 | |||
6 | Batman advanced is a new approach to wireless networking which | ||
7 | does no longer operate on the IP basis. Unlike the batman daemon, | ||
8 | which exchanges information using UDP packets and sets routing | ||
9 | tables, batman-advanced operates on ISO/OSI Layer 2 only and uses | ||
10 | and routes (or better: bridges) Ethernet Frames. It emulates a | ||
11 | virtual network switch of all nodes participating. Therefore all | ||
12 | nodes appear to be link local, thus all higher operating proto- | ||
13 | cols won't be affected by any changes within the network. You can | ||
14 | run almost any protocol above batman advanced, prominent examples | ||
15 | are: IPv4, IPv6, DHCP, IPX. | ||
16 | |||
17 | Batman advanced was implemented as a Linux kernel driver to re- | ||
18 | duce the overhead to a minimum. It does not depend on any (other) | ||
19 | network driver, and can be used on wifi as well as ethernet lan, | ||
20 | vpn, etc ... (anything with ethernet-style layer 2). | ||
21 | |||
22 | CONFIGURATION | ||
23 | ------------- | ||
24 | |||
25 | Load the batman-adv module into your kernel: | ||
26 | |||
27 | # insmod batman-adv.ko | ||
28 | |||
29 | The module is now waiting for activation. You must add some in- | ||
30 | terfaces on which batman can operate. After loading the module | ||
31 | batman advanced will scan your systems interfaces to search for | ||
32 | compatible interfaces. Once found, it will create subfolders in | ||
33 | the /sys directories of each supported interface, e.g. | ||
34 | |||
35 | # ls /sys/class/net/eth0/batman_adv/ | ||
36 | # iface_status mesh_iface | ||
37 | |||
38 | If an interface does not have the "batman_adv" subfolder it prob- | ||
39 | ably is not supported. Not supported interfaces are: loopback, | ||
40 | non-ethernet and batman's own interfaces. | ||
41 | |||
42 | Note: After the module was loaded it will continuously watch for | ||
43 | new interfaces to verify the compatibility. There is no need to | ||
44 | reload the module if you plug your USB wifi adapter into your ma- | ||
45 | chine after batman advanced was initially loaded. | ||
46 | |||
47 | To activate a given interface simply write "bat0" into its | ||
48 | "mesh_iface" file inside the batman_adv subfolder: | ||
49 | |||
50 | # echo bat0 > /sys/class/net/eth0/batman_adv/mesh_iface | ||
51 | |||
52 | Repeat this step for all interfaces you wish to add. Now batman | ||
53 | starts using/broadcasting on this/these interface(s). | ||
54 | |||
55 | By reading the "iface_status" file you can check its status: | ||
56 | |||
57 | # cat /sys/class/net/eth0/batman_adv/iface_status | ||
58 | # active | ||
59 | |||
60 | To deactivate an interface you have to write "none" into its | ||
61 | "mesh_iface" file: | ||
62 | |||
63 | # echo none > /sys/class/net/eth0/batman_adv/mesh_iface | ||
64 | |||
65 | |||
66 | All mesh wide settings can be found in batman's own interface | ||
67 | folder: | ||
68 | |||
69 | # ls /sys/class/net/bat0/mesh/ | ||
70 | # aggregated_ogms bonding fragmentation orig_interval | ||
71 | # vis_mode | ||
72 | |||
73 | |||
74 | There is a special folder for debugging informations: | ||
75 | |||
76 | # ls /sys/kernel/debug/batman_adv/bat0/ | ||
77 | # originators socket transtable_global transtable_local | ||
78 | # vis_data | ||
79 | |||
80 | |||
81 | Some of the files contain all sort of status information regard- | ||
82 | ing the mesh network. For example, you can view the table of | ||
83 | originators (mesh participants) with: | ||
84 | |||
85 | # cat /sys/kernel/debug/batman_adv/bat0/originators | ||
86 | |||
87 | Other files allow to change batman's behaviour to better fit your | ||
88 | requirements. For instance, you can check the current originator | ||
89 | interval (value in milliseconds which determines how often batman | ||
90 | sends its broadcast packets): | ||
91 | |||
92 | # cat /sys/class/net/bat0/mesh/orig_interval | ||
93 | # 1000 | ||
94 | |||
95 | and also change its value: | ||
96 | |||
97 | # echo 3000 > /sys/class/net/bat0/mesh/orig_interval | ||
98 | |||
99 | In very mobile scenarios, you might want to adjust the originator | ||
100 | interval to a lower value. This will make the mesh more respon- | ||
101 | sive to topology changes, but will also increase the overhead. | ||
102 | |||
103 | |||
104 | USAGE | ||
105 | ----- | ||
106 | |||
107 | To make use of your newly created mesh, batman advanced provides | ||
108 | a new interface "bat0" which you should use from this point on. | ||
109 | All interfaces added to batman advanced are not relevant any | ||
110 | longer because batman handles them for you. Basically, one "hands | ||
111 | over" the data by using the batman interface and batman will make | ||
112 | sure it reaches its destination. | ||
113 | |||
114 | The "bat0" interface can be used like any other regular inter- | ||
115 | face. It needs an IP address which can be either statically con- | ||
116 | figured or dynamically (by using DHCP or similar services): | ||
117 | |||
118 | # NodeA: ifconfig bat0 192.168.0.1 | ||
119 | # NodeB: ifconfig bat0 192.168.0.2 | ||
120 | # NodeB: ping 192.168.0.1 | ||
121 | |||
122 | Note: In order to avoid problems remove all IP addresses previ- | ||
123 | ously assigned to interfaces now used by batman advanced, e.g. | ||
124 | |||
125 | # ifconfig eth0 0.0.0.0 | ||
126 | |||
127 | |||
128 | VISUALIZATION | ||
129 | ------------- | ||
130 | |||
131 | If you want topology visualization, at least one mesh node must | ||
132 | be configured as VIS-server: | ||
133 | |||
134 | # echo "server" > /sys/class/net/bat0/mesh/vis_mode | ||
135 | |||
136 | Each node is either configured as "server" or as "client" (de- | ||
137 | fault: "client"). Clients send their topology data to the server | ||
138 | next to them, and server synchronize with other servers. If there | ||
139 | is no server configured (default) within the mesh, no topology | ||
140 | information will be transmitted. With these "synchronizing | ||
141 | servers", there can be 1 or more vis servers sharing the same (or | ||
142 | at least very similar) data. | ||
143 | |||
144 | When configured as server, you can get a topology snapshot of | ||
145 | your mesh: | ||
146 | |||
147 | # cat /sys/kernel/debug/batman_adv/bat0/vis_data | ||
148 | |||
149 | This raw output is intended to be easily parsable and convertable | ||
150 | with other tools. Have a look at the batctl README if you want a | ||
151 | vis output in dot or json format for instance and how those out- | ||
152 | puts could then be visualised in an image. | ||
153 | |||
154 | The raw format consists of comma separated values per entry where | ||
155 | each entry is giving information about a certain source inter- | ||
156 | face. Each entry can/has to have the following values: | ||
157 | -> "mac" - mac address of an originator's source interface | ||
158 | (each line begins with it) | ||
159 | -> "TQ mac value" - src mac's link quality towards mac address | ||
160 | of a neighbor originator's interface which | ||
161 | is being used for routing | ||
162 | -> "HNA mac" - HNA announced by source mac | ||
163 | -> "PRIMARY" - this is a primary interface | ||
164 | -> "SEC mac" - secondary mac address of source | ||
165 | (requires preceding PRIMARY) | ||
166 | |||
167 | The TQ value has a range from 4 to 255 with 255 being the best. | ||
168 | The HNA entries are showing which hosts are connected to the mesh | ||
169 | via bat0 or being bridged into the mesh network. The PRIMARY/SEC | ||
170 | values are only applied on primary interfaces | ||
171 | |||
172 | |||
173 | LOGGING/DEBUGGING | ||
174 | ----------------- | ||
175 | |||
176 | All error messages, warnings and information messages are sent to | ||
177 | the kernel log. Depending on your operating system distribution | ||
178 | this can be read in one of a number of ways. Try using the com- | ||
179 | mands: dmesg, logread, or looking in the files /var/log/kern.log | ||
180 | or /var/log/syslog. All batman-adv messages are prefixed with | ||
181 | "batman-adv:" So to see just these messages try | ||
182 | |||
183 | # dmesg | grep batman-adv | ||
184 | |||
185 | When investigating problems with your mesh network it is some- | ||
186 | times necessary to see more detail debug messages. This must be | ||
187 | enabled when compiling the batman-adv module. When building bat- | ||
188 | man-adv as part of kernel, use "make menuconfig" and enable the | ||
189 | option "B.A.T.M.A.N. debugging". | ||
190 | |||
191 | Those additional debug messages can be accessed using a special | ||
192 | file in debugfs | ||
193 | |||
194 | # cat /sys/kernel/debug/batman_adv/bat0/log | ||
195 | |||
196 | The additional debug output is by default disabled. It can be en- | ||
197 | abled during run time. Following log_levels are defined: | ||
198 | |||
199 | 0 - All debug output disabled | ||
200 | 1 - Enable messages related to routing / flooding / broadcasting | ||
201 | 2 - Enable route or hna added / changed / deleted | ||
202 | 3 - Enable all messages | ||
203 | |||
204 | The debug output can be changed at runtime using the file | ||
205 | /sys/class/net/bat0/mesh/log_level. e.g. | ||
206 | |||
207 | # echo 2 > /sys/class/net/bat0/mesh/log_level | ||
208 | |||
209 | will enable debug messages for when routes or HNAs change. | ||
210 | |||
211 | |||
212 | BATCTL | ||
213 | ------ | ||
214 | |||
215 | As batman advanced operates on layer 2 all hosts participating in | ||
216 | the virtual switch are completely transparent for all protocols | ||
217 | above layer 2. Therefore the common diagnosis tools do not work | ||
218 | as expected. To overcome these problems batctl was created. At | ||
219 | the moment the batctl contains ping, traceroute, tcpdump and | ||
220 | interfaces to the kernel module settings. | ||
221 | |||
222 | For more information, please see the manpage (man batctl). | ||
223 | |||
224 | batctl is available on http://www.open-mesh.org/ | ||
225 | |||
226 | |||
227 | CONTACT | ||
228 | ------- | ||
229 | |||
230 | Please send us comments, experiences, questions, anything :) | ||
231 | |||
232 | IRC: #batman on irc.freenode.org | ||
233 | Mailing-list: b.a.t.m.a.n@b.a.t.m.a.n@lists.open-mesh.org | ||
234 | (optional subscription at | ||
235 | https://lists.open-mesh.org/mm/listinfo/b.a.t.m.a.n) | ||
236 | |||
237 | You can also contact the Authors: | ||
238 | |||
239 | Marek Lindner <lindner_marek@yahoo.de> | ||
240 | Simon Wunderlich <siwu@hrz.tu-chemnitz.de> | ||
diff --git a/Documentation/networking/dccp.txt b/Documentation/networking/dccp.txt index 271d524a4c8d..b395ca6a49f2 100644 --- a/Documentation/networking/dccp.txt +++ b/Documentation/networking/dccp.txt | |||
@@ -47,6 +47,26 @@ http://linux-net.osdl.org/index.php/DCCP_Testing#Experimental_DCCP_source_tree | |||
47 | 47 | ||
48 | Socket options | 48 | Socket options |
49 | ============== | 49 | ============== |
50 | DCCP_SOCKOPT_QPOLICY_ID sets the dequeuing policy for outgoing packets. It takes | ||
51 | a policy ID as argument and can only be set before the connection (i.e. changes | ||
52 | during an established connection are not supported). Currently, two policies are | ||
53 | defined: the "simple" policy (DCCPQ_POLICY_SIMPLE), which does nothing special, | ||
54 | and a priority-based variant (DCCPQ_POLICY_PRIO). The latter allows to pass an | ||
55 | u32 priority value as ancillary data to sendmsg(), where higher numbers indicate | ||
56 | a higher packet priority (similar to SO_PRIORITY). This ancillary data needs to | ||
57 | be formatted using a cmsg(3) message header filled in as follows: | ||
58 | cmsg->cmsg_level = SOL_DCCP; | ||
59 | cmsg->cmsg_type = DCCP_SCM_PRIORITY; | ||
60 | cmsg->cmsg_len = CMSG_LEN(sizeof(uint32_t)); /* or CMSG_LEN(4) */ | ||
61 | |||
62 | DCCP_SOCKOPT_QPOLICY_TXQLEN sets the maximum length of the output queue. A zero | ||
63 | value is always interpreted as unbounded queue length. If different from zero, | ||
64 | the interpretation of this parameter depends on the current dequeuing policy | ||
65 | (see above): the "simple" policy will enforce a fixed queue size by returning | ||
66 | EAGAIN, whereas the "prio" policy enforces a fixed queue length by dropping the | ||
67 | lowest-priority packet first. The default value for this parameter is | ||
68 | initialised from /proc/sys/net/dccp/default/tx_qlen. | ||
69 | |||
50 | DCCP_SOCKOPT_SERVICE sets the service. The specification mandates use of | 70 | DCCP_SOCKOPT_SERVICE sets the service. The specification mandates use of |
51 | service codes (RFC 4340, sec. 8.1.2); if this socket option is not set, | 71 | service codes (RFC 4340, sec. 8.1.2); if this socket option is not set, |
52 | the socket will fall back to 0 (which means that no meaningful service code | 72 | the socket will fall back to 0 (which means that no meaningful service code |
diff --git a/Documentation/networking/e100.txt b/Documentation/networking/e100.txt index 944aa55e79f8..162f323a7a1f 100644 --- a/Documentation/networking/e100.txt +++ b/Documentation/networking/e100.txt | |||
@@ -72,7 +72,7 @@ Tx Descriptors: Number of transmit descriptors. A transmit descriptor is a data | |||
72 | ethtool -G eth? tx n, where n is the number of desired tx descriptors. | 72 | ethtool -G eth? tx n, where n is the number of desired tx descriptors. |
73 | 73 | ||
74 | Speed/Duplex: The driver auto-negotiates the link speed and duplex settings by | 74 | Speed/Duplex: The driver auto-negotiates the link speed and duplex settings by |
75 | default. Ethtool can be used as follows to force speed/duplex. | 75 | default. The ethtool utility can be used as follows to force speed/duplex. |
76 | 76 | ||
77 | ethtool -s eth? autoneg off speed {10|100} duplex {full|half} | 77 | ethtool -s eth? autoneg off speed {10|100} duplex {full|half} |
78 | 78 | ||
@@ -126,30 +126,21 @@ Additional Configurations | |||
126 | ------- | 126 | ------- |
127 | 127 | ||
128 | The driver utilizes the ethtool interface for driver configuration and | 128 | The driver utilizes the ethtool interface for driver configuration and |
129 | diagnostics, as well as displaying statistical information. Ethtool | 129 | diagnostics, as well as displaying statistical information. The ethtool |
130 | version 1.6 or later is required for this functionality. | 130 | version 1.6 or later is required for this functionality. |
131 | 131 | ||
132 | The latest release of ethtool can be found from | 132 | The latest release of ethtool can be found from |
133 | http://sourceforge.net/projects/gkernel. | 133 | http://ftp.kernel.org/pub/software/network/ethtool/ |
134 | |||
135 | NOTE: Ethtool 1.6 only supports a limited set of ethtool options. Support | ||
136 | for a more complete ethtool feature set can be enabled by upgrading | ||
137 | ethtool to ethtool-1.8.1. | ||
138 | |||
139 | 134 | ||
140 | Enabling Wake on LAN* (WoL) | 135 | Enabling Wake on LAN* (WoL) |
141 | --------------------------- | 136 | --------------------------- |
142 | WoL is provided through the Ethtool* utility. Ethtool is included with Red | 137 | WoL is provided through the ethtool* utility. For instructions on enabling |
143 | Hat* 8.0. For other Linux distributions, download and install Ethtool from | 138 | WoL with ethtool, refer to the ethtool man page. |
144 | the following website: http://sourceforge.net/projects/gkernel. | ||
145 | |||
146 | For instructions on enabling WoL with Ethtool, refer to the Ethtool man page. | ||
147 | 139 | ||
148 | WoL will be enabled on the system during the next shut down or reboot. For | 140 | WoL will be enabled on the system during the next shut down or reboot. For |
149 | this driver version, in order to enable WoL, the e100 driver must be | 141 | this driver version, in order to enable WoL, the e100 driver must be |
150 | loaded when shutting down or rebooting the system. | 142 | loaded when shutting down or rebooting the system. |
151 | 143 | ||
152 | |||
153 | NAPI | 144 | NAPI |
154 | ---- | 145 | ---- |
155 | 146 | ||
diff --git a/Documentation/networking/e1000.txt b/Documentation/networking/e1000.txt index d9271e74e488..71ca95855671 100644 --- a/Documentation/networking/e1000.txt +++ b/Documentation/networking/e1000.txt | |||
@@ -79,7 +79,7 @@ InterruptThrottleRate | |||
79 | --------------------- | 79 | --------------------- |
80 | (not supported on Intel(R) 82542, 82543 or 82544-based adapters) | 80 | (not supported on Intel(R) 82542, 82543 or 82544-based adapters) |
81 | Valid Range: 0,1,3,4,100-100000 (0=off, 1=dynamic, 3=dynamic conservative, | 81 | Valid Range: 0,1,3,4,100-100000 (0=off, 1=dynamic, 3=dynamic conservative, |
82 | 4=simplified balancing) | 82 | 4=simplified balancing) |
83 | Default Value: 3 | 83 | Default Value: 3 |
84 | 84 | ||
85 | The driver can limit the amount of interrupts per second that the adapter | 85 | The driver can limit the amount of interrupts per second that the adapter |
@@ -124,8 +124,8 @@ InterruptThrottleRate is set to mode 1. In this mode, which operates | |||
124 | the same as mode 3, the InterruptThrottleRate will be increased stepwise to | 124 | the same as mode 3, the InterruptThrottleRate will be increased stepwise to |
125 | 70000 for traffic in class "Lowest latency". | 125 | 70000 for traffic in class "Lowest latency". |
126 | 126 | ||
127 | In simplified mode the interrupt rate is based on the ratio of Tx and | 127 | In simplified mode the interrupt rate is based on the ratio of TX and |
128 | Rx traffic. If the bytes per second rate is approximately equal, the | 128 | RX traffic. If the bytes per second rate is approximately equal, the |
129 | interrupt rate will drop as low as 2000 interrupts per second. If the | 129 | interrupt rate will drop as low as 2000 interrupts per second. If the |
130 | traffic is mostly transmit or mostly receive, the interrupt rate could | 130 | traffic is mostly transmit or mostly receive, the interrupt rate could |
131 | be as high as 8000. | 131 | be as high as 8000. |
@@ -245,7 +245,7 @@ NOTE: Depending on the available system resources, the request for a | |||
245 | TxDescriptorStep | 245 | TxDescriptorStep |
246 | ---------------- | 246 | ---------------- |
247 | Valid Range: 1 (use every Tx Descriptor) | 247 | Valid Range: 1 (use every Tx Descriptor) |
248 | 4 (use every 4th Tx Descriptor) | 248 | 4 (use every 4th Tx Descriptor) |
249 | 249 | ||
250 | Default Value: 1 (use every Tx Descriptor) | 250 | Default Value: 1 (use every Tx Descriptor) |
251 | 251 | ||
@@ -312,7 +312,7 @@ Valid Range: 0-xxxxxxx (0=off) | |||
312 | Default Value: 256 | 312 | Default Value: 256 |
313 | Usage: insmod e1000.ko copybreak=128 | 313 | Usage: insmod e1000.ko copybreak=128 |
314 | 314 | ||
315 | Driver copies all packets below or equaling this size to a fresh Rx | 315 | Driver copies all packets below or equaling this size to a fresh RX |
316 | buffer before handing it up the stack. | 316 | buffer before handing it up the stack. |
317 | 317 | ||
318 | This parameter is different than other parameters, in that it is a | 318 | This parameter is different than other parameters, in that it is a |
@@ -431,15 +431,15 @@ Additional Configurations | |||
431 | Ethtool | 431 | Ethtool |
432 | ------- | 432 | ------- |
433 | The driver utilizes the ethtool interface for driver configuration and | 433 | The driver utilizes the ethtool interface for driver configuration and |
434 | diagnostics, as well as displaying statistical information. Ethtool | 434 | diagnostics, as well as displaying statistical information. The ethtool |
435 | version 1.6 or later is required for this functionality. | 435 | version 1.6 or later is required for this functionality. |
436 | 436 | ||
437 | The latest release of ethtool can be found from | 437 | The latest release of ethtool can be found from |
438 | http://sourceforge.net/projects/gkernel. | 438 | http://ftp.kernel.org/pub/software/network/ethtool/ |
439 | 439 | ||
440 | Enabling Wake on LAN* (WoL) | 440 | Enabling Wake on LAN* (WoL) |
441 | --------------------------- | 441 | --------------------------- |
442 | WoL is configured through the Ethtool* utility. | 442 | WoL is configured through the ethtool* utility. |
443 | 443 | ||
444 | WoL will be enabled on the system during the next shut down or reboot. | 444 | WoL will be enabled on the system during the next shut down or reboot. |
445 | For this driver version, in order to enable WoL, the e1000 driver must be | 445 | For this driver version, in order to enable WoL, the e1000 driver must be |
diff --git a/Documentation/networking/e1000e.txt b/Documentation/networking/e1000e.txt index 6aa048badf32..97b5ba942ebf 100644 --- a/Documentation/networking/e1000e.txt +++ b/Documentation/networking/e1000e.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | Linux* Driver for Intel(R) Network Connection | 1 | Linux* Driver for Intel(R) Network Connection |
2 | =============================================================== | 2 | ============================================= |
3 | 3 | ||
4 | Intel Gigabit Linux driver. | 4 | Intel Gigabit Linux driver. |
5 | Copyright(c) 1999 - 2010 Intel Corporation. | 5 | Copyright(c) 1999 - 2010 Intel Corporation. |
@@ -61,6 +61,12 @@ per second, even if more packets have come in. This reduces interrupt | |||
61 | load on the system and can lower CPU utilization under heavy load, | 61 | load on the system and can lower CPU utilization under heavy load, |
62 | but will increase latency as packets are not processed as quickly. | 62 | but will increase latency as packets are not processed as quickly. |
63 | 63 | ||
64 | The default behaviour of the driver previously assumed a static | ||
65 | InterruptThrottleRate value of 8000, providing a good fallback value for | ||
66 | all traffic types, but lacking in small packet performance and latency. | ||
67 | The hardware can handle many more small packets per second however, and | ||
68 | for this reason an adaptive interrupt moderation algorithm was implemented. | ||
69 | |||
64 | The driver has two adaptive modes (setting 1 or 3) in which | 70 | The driver has two adaptive modes (setting 1 or 3) in which |
65 | it dynamically adjusts the InterruptThrottleRate value based on the traffic | 71 | it dynamically adjusts the InterruptThrottleRate value based on the traffic |
66 | that it receives. After determining the type of incoming traffic in the last | 72 | that it receives. After determining the type of incoming traffic in the last |
@@ -86,8 +92,8 @@ InterruptThrottleRate is set to mode 1. In this mode, which operates | |||
86 | the same as mode 3, the InterruptThrottleRate will be increased stepwise to | 92 | the same as mode 3, the InterruptThrottleRate will be increased stepwise to |
87 | 70000 for traffic in class "Lowest latency". | 93 | 70000 for traffic in class "Lowest latency". |
88 | 94 | ||
89 | In simplified mode the interrupt rate is based on the ratio of Tx and | 95 | In simplified mode the interrupt rate is based on the ratio of TX and |
90 | Rx traffic. If the bytes per second rate is approximately equal the | 96 | RX traffic. If the bytes per second rate is approximately equal, the |
91 | interrupt rate will drop as low as 2000 interrupts per second. If the | 97 | interrupt rate will drop as low as 2000 interrupts per second. If the |
92 | traffic is mostly transmit or mostly receive, the interrupt rate could | 98 | traffic is mostly transmit or mostly receive, the interrupt rate could |
93 | be as high as 8000. | 99 | be as high as 8000. |
@@ -177,7 +183,7 @@ Copybreak | |||
177 | Valid Range: 0-xxxxxxx (0=off) | 183 | Valid Range: 0-xxxxxxx (0=off) |
178 | Default Value: 256 | 184 | Default Value: 256 |
179 | 185 | ||
180 | Driver copies all packets below or equaling this size to a fresh Rx | 186 | Driver copies all packets below or equaling this size to a fresh RX |
181 | buffer before handing it up the stack. | 187 | buffer before handing it up the stack. |
182 | 188 | ||
183 | This parameter is different than other parameters, in that it is a | 189 | This parameter is different than other parameters, in that it is a |
@@ -223,17 +229,17 @@ loading or enabling the driver, try disabling this feature. | |||
223 | 229 | ||
224 | WriteProtectNVM | 230 | WriteProtectNVM |
225 | --------------- | 231 | --------------- |
226 | Valid Range: 0-1 | 232 | Valid Range: 0,1 |
227 | Default Value: 1 (enabled) | 233 | Default Value: 1 |
228 | 234 | ||
229 | Set the hardware to ignore all write/erase cycles to the GbE region in the | 235 | If set to 1, configure the hardware to ignore all write/erase cycles to the |
230 | ICHx NVM (non-volatile memory). This feature can be disabled by the | 236 | GbE region in the ICHx NVM (in order to prevent accidental corruption of the |
231 | WriteProtectNVM module parameter (enabled by default) only after a hardware | 237 | NVM). This feature can be disabled by setting the parameter to 0 during initial |
232 | reset, but the machine must be power cycled before trying to enable writes. | 238 | driver load. |
233 | 239 | NOTE: The machine must be power cycled (full off/on) when enabling NVM writes | |
234 | Note: the kernel boot option iomem=relaxed may need to be set if the kernel | 240 | via setting the parameter to zero. Once the NVM has been locked (via the |
235 | config option CONFIG_STRICT_DEVMEM=y, if the root user wants to write the | 241 | parameter at 1 when the driver loads) it cannot be unlocked except via power |
236 | NVM from user space via ethtool. | 242 | cycle. |
237 | 243 | ||
238 | Additional Configurations | 244 | Additional Configurations |
239 | ========================= | 245 | ========================= |
@@ -259,32 +265,30 @@ Additional Configurations | |||
259 | - Some adapters limit Jumbo Frames sized packets to a maximum of | 265 | - Some adapters limit Jumbo Frames sized packets to a maximum of |
260 | 4096 bytes and some adapters do not support Jumbo Frames. | 266 | 4096 bytes and some adapters do not support Jumbo Frames. |
261 | 267 | ||
262 | |||
263 | Ethtool | 268 | Ethtool |
264 | ------- | 269 | ------- |
265 | The driver utilizes the ethtool interface for driver configuration and | 270 | The driver utilizes the ethtool interface for driver configuration and |
266 | diagnostics, as well as displaying statistical information. We | 271 | diagnostics, as well as displaying statistical information. We |
267 | strongly recommend downloading the latest version of Ethtool at: | 272 | strongly recommend downloading the latest version of ethtool at: |
268 | 273 | ||
269 | http://sourceforge.net/projects/gkernel. | 274 | http://ftp.kernel.org/pub/software/network/ethtool/ |
270 | 275 | ||
271 | Speed and Duplex | 276 | Speed and Duplex |
272 | ---------------- | 277 | ---------------- |
273 | Speed and Duplex are configured through the Ethtool* utility. For | 278 | Speed and Duplex are configured through the ethtool* utility. For |
274 | instructions, refer to the Ethtool man page. | 279 | instructions, refer to the ethtool man page. |
275 | 280 | ||
276 | Enabling Wake on LAN* (WoL) | 281 | Enabling Wake on LAN* (WoL) |
277 | --------------------------- | 282 | --------------------------- |
278 | WoL is configured through the Ethtool* utility. For instructions on | 283 | WoL is configured through the ethtool* utility. For instructions on |
279 | enabling WoL with Ethtool, refer to the Ethtool man page. | 284 | enabling WoL with ethtool, refer to the ethtool man page. |
280 | 285 | ||
281 | WoL will be enabled on the system during the next shut down or reboot. | 286 | WoL will be enabled on the system during the next shut down or reboot. |
282 | For this driver version, in order to enable WoL, the e1000e driver must be | 287 | For this driver version, in order to enable WoL, the e1000e driver must be |
283 | loaded when shutting down or rebooting the system. | 288 | loaded when shutting down or rebooting the system. |
284 | 289 | ||
285 | In most cases Wake On LAN is only supported on port A for multiple port | 290 | In most cases Wake On LAN is only supported on port A for multiple port |
286 | adapters. To verify if a port supports Wake on LAN run ethtool eth<X>. | 291 | adapters. To verify if a port supports Wake on Lan run ethtool eth<X>. |
287 | |||
288 | 292 | ||
289 | Support | 293 | Support |
290 | ======= | 294 | ======= |
diff --git a/Documentation/networking/igb.txt b/Documentation/networking/igb.txt index ab2d71831892..98953c0d5342 100644 --- a/Documentation/networking/igb.txt +++ b/Documentation/networking/igb.txt | |||
@@ -36,6 +36,7 @@ Default Value: 0 | |||
36 | This parameter adds support for SR-IOV. It causes the driver to spawn up to | 36 | This parameter adds support for SR-IOV. It causes the driver to spawn up to |
37 | max_vfs worth of virtual function. | 37 | max_vfs worth of virtual function. |
38 | 38 | ||
39 | |||
39 | Additional Configurations | 40 | Additional Configurations |
40 | ========================= | 41 | ========================= |
41 | 42 | ||
@@ -60,15 +61,16 @@ Additional Configurations | |||
60 | Ethtool | 61 | Ethtool |
61 | ------- | 62 | ------- |
62 | The driver utilizes the ethtool interface for driver configuration and | 63 | The driver utilizes the ethtool interface for driver configuration and |
63 | diagnostics, as well as displaying statistical information. | 64 | diagnostics, as well as displaying statistical information. The latest |
65 | version of ethtool can be found at: | ||
64 | 66 | ||
65 | http://sourceforge.net/projects/gkernel. | 67 | http://ftp.kernel.org/pub/software/network/ethtool/ |
66 | 68 | ||
67 | Enabling Wake on LAN* (WoL) | 69 | Enabling Wake on LAN* (WoL) |
68 | --------------------------- | 70 | --------------------------- |
69 | WoL is configured through the Ethtool* utility. | 71 | WoL is configured through the ethtool* utility. |
70 | 72 | ||
71 | For instructions on enabling WoL with Ethtool, refer to the Ethtool man page. | 73 | For instructions on enabling WoL with ethtool, refer to the ethtool man page. |
72 | 74 | ||
73 | WoL will be enabled on the system during the next shut down or reboot. | 75 | WoL will be enabled on the system during the next shut down or reboot. |
74 | For this driver version, in order to enable WoL, the igb driver must be | 76 | For this driver version, in order to enable WoL, the igb driver must be |
@@ -91,31 +93,6 @@ Additional Configurations | |||
91 | REQUIREMENTS: MSI-X support is required for Multiqueue. If MSI-X is not | 93 | REQUIREMENTS: MSI-X support is required for Multiqueue. If MSI-X is not |
92 | found, the system will fallback to MSI or to Legacy interrupts. | 94 | found, the system will fallback to MSI or to Legacy interrupts. |
93 | 95 | ||
94 | LRO | ||
95 | --- | ||
96 | Large Receive Offload (LRO) is a technique for increasing inbound throughput | ||
97 | of high-bandwidth network connections by reducing CPU overhead. It works by | ||
98 | aggregating multiple incoming packets from a single stream into a larger | ||
99 | buffer before they are passed higher up the networking stack, thus reducing | ||
100 | the number of packets that have to be processed. LRO combines multiple | ||
101 | Ethernet frames into a single receive in the stack, thereby potentially | ||
102 | decreasing CPU utilization for receives. | ||
103 | |||
104 | NOTE: You need to have inet_lro enabled via either the CONFIG_INET_LRO or | ||
105 | CONFIG_INET_LRO_MODULE kernel config option. Additionally, if | ||
106 | CONFIG_INET_LRO_MODULE is used, the inet_lro module needs to be loaded | ||
107 | before the igb driver. | ||
108 | |||
109 | You can verify that the driver is using LRO by looking at these counters in | ||
110 | Ethtool: | ||
111 | |||
112 | lro_aggregated - count of total packets that were combined | ||
113 | lro_flushed - counts the number of packets flushed out of LRO | ||
114 | lro_no_desc - counts the number of times an LRO descriptor was not available | ||
115 | for the LRO packet | ||
116 | |||
117 | NOTE: IPv6 and UDP are not supported by LRO. | ||
118 | |||
119 | Support | 96 | Support |
120 | ======= | 97 | ======= |
121 | 98 | ||
diff --git a/Documentation/networking/igbvf.txt b/Documentation/networking/igbvf.txt index 056028138d9c..cbfe4ee65533 100644 --- a/Documentation/networking/igbvf.txt +++ b/Documentation/networking/igbvf.txt | |||
@@ -58,9 +58,11 @@ Additional Configurations | |||
58 | Ethtool | 58 | Ethtool |
59 | ------- | 59 | ------- |
60 | The driver utilizes the ethtool interface for driver configuration and | 60 | The driver utilizes the ethtool interface for driver configuration and |
61 | diagnostics, as well as displaying statistical information. | 61 | diagnostics, as well as displaying statistical information. The ethtool |
62 | version 3.0 or later is required for this functionality, although we | ||
63 | strongly recommend downloading the latest version at: | ||
62 | 64 | ||
63 | http://sourceforge.net/projects/gkernel. | 65 | http://ftp.kernel.org/pub/software/network/ethtool/ |
64 | 66 | ||
65 | Support | 67 | Support |
66 | ======= | 68 | ======= |
diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt index 3c5e465296e1..d99940dcfc44 100644 --- a/Documentation/networking/ip-sysctl.txt +++ b/Documentation/networking/ip-sysctl.txt | |||
@@ -11,7 +11,9 @@ ip_forward - BOOLEAN | |||
11 | for routers) | 11 | for routers) |
12 | 12 | ||
13 | ip_default_ttl - INTEGER | 13 | ip_default_ttl - INTEGER |
14 | default 64 | 14 | Default value of TTL field (Time To Live) for outgoing (but not |
15 | forwarded) IP packets. Should be between 1 and 255 inclusive. | ||
16 | Default: 64 (as recommended by RFC1700) | ||
15 | 17 | ||
16 | ip_no_pmtu_disc - BOOLEAN | 18 | ip_no_pmtu_disc - BOOLEAN |
17 | Disable Path MTU Discovery. | 19 | Disable Path MTU Discovery. |
@@ -708,10 +710,28 @@ igmp_max_memberships - INTEGER | |||
708 | Change the maximum number of multicast groups we can subscribe to. | 710 | Change the maximum number of multicast groups we can subscribe to. |
709 | Default: 20 | 711 | Default: 20 |
710 | 712 | ||
711 | conf/interface/* changes special settings per interface (where "interface" is | 713 | Theoretical maximum value is bounded by having to send a membership |
712 | the name of your network interface) | 714 | report in a single datagram (i.e. the report can't span multiple |
713 | conf/all/* is special, changes the settings for all interfaces | 715 | datagrams, or risk confusing the switch and leaving groups you don't |
716 | intend to). | ||
714 | 717 | ||
718 | The number of supported groups 'M' is bounded by the number of group | ||
719 | report entries you can fit into a single datagram of 65535 bytes. | ||
720 | |||
721 | M = 65536-sizeof (ip header)/(sizeof(Group record)) | ||
722 | |||
723 | Group records are variable length, with a minimum of 12 bytes. | ||
724 | So net.ipv4.igmp_max_memberships should not be set higher than: | ||
725 | |||
726 | (65536-24) / 12 = 5459 | ||
727 | |||
728 | The value 5459 assumes no IP header options, so in practice | ||
729 | this number may be lower. | ||
730 | |||
731 | conf/interface/* changes special settings per interface (where | ||
732 | "interface" is the name of your network interface) | ||
733 | |||
734 | conf/all/* is special, changes the settings for all interfaces | ||
715 | 735 | ||
716 | log_martians - BOOLEAN | 736 | log_martians - BOOLEAN |
717 | Log packets with impossible addresses to kernel log. | 737 | Log packets with impossible addresses to kernel log. |
diff --git a/Documentation/networking/ixgb.txt b/Documentation/networking/ixgb.txt index a0d0ffb5e584..e196f16df313 100644 --- a/Documentation/networking/ixgb.txt +++ b/Documentation/networking/ixgb.txt | |||
@@ -309,15 +309,15 @@ Additional Configurations | |||
309 | Ethtool | 309 | Ethtool |
310 | ------- | 310 | ------- |
311 | The driver utilizes the ethtool interface for driver configuration and | 311 | The driver utilizes the ethtool interface for driver configuration and |
312 | diagnostics, as well as displaying statistical information. Ethtool | 312 | diagnostics, as well as displaying statistical information. The ethtool |
313 | version 1.6 or later is required for this functionality. | 313 | version 1.6 or later is required for this functionality. |
314 | 314 | ||
315 | The latest release of ethtool can be found from | 315 | The latest release of ethtool can be found from |
316 | http://sourceforge.net/projects/gkernel | 316 | http://ftp.kernel.org/pub/software/network/ethtool/ |
317 | 317 | ||
318 | NOTE: Ethtool 1.6 only supports a limited set of ethtool options. Support | 318 | NOTE: The ethtool version 1.6 only supports a limited set of ethtool options. |
319 | for a more complete ethtool feature set can be enabled by upgrading | 319 | Support for a more complete ethtool feature set can be enabled by |
320 | to the latest version. | 320 | upgrading to the latest version. |
321 | 321 | ||
322 | 322 | ||
323 | NAPI | 323 | NAPI |
diff --git a/Documentation/networking/ixgbe.txt b/Documentation/networking/ixgbe.txt index eeb68685c788..af77ed3c4172 100644 --- a/Documentation/networking/ixgbe.txt +++ b/Documentation/networking/ixgbe.txt | |||
@@ -1,107 +1,126 @@ | |||
1 | Linux Base Driver for 10 Gigabit PCI Express Intel(R) Network Connection | 1 | Linux Base Driver for 10 Gigabit PCI Express Intel(R) Network Connection |
2 | ======================================================================== | 2 | ======================================================================== |
3 | 3 | ||
4 | March 10, 2009 | 4 | Intel Gigabit Linux driver. |
5 | 5 | Copyright(c) 1999 - 2010 Intel Corporation. | |
6 | 6 | ||
7 | Contents | 7 | Contents |
8 | ======== | 8 | ======== |
9 | 9 | ||
10 | - In This Release | ||
11 | - Identifying Your Adapter | 10 | - Identifying Your Adapter |
12 | - Building and Installation | ||
13 | - Additional Configurations | 11 | - Additional Configurations |
12 | - Performance Tuning | ||
13 | - Known Issues | ||
14 | - Support | 14 | - Support |
15 | 15 | ||
16 | Identifying Your Adapter | ||
17 | ======================== | ||
16 | 18 | ||
19 | The driver in this release is compatible with 82598 and 82599-based Intel | ||
20 | Network Connections. | ||
17 | 21 | ||
18 | In This Release | 22 | For more information on how to identify your adapter, go to the Adapter & |
19 | =============== | 23 | Driver ID Guide at: |
20 | 24 | ||
21 | This file describes the ixgbe Linux Base Driver for the 10 Gigabit PCI | 25 | http://support.intel.com/support/network/sb/CS-012904.htm |
22 | Express Intel(R) Network Connection. This driver includes support for | ||
23 | Itanium(R)2-based systems. | ||
24 | 26 | ||
25 | For questions related to hardware requirements, refer to the documentation | 27 | SFP+ Devices with Pluggable Optics |
26 | supplied with your 10 Gigabit adapter. All hardware requirements listed apply | 28 | ---------------------------------- |
27 | to use with Linux. | ||
28 | 29 | ||
29 | The following features are available in this kernel: | 30 | 82599-BASED ADAPTERS |
30 | - Native VLANs | ||
31 | - Channel Bonding (teaming) | ||
32 | - SNMP | ||
33 | - Generic Receive Offload | ||
34 | - Data Center Bridging | ||
35 | 31 | ||
36 | Channel Bonding documentation can be found in the Linux kernel source: | 32 | NOTES: If your 82599-based Intel(R) Network Adapter came with Intel optics, or |
37 | /Documentation/networking/bonding.txt | 33 | is an Intel(R) Ethernet Server Adapter X520-2, then it only supports Intel |
34 | optics and/or the direct attach cables listed below. | ||
38 | 35 | ||
39 | Ethtool, lspci, and ifconfig can be used to display device and driver | 36 | When 82599-based SFP+ devices are connected back to back, they should be set to |
40 | specific information. | 37 | the same Speed setting via ethtool. Results may vary if you mix speed settings. |
38 | 82598-based adapters support all passive direct attach cables that comply | ||
39 | with SFF-8431 v4.1 and SFF-8472 v10.4 specifications. Active direct attach | ||
40 | cables are not supported. | ||
41 | 41 | ||
42 | Supplier Type Part Numbers | ||
42 | 43 | ||
43 | Identifying Your Adapter | 44 | SR Modules |
44 | ======================== | 45 | Intel DUAL RATE 1G/10G SFP+ SR (bailed) FTLX8571D3BCV-IT |
46 | Intel DUAL RATE 1G/10G SFP+ SR (bailed) AFBR-703SDDZ-IN1 | ||
47 | Intel DUAL RATE 1G/10G SFP+ SR (bailed) AFBR-703SDZ-IN2 | ||
48 | LR Modules | ||
49 | Intel DUAL RATE 1G/10G SFP+ LR (bailed) FTLX1471D3BCV-IT | ||
50 | Intel DUAL RATE 1G/10G SFP+ LR (bailed) AFCT-701SDDZ-IN1 | ||
51 | Intel DUAL RATE 1G/10G SFP+ LR (bailed) AFCT-701SDZ-IN2 | ||
45 | 52 | ||
46 | This driver supports devices based on the 82598 controller and the 82599 | 53 | The following is a list of 3rd party SFP+ modules and direct attach cables that |
47 | controller. | 54 | have received some testing. Not all modules are applicable to all devices. |
48 | 55 | ||
49 | For specific information on identifying which adapter you have, please visit: | 56 | Supplier Type Part Numbers |
50 | 57 | ||
51 | http://support.intel.com/support/network/sb/CS-008441.htm | 58 | Finisar SFP+ SR bailed, 10g single rate FTLX8571D3BCL |
59 | Avago SFP+ SR bailed, 10g single rate AFBR-700SDZ | ||
60 | Finisar SFP+ LR bailed, 10g single rate FTLX1471D3BCL | ||
52 | 61 | ||
62 | Finisar DUAL RATE 1G/10G SFP+ SR (No Bail) FTLX8571D3QCV-IT | ||
63 | Avago DUAL RATE 1G/10G SFP+ SR (No Bail) AFBR-703SDZ-IN1 | ||
64 | Finisar DUAL RATE 1G/10G SFP+ LR (No Bail) FTLX1471D3QCV-IT | ||
65 | Avago DUAL RATE 1G/10G SFP+ LR (No Bail) AFCT-701SDZ-IN1 | ||
66 | Finistar 1000BASE-T SFP FCLF8522P2BTL | ||
67 | Avago 1000BASE-T SFP ABCU-5710RZ | ||
53 | 68 | ||
54 | Building and Installation | 69 | 82599-based adapters support all passive and active limiting direct attach |
55 | ========================= | 70 | cables that comply with SFF-8431 v4.1 and SFF-8472 v10.4 specifications. |
56 | 71 | ||
57 | select m for "Intel(R) 10GbE PCI Express adapters support" located at: | 72 | Laser turns off for SFP+ when ifconfig down |
58 | Location: | 73 | ------------------------------------------- |
59 | -> Device Drivers | 74 | "ifconfig down" turns off the laser for 82599-based SFP+ fiber adapters. |
60 | -> Network device support (NETDEVICES [=y]) | 75 | "ifconfig up" turns on the later. |
61 | -> Ethernet (10000 Mbit) (NETDEV_10000 [=y]) | ||
62 | 76 | ||
63 | 1. make modules & make modules_install | ||
64 | 77 | ||
65 | 2. Load the module: | 78 | 82598-BASED ADAPTERS |
66 | 79 | ||
67 | # modprobe ixgbe | 80 | NOTES for 82598-Based Adapters: |
81 | - Intel(R) Network Adapters that support removable optical modules only support | ||
82 | their original module type (i.e., the Intel(R) 10 Gigabit SR Dual Port | ||
83 | Express Module only supports SR optical modules). If you plug in a different | ||
84 | type of module, the driver will not load. | ||
85 | - Hot Swapping/hot plugging optical modules is not supported. | ||
86 | - Only single speed, 10 gigabit modules are supported. | ||
87 | - LAN on Motherboard (LOMs) may support DA, SR, or LR modules. Other module | ||
88 | types are not supported. Please see your system documentation for details. | ||
68 | 89 | ||
69 | The insmod command can be used if the full | 90 | The following is a list of 3rd party SFP+ modules and direct attach cables that |
70 | path to the driver module is specified. For example: | 91 | have received some testing. Not all modules are applicable to all devices. |
71 | 92 | ||
72 | insmod /lib/modules/<KERNEL VERSION>/kernel/drivers/net/ixgbe/ixgbe.ko | 93 | Supplier Type Part Numbers |
73 | 94 | ||
74 | With 2.6 based kernels also make sure that older ixgbe drivers are | 95 | Finisar SFP+ SR bailed, 10g single rate FTLX8571D3BCL |
75 | removed from the kernel, before loading the new module: | 96 | Avago SFP+ SR bailed, 10g single rate AFBR-700SDZ |
97 | Finisar SFP+ LR bailed, 10g single rate FTLX1471D3BCL | ||
76 | 98 | ||
77 | rmmod ixgbe; modprobe ixgbe | 99 | 82598-based adapters support all passive direct attach cables that comply |
100 | with SFF-8431 v4.1 and SFF-8472 v10.4 specifications. Active direct attach | ||
101 | cables are not supported. | ||
78 | 102 | ||
79 | 3. Assign an IP address to the interface by entering the following, where | ||
80 | x is the interface number: | ||
81 | 103 | ||
82 | ifconfig ethx <IP_address> | 104 | Flow Control |
105 | ------------ | ||
106 | Ethernet Flow Control (IEEE 802.3x) can be configured with ethtool to enable | ||
107 | receiving and transmitting pause frames for ixgbe. When TX is enabled, PAUSE | ||
108 | frames are generated when the receive packet buffer crosses a predefined | ||
109 | threshold. When rx is enabled, the transmit unit will halt for the time delay | ||
110 | specified when a PAUSE frame is received. | ||
83 | 111 | ||
84 | 4. Verify that the interface works. Enter the following, where <IP_address> | 112 | Flow Control is enabled by default. If you want to disable a flow control |
85 | is the IP address for another machine on the same subnet as the interface | 113 | capable link partner, use ethtool: |
86 | that is being tested: | ||
87 | 114 | ||
88 | ping <IP_address> | 115 | ethtool -A eth? autoneg off RX off TX off |
89 | 116 | ||
117 | NOTE: For 82598 backplane cards entering 1 gig mode, flow control default | ||
118 | behavior is changed to off. Flow control in 1 gig mode on these devices can | ||
119 | lead to Tx hangs. | ||
90 | 120 | ||
91 | Additional Configurations | 121 | Additional Configurations |
92 | ========================= | 122 | ========================= |
93 | 123 | ||
94 | Viewing Link Messages | ||
95 | --------------------- | ||
96 | Link messages will not be displayed to the console if the distribution is | ||
97 | restricting system messages. In order to see network driver link messages on | ||
98 | your console, set dmesg to eight by entering the following: | ||
99 | |||
100 | dmesg -n 8 | ||
101 | |||
102 | NOTE: This setting is not saved across reboots. | ||
103 | |||
104 | |||
105 | Jumbo Frames | 124 | Jumbo Frames |
106 | ------------ | 125 | ------------ |
107 | The driver supports Jumbo Frames for all adapters. Jumbo Frames support is | 126 | The driver supports Jumbo Frames for all adapters. Jumbo Frames support is |
@@ -123,13 +142,8 @@ Additional Configurations | |||
123 | other protocols besides TCP. It's also safe to use with configurations that | 142 | other protocols besides TCP. It's also safe to use with configurations that |
124 | are problematic for LRO, namely bridging and iSCSI. | 143 | are problematic for LRO, namely bridging and iSCSI. |
125 | 144 | ||
126 | GRO is enabled by default in the driver. Future versions of ethtool will | ||
127 | support disabling and re-enabling GRO on the fly. | ||
128 | |||
129 | |||
130 | Data Center Bridging, aka DCB | 145 | Data Center Bridging, aka DCB |
131 | ----------------------------- | 146 | ----------------------------- |
132 | |||
133 | DCB is a configuration Quality of Service implementation in hardware. | 147 | DCB is a configuration Quality of Service implementation in hardware. |
134 | It uses the VLAN priority tag (802.1p) to filter traffic. That means | 148 | It uses the VLAN priority tag (802.1p) to filter traffic. That means |
135 | that there are 8 different priorities that traffic can be filtered into. | 149 | that there are 8 different priorities that traffic can be filtered into. |
@@ -163,24 +177,71 @@ Additional Configurations | |||
163 | 177 | ||
164 | http://e1000.sf.net | 178 | http://e1000.sf.net |
165 | 179 | ||
166 | |||
167 | Ethtool | 180 | Ethtool |
168 | ------- | 181 | ------- |
169 | The driver utilizes the ethtool interface for driver configuration and | 182 | The driver utilizes the ethtool interface for driver configuration and |
170 | diagnostics, as well as displaying statistical information. Ethtool | 183 | diagnostics, as well as displaying statistical information. The latest |
171 | version 3.0 or later is required for this functionality. | 184 | ethtool version is required for this functionality. |
172 | 185 | ||
173 | The latest release of ethtool can be found from | 186 | The latest release of ethtool can be found from |
174 | http://sourceforge.net/projects/gkernel. | 187 | http://ftp.kernel.org/pub/software/network/ethtool/ |
175 | 188 | ||
176 | 189 | FCoE | |
177 | NAPI | ||
178 | ---- | 190 | ---- |
191 | This release of the ixgbe driver contains new code to enable users to use | ||
192 | Fiber Channel over Ethernet (FCoE) and Data Center Bridging (DCB) | ||
193 | functionality that is supported by the 82598-based hardware. This code has | ||
194 | no default effect on the regular driver operation, and configuring DCB and | ||
195 | FCoE is outside the scope of this driver README. Refer to | ||
196 | http://www.open-fcoe.org/ for FCoE project information and contact | ||
197 | e1000-eedc@lists.sourceforge.net for DCB information. | ||
198 | |||
199 | MAC and VLAN anti-spoofing feature | ||
200 | ---------------------------------- | ||
201 | When a malicious driver attempts to send a spoofed packet, it is dropped by | ||
202 | the hardware and not transmitted. An interrupt is sent to the PF driver | ||
203 | notifying it of the spoof attempt. | ||
204 | |||
205 | When a spoofed packet is detected the PF driver will send the following | ||
206 | message to the system log (displayed by the "dmesg" command): | ||
207 | |||
208 | Spoof event(s) detected on VF (n) | ||
209 | |||
210 | Where n=the VF that attempted to do the spoofing. | ||
211 | |||
212 | |||
213 | Performance Tuning | ||
214 | ================== | ||
215 | |||
216 | An excellent article on performance tuning can be found at: | ||
217 | |||
218 | http://www.redhat.com/promo/summit/2008/downloads/pdf/Thursday/Mark_Wagner.pdf | ||
219 | |||
220 | |||
221 | Known Issues | ||
222 | ============ | ||
223 | |||
224 | Enabling SR-IOV in a 32-bit Microsoft* Windows* Server 2008 Guest OS using | ||
225 | Intel (R) 82576-based GbE or Intel (R) 82599-based 10GbE controller under KVM | ||
226 | ----------------------------------------------------------------------------- | ||
227 | KVM Hypervisor/VMM supports direct assignment of a PCIe device to a VM. This | ||
228 | includes traditional PCIe devices, as well as SR-IOV-capable devices using | ||
229 | Intel 82576-based and 82599-based controllers. | ||
230 | |||
231 | While direct assignment of a PCIe device or an SR-IOV Virtual Function (VF) | ||
232 | to a Linux-based VM running 2.6.32 or later kernel works fine, there is a | ||
233 | known issue with Microsoft Windows Server 2008 VM that results in a "yellow | ||
234 | bang" error. This problem is within the KVM VMM itself, not the Intel driver, | ||
235 | or the SR-IOV logic of the VMM, but rather that KVM emulates an older CPU | ||
236 | model for the guests, and this older CPU model does not support MSI-X | ||
237 | interrupts, which is a requirement for Intel SR-IOV. | ||
179 | 238 | ||
180 | NAPI (Rx polling mode) is supported in the ixgbe driver. NAPI is enabled | 239 | If you wish to use the Intel 82576 or 82599-based controllers in SR-IOV mode |
181 | by default in the driver. | 240 | with KVM and a Microsoft Windows Server 2008 guest try the following |
241 | workaround. The workaround is to tell KVM to emulate a different model of CPU | ||
242 | when using qemu to create the KVM guest: | ||
182 | 243 | ||
183 | See www.cyberus.ca/~hadi/usenix-paper.tgz for more information on NAPI. | 244 | "-cpu qemu64,model=13" |
184 | 245 | ||
185 | 246 | ||
186 | Support | 247 | Support |
diff --git a/Documentation/networking/ixgbevf.txt b/Documentation/networking/ixgbevf.txt index 21dd5d15b6b4..5a91a41fa946 100644 --- a/Documentation/networking/ixgbevf.txt +++ b/Documentation/networking/ixgbevf.txt | |||
@@ -35,10 +35,6 @@ Driver ID Guide at: | |||
35 | Known Issues/Troubleshooting | 35 | Known Issues/Troubleshooting |
36 | ============================ | 36 | ============================ |
37 | 37 | ||
38 | Unloading Physical Function (PF) Driver Causes System Reboots When VM is | ||
39 | Running and VF is Loaded on the VM | ||
40 | ------------------------------------------------------------------------ | ||
41 | Do not unload the PF driver (ixgbe) while VFs are assigned to guests. | ||
42 | 38 | ||
43 | Support | 39 | Support |
44 | ======= | 40 | ======= |
diff --git a/Documentation/networking/stmmac.txt b/Documentation/networking/stmmac.txt index 7ee770b5ef5f..80a7a3454902 100644 --- a/Documentation/networking/stmmac.txt +++ b/Documentation/networking/stmmac.txt | |||
@@ -7,7 +7,7 @@ This is the driver for the MAC 10/100/1000 on-chip Ethernet controllers | |||
7 | (Synopsys IP blocks); it has been fully tested on STLinux platforms. | 7 | (Synopsys IP blocks); it has been fully tested on STLinux platforms. |
8 | 8 | ||
9 | Currently this network device driver is for all STM embedded MAC/GMAC | 9 | Currently this network device driver is for all STM embedded MAC/GMAC |
10 | (7xxx SoCs). | 10 | (7xxx SoCs). Other platforms start using it i.e. ARM SPEAr. |
11 | 11 | ||
12 | DWC Ether MAC 10/100/1000 Universal version 3.41a and DWC Ether MAC 10/100 | 12 | DWC Ether MAC 10/100/1000 Universal version 3.41a and DWC Ether MAC 10/100 |
13 | Universal version 4.0 have been used for developing the first code | 13 | Universal version 4.0 have been used for developing the first code |
@@ -95,9 +95,14 @@ Several information came from the platform; please refer to the | |||
95 | driver's Header file in include/linux directory. | 95 | driver's Header file in include/linux directory. |
96 | 96 | ||
97 | struct plat_stmmacenet_data { | 97 | struct plat_stmmacenet_data { |
98 | int bus_id; | 98 | int bus_id; |
99 | int pbl; | 99 | int pbl; |
100 | int has_gmac; | 100 | int clk_csr; |
101 | int has_gmac; | ||
102 | int enh_desc; | ||
103 | int tx_coe; | ||
104 | int bugged_jumbo; | ||
105 | int pmt; | ||
101 | void (*fix_mac_speed)(void *priv, unsigned int speed); | 106 | void (*fix_mac_speed)(void *priv, unsigned int speed); |
102 | void (*bus_setup)(unsigned long ioaddr); | 107 | void (*bus_setup)(unsigned long ioaddr); |
103 | #ifdef CONFIG_STM_DRIVERS | 108 | #ifdef CONFIG_STM_DRIVERS |
@@ -114,6 +119,12 @@ Where: | |||
114 | registers (on STM platforms); | 119 | registers (on STM platforms); |
115 | - has_gmac: GMAC core is on board (get it at run-time in the next step); | 120 | - has_gmac: GMAC core is on board (get it at run-time in the next step); |
116 | - bus_id: bus identifier. | 121 | - bus_id: bus identifier. |
122 | - tx_coe: core is able to perform the tx csum in HW. | ||
123 | - enh_desc: if sets the MAC will use the enhanced descriptor structure. | ||
124 | - clk_csr: CSR Clock range selection. | ||
125 | - bugged_jumbo: some HWs are not able to perform the csum in HW for | ||
126 | over-sized frames due to limited buffer sizes. Setting this | ||
127 | flag the csum will be done in SW on JUMBO frames. | ||
117 | 128 | ||
118 | struct plat_stmmacphy_data { | 129 | struct plat_stmmacphy_data { |
119 | int bus_id; | 130 | int bus_id; |
@@ -131,13 +142,28 @@ Where: | |||
131 | - interface: physical MII interface mode; | 142 | - interface: physical MII interface mode; |
132 | - phy_reset: hook to reset HW function. | 143 | - phy_reset: hook to reset HW function. |
133 | 144 | ||
145 | SOURCES: | ||
146 | - Kconfig | ||
147 | - Makefile | ||
148 | - stmmac_main.c: main network device driver; | ||
149 | - stmmac_mdio.c: mdio functions; | ||
150 | - stmmac_ethtool.c: ethtool support; | ||
151 | - stmmac_timer.[ch]: timer code used for mitigating the driver dma interrupts | ||
152 | Only tested on ST40 platforms based. | ||
153 | - stmmac.h: private driver structure; | ||
154 | - common.h: common definitions and VFTs; | ||
155 | - descs.h: descriptor structure definitions; | ||
156 | - dwmac1000_core.c: GMAC core functions; | ||
157 | - dwmac1000_dma.c: dma functions for the GMAC chip; | ||
158 | - dwmac1000.h: specific header file for the GMAC; | ||
159 | - dwmac100_core: MAC 100 core and dma code; | ||
160 | - dwmac100_dma.c: dma funtions for the MAC chip; | ||
161 | - dwmac1000.h: specific header file for the MAC; | ||
162 | - dwmac_lib.c: generic DMA functions shared among chips | ||
163 | - enh_desc.c: functions for handling enhanced descriptors | ||
164 | - norm_desc.c: functions for handling normal descriptors | ||
165 | |||
134 | TODO: | 166 | TODO: |
135 | - Continue to make the driver more generic and suitable for other Synopsys | 167 | - XGMAC controller is not supported. |
136 | Ethernet controllers used on other architectures (i.e. ARM). | ||
137 | - 10G controllers are not supported. | ||
138 | - MAC uses Normal descriptors and GMAC uses enhanced ones. | ||
139 | This is a limit that should be reviewed. MAC could want to | ||
140 | use the enhanced structure. | ||
141 | - Checksumming: Rx/Tx csum is done in HW in case of GMAC only. | ||
142 | - Review the timer optimisation code to use an embedded device that seems to be | 168 | - Review the timer optimisation code to use an embedded device that seems to be |
143 | available in new chip generations. | 169 | available in new chip generations. |