Revision tags: v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3, v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2 |
|
#
dd5ce676 |
| 25-Feb-2019 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
ix: Sync with Intel ixgbe-3.3.6
- Honor VLAN_HWTAGGING setting when setup RX VLAN tag stripping. - Add workaround for possible FW hang on X550.
|
Revision tags: v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2 |
|
#
6150453f |
| 11-Nov-2017 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
ix: Sync with Intel's ix-3.2.17.
- Add several new chips. - Add software workaround for 82598 errata #26.
|
Revision tags: v5.0.1 |
|
#
82db96e9 |
| 21-Oct-2017 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
ix: Free tx mbufs proactively.
This is preparation for the dillon's upcoming sendfile patch.
|
Revision tags: v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1 |
|
#
8d0afa86 |
| 23-Sep-2017 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
polling: Implement direct input support.
When "direct input" is enabled by driver, driver's RX polling handler will run ethernet/ip/tcp processing directly, which avoids cache-miss on mbufs themselv
polling: Implement direct input support.
When "direct input" is enabled by driver, driver's RX polling handler will run ethernet/ip/tcp processing directly, which avoids cache-miss on mbufs themselves. Currently it is enabled on ix(4) by default.
The normal IP forwarding performance is improved by %12, while the fast IP forwarding performance is improved by 10%. 13.2Mpps is achieved for dual side IP forwarding!
1 request/connection HTTP/1.1 performance and avg-latency stay same, but the latency is further stablized: 1K 5.20ms -> 4.60ms 8K 6.43ms -> 5.76ms 16K 16.30ms -> 14.90ms
show more ...
|
Revision tags: v4.8.1 |
|
#
3c37d13b |
| 18-Apr-2017 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
ix: Use ringmap to do MSI-X cpu assignment and fill redirect table.
|
#
737c1c7c |
| 18-Apr-2017 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
ix: Fixup TX/RX ring settings for X550, which supports 64/64 TX/RX rings.
|
Revision tags: v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0 |
|
#
63d483cd |
| 01-Dec-2015 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
ix: Update to Intel ix-2.8.2
This update adds more chips support.
Local changes: Fix ifmedia support. Now media change (force 10G-SR and 1G-SX) works properly at least on my 82599 w/ DAC; though "
ix: Update to Intel ix-2.8.2
This update adds more chips support.
Local changes: Fix ifmedia support. Now media change (force 10G-SR and 1G-SX) works properly at least on my 82599 w/ DAC; though "autoselect" is still the recommended mode.
show more ...
|
#
060fa21c |
| 26-Nov-2015 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
ix: Integrate ifmedia flow control support.
Other minor bits: - Set media to IFM_NONE, if there is no link yet. - Remove no longer used dev.ix.Y.flow_ctrl sysctl node. ifconfig ixY [mediaopt|-medi
ix: Integrate ifmedia flow control support.
Other minor bits: - Set media to IFM_NONE, if there is no link yet. - Remove no longer used dev.ix.Y.flow_ctrl sysctl node. ifconfig ixY [mediaopt|-mediaopt] [rxpause|txpause|forcepause] should be used instead.
show more ...
|
Revision tags: v4.5.0, v4.4.0rc, v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4, v4.0.3, v4.0.2 |
|
#
26595b18 |
| 28-Nov-2014 |
Sascha Wildner <saw@online.de> |
kernel: Use the new auto-created sysctl ctx/tree in various drivers.
Everywhere where we formerly rolled a hw.fooX.* per-device ctx/tree ourselves.
This commit switches it to dev.foo.X.*
|
Revision tags: v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0, v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc |
|
#
4a648aef |
| 30-Apr-2014 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
ix: Add polling(4) support
|
Revision tags: v3.6.2, v3.6.1 |
|
#
189a0ff3 |
| 19-Feb-2014 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
ix: Implement MSI-X support and enable multiple TX rings
Two modes are supported, if there are enough MSI-X vector: - TX ring and RX ring processing uses independent MSI-X vector. It could be use
ix: Implement MSI-X support and enable multiple TX rings
Two modes are supported, if there are enough MSI-X vector: - TX ring and RX ring processing uses independent MSI-X vector. It could be useful for some most TX applocation. It could be enabled by setting hw.ix.msix.agg_rxtx or hw.ixY.msix.agg_rxtx to 0. - TX ring and RX ring processing uses same MSI-X vector. This is the default. TX ring is processed when the header write back pointer is moved; this avoids unecessary TX ring serialization if there is no TX descriptor to recollect at all.
For 82598, MSI-X is not enabled by default, due to hardware errata. It could be enabled by setting per-device tunable hw.ixY.msix.enable.
Multiple TX rings are enable as of this commit. Under MSI-X mode, 32 TX rings could be used for 82599 and X540; 16 TX rings could be used for 82598. Once polling(4) is implemented, more TX rings could be used.
Multiple RX rings have already been enabled, however, under MSI-X mode, 16 RX rings could be used for all devices supported by this driver.
Unlike the original Intel's ixgbe, number of RX rings and number of TX rings could be configured independently.
Remove the original Intel's ixgbe MSI-X related code, which is not used at all.
show more ...
|
#
79251f5e |
| 24-Nov-2013 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
ix: Import Intel ixgbe-2.5.15
MSI and legacy interrupt (line based interrupt) are working as of this commit. polling(4) will be supported and MSI-X will be brought back in the later commits.
ixgbe
ix: Import Intel ixgbe-2.5.15
MSI and legacy interrupt (line based interrupt) are working as of this commit. polling(4) will be supported and MSI-X will be brought back in the later commits.
ixgbe is renamed to ix, which is consistent w/ the interface name, and this makes 'ifconfig ix0' work as expected.
Local changes: - Reorganize RX and TX ring data structure; nuke useless 'queue'. - Rework RX and TX ring creation, destroy, initialization and cleanup. - Reorganize interrupt related data structure. This also prepares for bringing MSI-X back. - Rework interrupt allocation. - Rework MSI and legacy interrupt handler. - Enable RSS (2 RX rings) even if MSI or legacy interrupt is used. - Apply DragonFly specific RSS configuration. - Partially rework RX code path. - Enable TX header write-back. - Rework TX code path and TX watchdog mechanism. - Rework busdma(9) related bits. - Rework ifnet.if_ioctl method. - Reorganize initialize and stop code. - Reorganize attach and detach code. - Code clean up.
show more ...
|