Commit Graph

27 Commits

Author SHA1 Message Date
Petr Machata ac21ab5d1d
Mellanox: Add lc_ini_bundle for xx.2010.1006
As of this writing, the FW version xx.2010.1006 is the lowest version with
which mlxsw will operate. It is therefore useful to distribute the
lc_ini_bundle for modular systems for this version as well. Add the file.

Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2022-04-25 07:36:16 -04:00
Petr Machata af9117b456
Mellanox: xx.2010.1502: Distribute non-xz-compressed lc_ini_bundle
In the previous patch, lc_ini_bundle_2010_1502.bin.xz was contributed.
Pushing an xz-encoded file was a mistake, the format required by the driver
is decompressed, and whether the firmware file is stored on-disk compressed
or plain is a user policy decision.

Therefore drop the xz file, and add the decompressed equivalent instead.

Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2022-04-25 07:36:06 -04:00
Petr Machata e655307662
Mellanox: Add new mlxsw_spectrum firmware xx.2010.1502
Add latest verified version of Nvidia Spectrum-family switch firmware,
for Spectrum (13.2010.1502), Spectrum-2 (29.2010.1502) and Spectrum-3
(30.2010.1502). Furthermore, add lc_ini_bundle_2010_1502.bin.xz for
modular systems.

The following issues have been fixed:

- CRC errors when using 25Gbps links in a modular system.
- Issue in bring-up of line-card no. 8 in a modular system.
- Several issues with too-long link-up times.
- An interop issue with Broadcom Tomahawk.
- An issue that might cause dropping first several packets after a port
  speed is changed to 400Gbps 8x.
- A switch freeze which might occur after many 10Gbps ports get disabled
  simultaneously.
- Latency degradation of RALUE EMAD processing.
- An issue in port isolation, which would not work on two-way split port 64
  on Spectrum-1, and four-way split port 128 on Spectrum-2 and Spectrum-3.
- Issue in multicast configuration on port 128 on Spectrum-2 and
  Spectrum-3.
- On Spectrum-2 systems, when receiving a packet with Symbol Errors on
  ports that are configured to cut-thought, in some cases, a pipeline may
  get stuck.
- Several issues in autonegotiation.

In addition, the following improvement has been made:

- Support in FW for reporting module values to the SW.

Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2022-04-21 06:46:21 -04:00
Petr Machata 9cab94f59b
Mellanox: Add new mlxsw_spectrum firmware xx.2010.1406
Add latest verified version of Nvidia Spectrum-family switch firmware,
for Spectrum (13.2010.1406), Spectrum-2 (29.2010.1406) and Spectrum-3
(30.2010.1406).

Among others, the following issues are fixed by this release:

- LED configuration and reporting of unplugged cable for external PHY
- Several issues in line card management
- Reading on-die temperature in Spectrum-3
- A deadlock when flapping a 1-Gbps port with PTP shaper enabled
- An issue in reporting Phy Link modes in 10-Gbps and 40-Gbps speeds on
  Spectrum-2 and Spectrum-3
- An issue in link autonegotiation vs. a Broadcom NIC
- Issues in InfiniBand MAD messages for virtual IPoIB and for split ports
  on Quantum-2
- An issue sending 4K packets on Quantum-2
- An issue in InfiniBand adaptive routing, where packet with a static DLID
  received from random port instead of the static port
- An autonegotiation issue in HDR, NDR InfiniBand rates when both peer
  ports flap
- A freeze of unmanaged InfiniBand switch on Quantum
- An issue in port initialization when i2c busy flag is left set
- A possible system freeze when attempting to raise a link with an
  unsupported speed over optical cable
- An unresponsive firmware due to wrong InfiniBand NDR serdes init
- A race between HW linkup and FW configuration that could cause a FW
  freeze
- A fix in raising a link with Finisar DR4 (FTCD4523E2PCM) transceiver on
  Spectrum-2 and Spectrum-3 systems after the peer flaps

And the following features are enabled:

- 10Mbase-T speeds for 1GbT ports of the switch
- 200Gbps Link on 4 lane interconnect (NDR200 / HDR data rates)
- Minimum FDB aging time of 1s (down from 10s).

Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2022-02-24 15:25:06 -05:00
Petr Machata 4954931df6
Mellanox: Add new mlxsw_spectrum firmware xx.2010.1232
Add latest verified version of Nvidia Spectrum-family switch firmware,
for Spectrum (13.2010.1232), Spectrum-2 (29.2010.1232) and Spectrum-3
(30.2010.1232).

The following bugs were fixed:

- On Spectrum-3, when cut-through forwarding large frames from a 1Gbps port
  to a 100Gbps one, packets would get corrupted.
- Several issues in handling of MPLS on Spectrum-2.
- An issue that caused fast reboot to take longer than 30s.
- An issue with bulk update of FDB where roamed FDB entries were not
  updated.
- Maximum MTU reported for Quantum chips was 4222 bytes instead of 4096.
- Packets wrongly discarded due to egress STP filter when VxLAN is
  configured.
- On Spectrum-2, on 1Gbps or 10Gbps ports, when congestion occurs, packets
  would very rarely get stuck in the chip and cause switch to hang.
- On Spectrum-3, when ECMP has many next hops based on VLAN interfaces
  packets may rarely get a wrong VLAN tag and be dropped.
- On Spectrum-3, effective speed of a 400Gbps port would only be 380Gbps
  with 1500-byte packets.
- On a switch with an external PHY, attempts to configure PFC are no longer
  bounced by FW as unsupported.
- An issue in handling of QinQ packets with EtherType 8100 on Spectrum-3.
- On SN4800, an issue in PCIe gen3 link negotiation instability.

Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2022-01-18 09:49:45 -05:00
Petr Machata 7d928a3b22
Mellanox: Add new mlxsw_spectrum firmware xx.2010.1006
Add latest verified version of Nvidia Spectrum-family switch firmware,
for Spectrum (13.2010.1006), Spectrum-2 (29.2010.1006) and Spectrum-3
(30.2010.1006).

The following issues have been fixed:

- On SN3700C systems, the SLL (switch lifetime limit) default was
  misconfigured causing the send queue to get stuck.
- Processing of QDPM, a register that controls mapping from DSCP values to
  packet priority, could have latency > 11000 us.
- A cycle of port splitting and unsplitting may have lead to a FW hang.
- On Spectrum-2 and Spectrum-3, packets stuck in the pipe could cause ASIC
  freeze after port is unmapped.
- Quota type on MC shared buffer pool is now initialized to static, instead
  of being left uninitialized. Note that this is a work-around and might go
  away in the future. FW client should explicitly initialize all used
  pools.

With following new features now supported:

- On Spectrum-2 binding drop counters of multicast packets per switch
  priority is now supported through the SBDCM register.
- This FW exposes an existing ASIC feature whereby forwarded packets are
  truncated on ingress.
- Timestamps can now be stored on packet SMAC instead of FCS, allowing
  48-bit timestamp granularity instead of 32 bits.
- Latency-triggered buffer snapshots, on Spectrum-4.
- RIF cache, Spectrum-2 and above.
- Accumulative counters, which uses packet sampling to reduce counter
  memory demands at the expense of counter accuracy.

Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2021-10-25 07:18:16 -04:00
Petr Machata becfe0a0e3
Mellanox: Add new mlxsw_spectrum firmware xx.2008.3326
Add latest verified version of Nvidia Spectrum-family switch firmware,
for Spectrum (13.2008.3326), Spectrum-2 (29.2008.3326) and Spectrum-3
(30.2008.3326).

The following issues are fixed in this version:

- Several issues in tracking PTP timestamps on Spectrum-3.
- An issue in fine-grained LAG configuration, which would mangle KVD on
  Spectrum-2 and later.
- An issue in FW command interface, which would mangle temporary buffers,
  leading to wrong initialization of a port.
- Issues in querying of LPM entries and tunnel decapsulation configuration.
- A Spectrum-2 issue where a too-short VXLAN-decapsulated packet would get
  zero-padded and trapped, instead of getting dropped.
- An issue where latency would not be reported for egress-sampled packets
  on 10Gbps and 25Gbps ports on Spectrum-3.
- A packet scheduler configuration issue which would cause drops of small
  packets on 10Gbps line rate on Spectrum-3.
- An issue in handling multicast traffic, which would be trapped under a
  wrong trap reason.
- Two issues in sFlow policer configuration.
- An issue in port headroom watermark reporting.
- An issue in port headroom reconfiguration while traffic is ingressing the
  port.
- A fix in reporting of latency watermark after transition from 10Gbps or
  25Gbps to 400Gbps on Spectrum-3.
- A MID reallocation issue on Spectrum-1.
- A number of issues in in-service-upgrade.

The following new features are now available:

- Support for setting router interface MAC addresses with more than one
  common prefix (up from one common prefix previously).
- Support for efficient bulk update of FDB entries from VXLAN encapsulation
  to local forwarding and back.
- Support for 9 fixed + 7 hashed bits of VXLAN UDP source port value (up
  from 8+8).
- Support for placing timestamp over a source MAC field to permit 48-bit
  timestamp (up from 32-bit when placed over FCS).

Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2021-09-01 08:00:37 -04:00
Petr Machata da416b04f7
Mellanox: Add new mlxsw_spectrum firmware xx.2008.2946
Add latest verified version of Mellanox Spectrum-family switch firmware,
for Spectrum (13.2008.2946), Spectrum-2 (29.2008.2946) and Spectrum-3
(30.2008.2946).

The following issues have been fixed:

- A Spectrum-2 issue where control traffic generated on the switch would not
  egress a front panel port.
- Minimum shaper would not guarantee the requested bandwidth if the configured
  rate is 100Gbps+.
- On Spectrum-1, when bulk-updating FDB, a multicast tunnel entry update would
  be corrupted, and a unicast entry would not change VID.
- When ECMP or LAG are in symmetric hash mode, a packet would be steered to the
  wrong port.
- Obtaining activity for MC routes would sometimes exhibit a latency of >1us
  on Spectrum-3.

The following new features are available:

- Elephant & mice flow detection
- Register PMTDB, for querying of possible split-port scenarios
- Router interface profiles, which relax the requirement that all router
  interfaces have the same MAC address prefix.

Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2021-06-09 07:07:44 -04:00
Petr Machata 2f307088d3
Mellanox: Add new mlxsw_spectrum firmware xx.2008.2438
Add latest verified version of Mellanox Spectrum-family switch firmware,
for Spectrum (13.2008.2438), Spectrum-2 (29.2008.2438) and Spectrum-3
(30.2008.2438).

This update fixes the following issues:

- An issue where strictly-prioritized traffic gets a 9usec latency penalty
  on a congested port.
- Attempts to configure DSCP prioritization (QPDM register) on CPU
  port (local port 0) would result in FW crash.
- An issue in sampling traffic to the CPU due to incorrect trap
  prioritization.
- An issue in bulk-reading flow counters.
- Several issues related to FW upgrade and in-service FW upgrade.
- Incomplete clearing of activity bits in ECMP containers with a very high
  number of individual ECMP entries (100K).
- A crash during router deinit.

Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2021-04-19 09:52:07 -04:00
Petr Machata 5ecd13ffe8
Mellanox: Add new mlxsw_spectrum firmware xx.2008.2406
Add latest verified version of Mellanox Spectrum-family switch firmware,
for Spectrum (13.2008.2406), Spectrum-2 (29.2008.2406) and Spectrum-3
(30.2008.2406).

This release contains the following fixes and improvements:

- MIRROR_SAMPLER_ACTION.mirror_probability_rate inverted.
- When adjacency is replaced-if-inactive (RATR.opcode=3), bad parameter was
  reported when replacing an active entry.
- TC pool occupancy watermark not cleared after port splits.
- Per-TC counter of ECN-marked packets supported.
- When duplicating VXLAN packets for head-end replication, number of
  lookups was limited to 254, while Spectrum>=2 support 4K.
- Deadlock on port activation when 3 1x ports are active in a single port
  cluster on Spectrum-3.
- A storm of congestion threshold events generated on stably-congested
  traffic when a 200 Gbps port is flapped on Spectrum-3.
- Incorrect early scheduling parameters for 50G 2-way split on Spectrum-2.
- Timeouts when accessing certain CRspace addresses.
- Enable sampling trapped packets.

Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2021-03-03 13:23:49 -05:00
Petr Machata cf6fc2bc77
Mellanox: Add new mlxsw_spectrum firmware xx.2008.2304
Add latest verified version of Mellanox Spectrum-family switch firmware,
for Spectrum (13.2008.2304), Spectrum-2 (29.2008.2304) and Spectrum-3
(30.2008.2304).

This release fixes the following issues (among others):

- Rx pause packet reaction latency on Spectrum-3
- Certain high-numbered flow counters would not work on Spectrum-2.
- FW freeze on Spectrum-1 when under heavy PTP traffic load.
- Mirroring traffic to the CPU on Spectrum-2.
- Shared headroom would not be exhausted before drops started occurring.
- Per-priority Rx discard counters were not always cleared.
- 400-Gbps ports with PFC enabled kept sending pause frames without buffer
  pressure.
- Several issues in flow control and traffic admittance, and FW freeze
  after an on-the-fly shared buffer reconfiguration.
- A number of issues in forwarding line speed traffic to partially split
  8x ports on Spectrum-3.
- A number of issues related to in-service FW upgrade (ISSU / ISFU).
- Port shaper influenced ingress rate when PFC was enabled.
- FW freeze after a port was set admin down when unrelated ports were
  congested.

And includes the following new feature:

- Improvements to counter read performance

Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2021-02-08 08:16:32 -05:00
Petr Machata b362fd4cb8
Mellanox: Add new mlxsw_spectrum firmware xx.2008.2018
Add latest verified version of Mellanox Spectrum-family switch firmware,
for Spectrum (13.2008.2018), Spectrum-2 (29.2008.2018) and Spectrum-3
(30.2008.2018).

This release fixes the following issues (among others):

- Prioritization of trapped control traffic on Spectrum-2 and Spectrum-3.
- Several edge cases where the FW could get stuck on Spectrum-2 and
  Spectrum-3.
- FW flash issues on Spectrum-3
- Apparent resource exhaustion on Spectrum-3 due to wrong fencing.
- When trapping dropped packets from several TCs, they would only get
  reported under one TC.
- Incorrect rejection of RIF counters with indices over 16 bits.
- An issue where port split might fail after port saw heavy traffic.
- Certain large policer CIR caused effective zero CIR.
- A race that would cause drops due to lack of buffer space.

And includes the following new features:

- Support for shared port headroom
- A new trap for L2 IPv6 DHCP traffic
- On Spectrum-2 and Spectrum-3, support ACL actions that perform ALU
  operations between packet fields, immediate values and general-purpose
  registers
- Early support for 8-way port split on Spectrum-3

Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2020-11-24 09:55:03 -05:00
Petr Machata a38b8edef7
Mellanox: Add new mlxsw_spectrum firmware xx.2008.1312
Add latest verified version of Mellanox Spectrum-family switch firmware,
for Spectrum-1 (13.2008.1312), Spectrum-2 (29.2008.1312) and
Spectrum-3 (30.2008.1312).

This version contains a fix for 10G speed in some platforms.

Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2020-09-23 08:18:19 -04:00
Petr Machata eb3aa1fa87
Mellanox: Add new mlxsw_spectrum firmware xx.2008.1310
Add latest verified version of Mellanox Spectrum-family switch firmware,
for Spectrum-1 (13.2008.1310), Spectrum-2 (29.2008.1310) and
Spectrum-3 (30.2008.1310).

Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2020-09-14 08:56:51 -04:00
Petr Machata 6c79b685a4
Mellanox: Add new mlxsw_spectrum firmware xx.2008.1036
Add latest verified version of Mellanox Spectrum-family switch firmware,
for Spectrum-1 (13.2008.1036), Spectrum-2 (29.2008.1036) and
Spectrum-3 (30.2008.1036).

Signed-off-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2020-08-03 12:13:16 -04:00
Petr Machata d9880b1a9c
Mellanox: Add new mlxsw_spectrum firmware xx.2007.1168
Add latest verified version of Mellanox Spectrum-family switch firmware,
for Spectrum-1 (13.2007.1168), Spectrum-2 (29.2007.1168) and newly also for
Spectrum-3 (30.2007.1168).

Signed-off-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2020-06-10 08:29:31 -04:00
Ido Schimmel 67d4ff59bf
Mellanox: Add new mlxsw_spectrum firmware xx.2000.2714
Add new firmware files for Spectrum-1 (13.2000.2714) and Spectrum-2
(29.2000.2714). The new firmware contains:
* Support for querying the PCI reset timeout for gearbox based systems
* Support for 2x50 Gb/s port split option on SN3800 systems

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2020-01-07 09:08:25 -05:00
Ido Schimmel ad7a8b22b1
Mellanox: Add new mlxsw_spectrum2 firmware 29.2000.2308
This is the first firmware file for the Spectrum-2 switch ASIC.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2019-10-23 09:25:09 -04:00
Ido Schimmel e756bf32cb
Mellanox: Add new mlxsw_spectrum firmware 13.2000.2308
The new firmware contains:
* Support for querying port module type (e.g., QSFP, SFP)
* Fix for issue where locally generated packets could not egress the
switch when the egress port is congested with data plane traffic

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2019-10-23 09:25:00 -04:00
Ido Schimmel ebd40c6630
Mellanox: Add new mlxsw_spectrum firmware 13.2000.1886
The new firmware contains:
* Support for extended error reporting via a new TLV in the EMAD packet.
Similar to netlink extended ack.
* Fix for an issue in the PCI code that can result in false AER errors
under high Tx rate.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2019-08-21 07:14:02 -04:00
Ido Schimmel cdef97132a
Mellanox: Add new mlxsw_spectrum firmware 13.2000.1122
The new firmware contains:
* Support for new firmware resources required for splitting a port into
two on Spectrum-2 systems
* Support for new register to query number of supported gearboxes

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2019-05-02 06:11:13 -04:00
Shalom Toledo 813fa1fc6f Mellanox: Add new mlxsw_spectrum firmware 13.1910.622
This new firmware contains:
 * New packet traps for discarded packets
 * Secure firmware flash bug fix
 * Fence mechanism bug fix
 * TCAM RMA bug fix

Signed-off-by: Shalom Toledo <shalomt@mellanox.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2018-12-14 08:19:16 -05:00
Petr Machata 3cee7288e6 Mellanox: Add new mlxsw_spectrum firmware 13.1703.4
This new firmware contains a fix for MC-aware mode.

Signed-off-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2018-09-13 11:42:43 -04:00
Nir Dotan b01151bc9e Mellanox: Add new mlxsw_spectrum firmware 13.1702.6
This new firmware contains:
    - Support for new types of cables
    - Support for flashing future firmware without reboot
    - Support for Router ARP BC and UC traps

Signed-off-by: Nir Dotan <nird@mellanox.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2018-07-27 11:16:06 -04:00
Tal Bar 9cf0ec08c8 Mellanox: Add new mlxsw_spectrum firmware 13.1620.192
This new firmware contains:
	- Support for auto-neg disable mode

Signed-off-by: Tal Bar <talb@mellanox.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2018-03-12 09:59:13 -04:00
Shalom Toledo 8e864c2c8d Mellanox: Add new mlxsw_spectrum firmware 13.1530.152
This new firmware contains:
 - Support Spectrum A1 revision
 - Batch deletion of IPv6 neighbours
 - Remove incorrect VPD capability

Signed-off-by: Shalom Toledo <shalomt@mellanox.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
2017-11-23 02:11:52 +00:00
Yotam Gigi a4c72696f5 Mellanox: Add firmware for mlxsw_spectrum
Add first firmware for the Mellanox Spectrum switch, as a followup to the
recently added commit:
6b7421992b8d ("mlxsw: spectrum: Validate firmware revision on init")

The version of the firmware release is 13.1420.122

Signed-off-by: Yotam Gigi <yotamg@mellanox.com>
Signed-off-by: Kyle McMartin <kyle@kernel.org>
2017-06-01 10:18:00 -07:00