diff options
Diffstat (limited to 'Documentation/networking')
-rw-r--r-- | Documentation/networking/e100.txt | 4 | ||||
-rw-r--r-- | Documentation/networking/e1000.txt | 12 | ||||
-rw-r--r-- | Documentation/networking/e1000e.txt | 16 | ||||
-rw-r--r-- | Documentation/networking/igb.txt | 67 | ||||
-rw-r--r-- | Documentation/networking/igbvf.txt | 8 | ||||
-rw-r--r-- | Documentation/networking/ixgb.txt | 14 | ||||
-rw-r--r-- | Documentation/networking/ixgbe.txt | 109 | ||||
-rw-r--r-- | Documentation/networking/ixgbevf.txt | 6 |
8 files changed, 193 insertions, 43 deletions
diff --git a/Documentation/networking/e100.txt b/Documentation/networking/e100.txt index fcb6c71cdb69..13a32124bca0 100644 --- a/Documentation/networking/e100.txt +++ b/Documentation/networking/e100.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | Linux* Base Driver for the Intel(R) PRO/100 Family of Adapters | 1 | Linux* Base Driver for the Intel(R) PRO/100 Family of Adapters |
2 | ============================================================== | 2 | ============================================================== |
3 | 3 | ||
4 | November 15, 2005 | 4 | March 15, 2011 |
5 | 5 | ||
6 | Contents | 6 | Contents |
7 | ======== | 7 | ======== |
@@ -122,7 +122,7 @@ Additional Configurations | |||
122 | NOTE: This setting is not saved across reboots. | 122 | NOTE: This setting is not saved across reboots. |
123 | 123 | ||
124 | 124 | ||
125 | Ethtool | 125 | ethtool |
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 |
diff --git a/Documentation/networking/e1000.txt b/Documentation/networking/e1000.txt index 71ca95855671..437b2099cced 100644 --- a/Documentation/networking/e1000.txt +++ b/Documentation/networking/e1000.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | Linux* Base Driver for the Intel(R) PRO/1000 Family of Adapters | 1 | Linux* Base Driver for Intel(R) Ethernet 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 - 2013 Intel Corporation. |
6 | 6 | ||
7 | Contents | 7 | Contents |
8 | ======== | 8 | ======== |
@@ -420,15 +420,15 @@ Additional Configurations | |||
420 | - The maximum MTU setting for Jumbo Frames is 16110. This value coincides | 420 | - The maximum MTU setting for Jumbo Frames is 16110. This value coincides |
421 | with the maximum Jumbo Frames size of 16128. | 421 | with the maximum Jumbo Frames size of 16128. |
422 | 422 | ||
423 | - Using Jumbo Frames at 10 or 100 Mbps may result in poor performance or | 423 | - Using Jumbo frames at 10 or 100 Mbps is not supported and may result in |
424 | loss of link. | 424 | poor performance or loss of link. |
425 | 425 | ||
426 | - Adapters based on the Intel(R) 82542 and 82573V/E controller do not | 426 | - Adapters based on the Intel(R) 82542 and 82573V/E controller do not |
427 | support Jumbo Frames. These correspond to the following product names: | 427 | support Jumbo Frames. These correspond to the following product names: |
428 | Intel(R) PRO/1000 Gigabit Server Adapter | 428 | Intel(R) PRO/1000 Gigabit Server Adapter |
429 | Intel(R) PRO/1000 PM Network Connection | 429 | Intel(R) PRO/1000 PM Network Connection |
430 | 430 | ||
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. The ethtool | 434 | diagnostics, as well as displaying statistical information. The ethtool |
diff --git a/Documentation/networking/e1000e.txt b/Documentation/networking/e1000e.txt index 97b5ba942ebf..ad2d9f38ce14 100644 --- a/Documentation/networking/e1000e.txt +++ b/Documentation/networking/e1000e.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | Linux* Driver for Intel(R) Network Connection | 1 | Linux* Driver for Intel(R) Ethernet 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 - 2013 Intel Corporation. |
6 | 6 | ||
7 | Contents | 7 | Contents |
8 | ======== | 8 | ======== |
@@ -259,13 +259,16 @@ Additional Configurations | |||
259 | - The maximum MTU setting for Jumbo Frames is 9216. This value coincides | 259 | - The maximum MTU setting for Jumbo Frames is 9216. This value coincides |
260 | with the maximum Jumbo Frames size of 9234 bytes. | 260 | with the maximum Jumbo Frames size of 9234 bytes. |
261 | 261 | ||
262 | - Using Jumbo Frames at 10 or 100 Mbps is not supported and may result in | 262 | - Using Jumbo frames at 10 or 100 Mbps is not supported and may result in |
263 | poor performance or loss of link. | 263 | poor performance or loss of link. |
264 | 264 | ||
265 | - Some adapters limit Jumbo Frames sized packets to a maximum of | 265 | - Some adapters limit Jumbo Frames sized packets to a maximum of |
266 | 4096 bytes and some adapters do not support Jumbo Frames. | 266 | 4096 bytes and some adapters do not support Jumbo Frames. |
267 | 267 | ||
268 | Ethtool | 268 | - Jumbo Frames cannot be configured on an 82579-based Network device, if |
269 | MACSec is enabled on the system. | ||
270 | |||
271 | ethtool | ||
269 | ------- | 272 | ------- |
270 | The driver utilizes the ethtool interface for driver configuration and | 273 | The driver utilizes the ethtool interface for driver configuration and |
271 | diagnostics, as well as displaying statistical information. We | 274 | diagnostics, as well as displaying statistical information. We |
@@ -273,6 +276,9 @@ Additional Configurations | |||
273 | 276 | ||
274 | http://ftp.kernel.org/pub/software/network/ethtool/ | 277 | http://ftp.kernel.org/pub/software/network/ethtool/ |
275 | 278 | ||
279 | NOTE: When validating enable/disable tests on some parts (82578, for example) | ||
280 | you need to add a few seconds between tests when working with ethtool. | ||
281 | |||
276 | Speed and Duplex | 282 | Speed and Duplex |
277 | ---------------- | 283 | ---------------- |
278 | Speed and Duplex are configured through the ethtool* utility. For | 284 | Speed and Duplex are configured through the ethtool* utility. For |
diff --git a/Documentation/networking/igb.txt b/Documentation/networking/igb.txt index 9a2a037194a5..4ebbd659256f 100644 --- a/Documentation/networking/igb.txt +++ b/Documentation/networking/igb.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | Linux* Base Driver for Intel(R) Network Connection | 1 | Linux* Base Driver for Intel(R) Ethernet 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 - 2013 Intel Corporation. |
6 | 6 | ||
7 | Contents | 7 | Contents |
8 | ======== | 8 | ======== |
@@ -36,6 +36,53 @@ 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 | QueuePairs | ||
40 | ---------- | ||
41 | Valid Range: 0-1 | ||
42 | Default Value: 1 (TX and RX will be paired onto one interrupt vector) | ||
43 | |||
44 | If set to 0, when MSI-X is enabled, the TX and RX will attempt to occupy | ||
45 | separate vectors. | ||
46 | |||
47 | This option can be overridden to 1 if there are not sufficient interrupts | ||
48 | available. This can occur if any combination of RSS, VMDQ, and max_vfs | ||
49 | results in more than 4 queues being used. | ||
50 | |||
51 | Node | ||
52 | ---- | ||
53 | Valid Range: 0-n | ||
54 | Default Value: -1 (off) | ||
55 | |||
56 | 0 - n: where n is the number of the NUMA node that should be used to | ||
57 | allocate memory for this adapter port. | ||
58 | -1: uses the driver default of allocating memory on whichever processor is | ||
59 | running insmod/modprobe. | ||
60 | |||
61 | The Node parameter will allow you to pick which NUMA node you want to have | ||
62 | the adapter allocate memory from. All driver structures, in-memory queues, | ||
63 | and receive buffers will be allocated on the node specified. This parameter | ||
64 | is only useful when interrupt affinity is specified, otherwise some portion | ||
65 | of the time the interrupt could run on a different core than the memory is | ||
66 | allocated on, causing slower memory access and impacting throughput, CPU, or | ||
67 | both. | ||
68 | |||
69 | EEE | ||
70 | --- | ||
71 | Valid Range: 0-1 | ||
72 | Default Value: 1 (enabled) | ||
73 | |||
74 | A link between two EEE-compliant devices will result in periodic bursts of | ||
75 | data followed by long periods where in the link is in an idle state. This Low | ||
76 | Power Idle (LPI) state is supported in both 1Gbps and 100Mbps link speeds. | ||
77 | NOTE: EEE support requires autonegotiation. | ||
78 | |||
79 | DMAC | ||
80 | ---- | ||
81 | Valid Range: 0-1 | ||
82 | Default Value: 1 (enabled) | ||
83 | Enables or disables DMA Coalescing feature. | ||
84 | |||
85 | |||
39 | 86 | ||
40 | Additional Configurations | 87 | Additional Configurations |
41 | ========================= | 88 | ========================= |
@@ -55,10 +102,10 @@ Additional Configurations | |||
55 | - The maximum MTU setting for Jumbo Frames is 9216. This value coincides | 102 | - The maximum MTU setting for Jumbo Frames is 9216. This value coincides |
56 | with the maximum Jumbo Frames size of 9234 bytes. | 103 | with the maximum Jumbo Frames size of 9234 bytes. |
57 | 104 | ||
58 | - Using Jumbo Frames at 10 or 100 Mbps may result in poor performance or | 105 | - Using Jumbo frames at 10 or 100 Mbps is not supported and may result in |
59 | loss of link. | 106 | poor performance or loss of link. |
60 | 107 | ||
61 | Ethtool | 108 | ethtool |
62 | ------- | 109 | ------- |
63 | The driver utilizes the ethtool interface for driver configuration and | 110 | The driver utilizes the ethtool interface for driver configuration and |
64 | diagnostics, as well as displaying statistical information. The latest | 111 | diagnostics, as well as displaying statistical information. The latest |
@@ -106,6 +153,14 @@ Additional Configurations | |||
106 | 153 | ||
107 | Where n=the VF that attempted to do the spoofing. | 154 | Where n=the VF that attempted to do the spoofing. |
108 | 155 | ||
156 | Setting MAC Address, VLAN and Rate Limit Using IProute2 Tool | ||
157 | ------------------------------------------------------------ | ||
158 | You can set a MAC address of a Virtual Function (VF), a default VLAN and the | ||
159 | rate limit using the IProute2 tool. Download the latest version of the | ||
160 | iproute2 tool from Sourceforge if your version does not have all the | ||
161 | features you require. | ||
162 | |||
163 | |||
109 | Support | 164 | Support |
110 | ======= | 165 | ======= |
111 | 166 | ||
diff --git a/Documentation/networking/igbvf.txt b/Documentation/networking/igbvf.txt index cbfe4ee65533..40db17a6665b 100644 --- a/Documentation/networking/igbvf.txt +++ b/Documentation/networking/igbvf.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | Linux* Base Driver for Intel(R) Network Connection | 1 | Linux* Base Driver for Intel(R) Ethernet 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 - 2013 Intel Corporation. |
6 | 6 | ||
7 | Contents | 7 | Contents |
8 | ======== | 8 | ======== |
@@ -55,7 +55,7 @@ networking link on the left to search for your adapter: | |||
55 | Additional Configurations | 55 | Additional Configurations |
56 | ========================= | 56 | ========================= |
57 | 57 | ||
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. The ethtool | 61 | diagnostics, as well as displaying statistical information. The ethtool |
diff --git a/Documentation/networking/ixgb.txt b/Documentation/networking/ixgb.txt index d75a1f9565bb..1e0c045e89f7 100644 --- a/Documentation/networking/ixgb.txt +++ b/Documentation/networking/ixgb.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | Linux Base Driver for 10 Gigabit Intel(R) Network Connection | 1 | Linux Base Driver for 10 Gigabit Intel(R) Ethernet Network Connection |
2 | ============================================================= | 2 | ===================================================================== |
3 | 3 | ||
4 | October 9, 2007 | 4 | March 14, 2011 |
5 | 5 | ||
6 | 6 | ||
7 | Contents | 7 | Contents |
@@ -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 files in /etc/modprobe.d/ as well as editing other system | 277 | an alias line to /etc/modprobe.conf as well as editing other system startup |
278 | startup scripts and/or configuration files. Many popular Linux distributions | 278 | scripts and/or configuration files. Many popular Linux distributions ship |
279 | ship with tools to make these changes for you. To learn the proper way to | 279 | 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 |
@@ -306,7 +306,7 @@ Additional Configurations | |||
306 | with the maximum Jumbo Frames size of 16128. | 306 | with the maximum Jumbo Frames size of 16128. |
307 | 307 | ||
308 | 308 | ||
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. The ethtool | 312 | diagnostics, as well as displaying statistical information. The ethtool |
diff --git a/Documentation/networking/ixgbe.txt b/Documentation/networking/ixgbe.txt index af77ed3c4172..96cccebb839b 100644 --- a/Documentation/networking/ixgbe.txt +++ b/Documentation/networking/ixgbe.txt | |||
@@ -1,8 +1,9 @@ | |||
1 | Linux Base Driver for 10 Gigabit PCI Express Intel(R) Network Connection | 1 | Linux* Base Driver for the Intel(R) Ethernet 10 Gigabit PCI Express Family of |
2 | ======================================================================== | 2 | Adapters |
3 | ============================================================================= | ||
3 | 4 | ||
4 | Intel Gigabit Linux driver. | 5 | Intel 10 Gigabit Linux driver. |
5 | Copyright(c) 1999 - 2010 Intel Corporation. | 6 | Copyright(c) 1999 - 2013 Intel Corporation. |
6 | 7 | ||
7 | Contents | 8 | Contents |
8 | ======== | 9 | ======== |
@@ -16,8 +17,8 @@ Contents | |||
16 | Identifying Your Adapter | 17 | Identifying Your Adapter |
17 | ======================== | 18 | ======================== |
18 | 19 | ||
19 | The driver in this release is compatible with 82598 and 82599-based Intel | 20 | The driver in this release is compatible with 82598, 82599 and X540-based |
20 | Network Connections. | 21 | Intel Network Connections. |
21 | 22 | ||
22 | For more information on how to identify your adapter, go to the Adapter & | 23 | For more information on how to identify your adapter, go to the Adapter & |
23 | Driver ID Guide at: | 24 | Driver ID Guide at: |
@@ -72,7 +73,7 @@ cables that comply with SFF-8431 v4.1 and SFF-8472 v10.4 specifications. | |||
72 | Laser turns off for SFP+ when ifconfig down | 73 | Laser turns off for SFP+ when ifconfig down |
73 | ------------------------------------------- | 74 | ------------------------------------------- |
74 | "ifconfig down" turns off the laser for 82599-based SFP+ fiber adapters. | 75 | "ifconfig down" turns off the laser for 82599-based SFP+ fiber adapters. |
75 | "ifconfig up" turns on the later. | 76 | "ifconfig up" turns on the laser. |
76 | 77 | ||
77 | 78 | ||
78 | 82598-BASED ADAPTERS | 79 | 82598-BASED ADAPTERS |
@@ -118,6 +119,93 @@ 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 | behavior is changed to off. Flow control in 1 gig mode on these devices can |
119 | lead to Tx hangs. | 120 | lead to Tx hangs. |
120 | 121 | ||
122 | Intel(R) Ethernet Flow Director | ||
123 | ------------------------------- | ||
124 | Supports advanced filters that direct receive packets by their flows to | ||
125 | different queues. Enables tight control on routing a flow in the platform. | ||
126 | Matches flows and CPU cores for flow affinity. Supports multiple parameters | ||
127 | for flexible flow classification and load balancing. | ||
128 | |||
129 | Flow director is enabled only if the kernel is multiple TX queue capable. | ||
130 | |||
131 | An included script (set_irq_affinity.sh) automates setting the IRQ to CPU | ||
132 | affinity. | ||
133 | |||
134 | You can verify that the driver is using Flow Director by looking at the counter | ||
135 | in ethtool: fdir_miss and fdir_match. | ||
136 | |||
137 | Other ethtool Commands: | ||
138 | To enable Flow Director | ||
139 | ethtool -K ethX ntuple on | ||
140 | To add a filter | ||
141 | Use -U switch. e.g., ethtool -U ethX flow-type tcp4 src-ip 0x178000a | ||
142 | action 1 | ||
143 | To see the list of filters currently present: | ||
144 | ethtool -u ethX | ||
145 | |||
146 | Perfect Filter: Perfect filter is an interface to load the filter table that | ||
147 | funnels all flow into queue_0 unless an alternative queue is specified using | ||
148 | "action". In that case, any flow that matches the filter criteria will be | ||
149 | directed to the appropriate queue. | ||
150 | |||
151 | If the queue is defined as -1, filter will drop matching packets. | ||
152 | |||
153 | To account for filter matches and misses, there are two stats in ethtool: | ||
154 | fdir_match and fdir_miss. In addition, rx_queue_N_packets shows the number of | ||
155 | packets processed by the Nth queue. | ||
156 | |||
157 | NOTE: Receive Packet Steering (RPS) and Receive Flow Steering (RFS) are not | ||
158 | compatible with Flow Director. IF Flow Director is enabled, these will be | ||
159 | disabled. | ||
160 | |||
161 | The following three parameters impact Flow Director. | ||
162 | |||
163 | FdirMode | ||
164 | -------- | ||
165 | Valid Range: 0-2 (0=off, 1=ATR, 2=Perfect filter mode) | ||
166 | Default Value: 1 | ||
167 | |||
168 | Flow Director filtering modes. | ||
169 | |||
170 | FdirPballoc | ||
171 | ----------- | ||
172 | Valid Range: 0-2 (0=64k, 1=128k, 2=256k) | ||
173 | Default Value: 0 | ||
174 | |||
175 | Flow Director allocated packet buffer size. | ||
176 | |||
177 | AtrSampleRate | ||
178 | -------------- | ||
179 | Valid Range: 1-100 | ||
180 | Default Value: 20 | ||
181 | |||
182 | Software ATR Tx packet sample rate. For example, when set to 20, every 20th | ||
183 | packet, looks to see if the packet will create a new flow. | ||
184 | |||
185 | Node | ||
186 | ---- | ||
187 | Valid Range: 0-n | ||
188 | Default Value: 1 (off) | ||
189 | |||
190 | 0 - n: where n is the number of NUMA nodes (i.e. 0 - 3) currently online in | ||
191 | your system | ||
192 | 1: turns this option off | ||
193 | |||
194 | The Node parameter will allow you to pick which NUMA node you want to have | ||
195 | the adapter allocate memory on. | ||
196 | |||
197 | max_vfs | ||
198 | ------- | ||
199 | Valid Range: 1-63 | ||
200 | Default Value: 0 | ||
201 | |||
202 | If the value is greater than 0 it will also force the VMDq parameter to be 1 | ||
203 | or more. | ||
204 | |||
205 | This parameter adds support for SR-IOV. It causes the driver to spawn up to | ||
206 | max_vfs worth of virtual function. | ||
207 | |||
208 | |||
121 | Additional Configurations | 209 | Additional Configurations |
122 | ========================= | 210 | ========================= |
123 | 211 | ||
@@ -221,9 +309,10 @@ http://www.redhat.com/promo/summit/2008/downloads/pdf/Thursday/Mark_Wagner.pdf | |||
221 | Known Issues | 309 | Known Issues |
222 | ============ | 310 | ============ |
223 | 311 | ||
224 | Enabling SR-IOV in a 32-bit Microsoft* Windows* Server 2008 Guest OS using | 312 | Enabling SR-IOV in a 32-bit or 64-bit Microsoft* Windows* Server 2008/R2 |
225 | Intel (R) 82576-based GbE or Intel (R) 82599-based 10GbE controller under KVM | 313 | Guest OS using Intel (R) 82576-based GbE or Intel (R) 82599-based 10GbE |
226 | ----------------------------------------------------------------------------- | 314 | controller under KVM |
315 | ------------------------------------------------------------------------ | ||
227 | KVM Hypervisor/VMM supports direct assignment of a PCIe device to a VM. This | 316 | 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 | 317 | includes traditional PCIe devices, as well as SR-IOV-capable devices using |
229 | Intel 82576-based and 82599-based controllers. | 318 | Intel 82576-based and 82599-based controllers. |
diff --git a/Documentation/networking/ixgbevf.txt b/Documentation/networking/ixgbevf.txt index 5a91a41fa946..53d8d2a5a6a3 100644 --- a/Documentation/networking/ixgbevf.txt +++ b/Documentation/networking/ixgbevf.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | Linux* Base Driver for Intel(R) Network Connection | 1 | Linux* Base Driver for Intel(R) Ethernet 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 - 2013 Intel Corporation. |
6 | 6 | ||
7 | Contents | 7 | Contents |
8 | ======== | 8 | ======== |