History log of /freebsd-10-stable/sys/dev/sfxge/sfxge.c
Revision Date Author Comments
# 342529 26-Dec-2018 arybchik

MFC r341785

sfxge(4): use n Tx queues instead of n + 2 on EF10 HW

On EF10 HW we can avoid sending packets without checksum offload
or with IP-only checksum offload to dedicated queues. Instead, we
can use option descriptors to change offload policy on any queue
during runtime. Thus, we don't need to create two dedicated queues.

Submitted by: Ivan Malov <Ivan.Malov at oktetlabs.ru>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18390


# 342527 26-Dec-2018 arybchik

MFC r341784

sfxge(4): prepare the number of Tx queues on event queue 0 to become
variable

The number of Tx queues on event queue 0 can depend on the NIC family
type, and this property will be leveraged by future patches.
This patch prepares the code for this change.

Submitted by: Ivan Malov <Ivan.Malov at oktetlabs.ru>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18389


# 342480 26-Dec-2018 arybchik

MFC r340767

sfxge(4): limit max TXQ size on Medford to 2048

Queues with 4096 descriptors are not supported as the top bit is used
for vfifo stuffing.

Submitted by: Mark Spender <mspender at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D8948


# 312168 14-Jan-2017 arybchik

MFC r311977

sfxge(4): add tunable to configure MAC stats update period

Sponsored by: Solarflare Communications, Inc.


# 312167 14-Jan-2017 arybchik

MFC r311962

sfxge(4): stats refresh in SW should depend on HW update period

The period should be taken into account by the function which
refreshes driver stats.

Reviewed by: philip
Sponsored by: Solarflare Communications, Inc.


# 311096 02-Jan-2017 arybchik

MFC r310820

sfxge(4): move queue size checks to after the NIC config has been populated

Submitted by: Mark Spender <mspender at solarflare.com>
Sponsored by: Solarflare Communications, Inc.


# 301390 04-Jun-2016 arybchik

MFC r300609

sfxge(4): enable Medford support

Reviewed by: gnn
Sponsored by: Solarflare Communications, Inc.


# 301388 04-Jun-2016 arybchik

MFC r300607

sfxge(4): cleanup: update copyright to 2016

Sponsored by: Solarflare Communications, Inc.


# 295526 11-Feb-2016 arybchik

MFC r295467

sfxge: implement SIOCGI2C to read information from phy modules

The IOCTL is used by 'ifconfig -v' to show SFP+/QSFP+ information
including inventory information and dianostics (temperature, light
levels, voltage etc).

Reviewed by: gnn,melifaro
Approved by: re (gjb)
Sponsored by: Solarflare Communications, Inc.


# 293970 14-Jan-2016 arybchik

MFC r292086

sfxge: add tunable for maximum start attetmps after reset

Reviewed by: gnn
Sponsored by: Solarflare Communications, Inc.


# 293946 14-Jan-2016 arybchik

MFC r291843

sfxge: support for MCDI logging implemented

Submitted by: Artem V. Andreev <Artem.Andreev at oktetlabs.ru>
Sponsored by: Solarflare Communications, Inc.


# 293931 14-Jan-2016 arybchik

MFC r291570

sfxge: added setting TSO-related parameters

Submitted by: Artem V. Andreev <Artem.Andreev at oktetlabs.ru>
Sponsored by: Solarflare Communications, Inc.


# 292089 11-Dec-2015 arybchik

sfxge: implement interface statistics shown by netstat

PR: 202907
Submitted by: Boris Misenov <Boris.Misenov at oktetlabs.ru>
Reviewed by: gnn, philip
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D4317


# 284867 26-Jun-2015 arybchik

MFC: r284747

sfxge: skip VPD info population if access is denied

The patch allows to run on unprivileged PF (PFIOV) passed to
a virtual machine.

Reviewed by: gnn
Sponsored by: Solarflare Communications, Inc.


# 284555 18-Jun-2015 arybchik

MFC: r283514

sfxge: add 7xxx NICs family support

Support 7xxx adapters including firmware-assisted TSO and VLAN tagging:

- Solarflare Flareon Ultra 7000 series 10/40G adapters:
- Solarflare SFN7042Q QSFP+ Server Adapter
- Solarflare SFN7142Q QSFP+ Server Adapter

- Solarflare Flareon Ultra 7000 series 10G adapters:
- Solarflare SFN7022F SFP+ Server Adapter
- Solarflare SFN7122F SFP+ Server Adapter
- Solarflare SFN7322F Precision Time Synchronization Server Adapter

- Solarflare Flareon 7000 series 10G adapters:
- Solarflare SFN7002F SFP+ Server Adapter

Support utilities to configure adapters and update firmware.

The work is done by Solarflare developers
(Andy Moreton, Andrew Lee and many others),
Artem V. Andreev <Artem.Andreev at oktetlabs.ru> and me.

Sponsored by: Solarflare Communications, Inc.


# 283217 21-May-2015 arybchik

MFC: r283051

sfxge: do not advertise LRO capability if LRO is compiled out

Sponsored by: Solarflare Communications, Inc.


# 283216 21-May-2015 arybchik

MFC: r283050

sfxge: automatically turn off TSO when Tx checksum offload is disabled

Also return error if TSO is requested without Tx checksum offload.

Sponsored by: Solarflare Communications, Inc.


# 283215 21-May-2015 arybchik

MFC: r283049

sfxge: allow to disable checksum offloads over VLAN

It just affects capabilities of the created VLAN interface.

Sponsored by: Solarflare Communications, Inc.


# 283212 21-May-2015 arybchik

MFC: r283000

sfxge: add local variable with changed capabilities mask

It is required for the next patch which adds dependency of TSO
capabilities from Tx checksum offloads.

Sponsored by: Solarflare Communications, Inc.


# 283209 21-May-2015 arybchik

MFC: r282996

sfxge: support Rx checksum offloads disabling

We can't disable it in HW, but we can ignore result.
Discard Rx descriptor checksum flags if Rx checksum offload is off.

Sponsored by: Solarflare Communications, Inc.


# 283207 21-May-2015 arybchik

MFC: r282941

sfxge: do not change CSUM_TSO when IFCAP_TSOx is changed

It is simply not required since the kernel checks corresponding
IFCAP_TSOx capability and CSUM_TSO in hw-assisted offloads.
Note that CSUM_TSO is two bits (CSUM_IP_TSO|CSUM_IP6_TSO) and both bits
are set in IPv4 and IPv6 mbufs.

Sponsored by: Solarflare Communications, Inc.


# 283205 21-May-2015 arybchik

MFC: r282903

sfxge: advertise IPv6 Rx and Tx checksum offload support

Tx checksum offload may be enabled/disabled.

Sponsored by: Solarflare Communications, Inc.


# 283204 21-May-2015 arybchik

MFC: r282900

sfxge: IPv4 Tx checksum offload may be disabled in fact

Split IFCAP_HWCSUM to IFCAP_RXCSUM and IFCAP_TXCSUM to highlight Tx and Rx.

Sponsored by: Solarflare Communications, Inc.


# 280606 25-Mar-2015 arybchik

MFC: 280376

sfxge: remove obsolete Tx non-multi queue support

Tx multi queue is added in FreeBSD 8.0. So, the changeset drops earlier
versions support.

Sponsored by: Solarflare Communications, Inc.
Original Differential Revision: https://reviews.freebsd.org/D2081


# 280601 25-Mar-2015 arybchik

MFC: 280162

sfxge: adding version info to device description

The information is required for NIC update and config tools.

Submitted by: Artem V. Andreev <Artem.Andreev at oktetlabs.ru>
Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)


# 280524 25-Mar-2015 arybchik

MFC: 278250

sfxge: make lock names unique

Lock name should include interface name.
Tx queue and event queue lock name should include queue number.

Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)


# 280522 25-Mar-2015 arybchik

MFC: 278221

sfxge: Add macros to init, destroy, acquire, release and assert locks

Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)


# 280518 25-Mar-2015 arybchik

MFC: 277894

sfxge: implemented parameter to restrict RSS channels

Submitted by: Artem V. Andreev <Artem.Andreev at oktetlabs.ru>
Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)


# 280502 25-Mar-2015 arybchik

MFC: 272328

Make size of Tx and Rx rings configurable

Required size of event queue is calculated now.

Submitted by: Andrew Rybchenko <arybchenko at solarflare.com>
Sponsored by: Solarflare Communications, Inc.


# 280501 25-Mar-2015 arybchik

MFC: 272325

cleanup: code style fixes

Remove trailing whitespaces and tabs.
Enclose value in return statements in parentheses.
Use tabs after #define.
Do not skip comparison with 0/NULL in boolean expressions.

Submitted by: Andrew Rybchenko <arybchenko at solarflare.com>
Sponsored by: Solarflare Communications, Inc.


# 284867 26-Jun-2015 arybchik

MFC: r284747

sfxge: skip VPD info population if access is denied

The patch allows to run on unprivileged PF (PFIOV) passed to
a virtual machine.

Reviewed by: gnn
Sponsored by: Solarflare Communications, Inc.


# 284555 18-Jun-2015 arybchik

MFC: r283514

sfxge: add 7xxx NICs family support

Support 7xxx adapters including firmware-assisted TSO and VLAN tagging:

- Solarflare Flareon Ultra 7000 series 10/40G adapters:
- Solarflare SFN7042Q QSFP+ Server Adapter
- Solarflare SFN7142Q QSFP+ Server Adapter

- Solarflare Flareon Ultra 7000 series 10G adapters:
- Solarflare SFN7022F SFP+ Server Adapter
- Solarflare SFN7122F SFP+ Server Adapter
- Solarflare SFN7322F Precision Time Synchronization Server Adapter

- Solarflare Flareon 7000 series 10G adapters:
- Solarflare SFN7002F SFP+ Server Adapter

Support utilities to configure adapters and update firmware.

The work is done by Solarflare developers
(Andy Moreton, Andrew Lee and many others),
Artem V. Andreev <Artem.Andreev at oktetlabs.ru> and me.

Sponsored by: Solarflare Communications, Inc.


# 283217 21-May-2015 arybchik

MFC: r283051

sfxge: do not advertise LRO capability if LRO is compiled out

Sponsored by: Solarflare Communications, Inc.


# 283216 21-May-2015 arybchik

MFC: r283050

sfxge: automatically turn off TSO when Tx checksum offload is disabled

Also return error if TSO is requested without Tx checksum offload.

Sponsored by: Solarflare Communications, Inc.


# 283215 21-May-2015 arybchik

MFC: r283049

sfxge: allow to disable checksum offloads over VLAN

It just affects capabilities of the created VLAN interface.

Sponsored by: Solarflare Communications, Inc.


# 283212 21-May-2015 arybchik

MFC: r283000

sfxge: add local variable with changed capabilities mask

It is required for the next patch which adds dependency of TSO
capabilities from Tx checksum offloads.

Sponsored by: Solarflare Communications, Inc.


# 283209 21-May-2015 arybchik

MFC: r282996

sfxge: support Rx checksum offloads disabling

We can't disable it in HW, but we can ignore result.
Discard Rx descriptor checksum flags if Rx checksum offload is off.

Sponsored by: Solarflare Communications, Inc.


# 283207 21-May-2015 arybchik

MFC: r282941

sfxge: do not change CSUM_TSO when IFCAP_TSOx is changed

It is simply not required since the kernel checks corresponding
IFCAP_TSOx capability and CSUM_TSO in hw-assisted offloads.
Note that CSUM_TSO is two bits (CSUM_IP_TSO|CSUM_IP6_TSO) and both bits
are set in IPv4 and IPv6 mbufs.

Sponsored by: Solarflare Communications, Inc.


# 283205 21-May-2015 arybchik

MFC: r282903

sfxge: advertise IPv6 Rx and Tx checksum offload support

Tx checksum offload may be enabled/disabled.

Sponsored by: Solarflare Communications, Inc.


# 283204 21-May-2015 arybchik

MFC: r282900

sfxge: IPv4 Tx checksum offload may be disabled in fact

Split IFCAP_HWCSUM to IFCAP_RXCSUM and IFCAP_TXCSUM to highlight Tx and Rx.

Sponsored by: Solarflare Communications, Inc.


# 280606 25-Mar-2015 arybchik

MFC: 280376

sfxge: remove obsolete Tx non-multi queue support

Tx multi queue is added in FreeBSD 8.0. So, the changeset drops earlier
versions support.

Sponsored by: Solarflare Communications, Inc.
Original Differential Revision: https://reviews.freebsd.org/D2081


# 280601 25-Mar-2015 arybchik

MFC: 280162

sfxge: adding version info to device description

The information is required for NIC update and config tools.

Submitted by: Artem V. Andreev <Artem.Andreev at oktetlabs.ru>
Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)


# 280524 25-Mar-2015 arybchik

MFC: 278250

sfxge: make lock names unique

Lock name should include interface name.
Tx queue and event queue lock name should include queue number.

Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)


# 280522 25-Mar-2015 arybchik

MFC: 278221

sfxge: Add macros to init, destroy, acquire, release and assert locks

Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)


# 280518 25-Mar-2015 arybchik

MFC: 277894

sfxge: implemented parameter to restrict RSS channels

Submitted by: Artem V. Andreev <Artem.Andreev at oktetlabs.ru>
Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)


# 280502 25-Mar-2015 arybchik

MFC: 272328

Make size of Tx and Rx rings configurable

Required size of event queue is calculated now.

Submitted by: Andrew Rybchenko <arybchenko at solarflare.com>
Sponsored by: Solarflare Communications, Inc.


# 280501 25-Mar-2015 arybchik

MFC: 272325

cleanup: code style fixes

Remove trailing whitespaces and tabs.
Enclose value in return statements in parentheses.
Use tabs after #define.
Do not skip comparison with 0/NULL in boolean expressions.

Submitted by: Andrew Rybchenko <arybchenko at solarflare.com>
Sponsored by: Solarflare Communications, Inc.