Add latest verified version of Nvidia Spectrum-family switch firmware,
for Spectrum (13.2012.1012), Spectrum-2 (29.2012.1012), Spectrum-3
(30.2012.1012) and Spectrum-4 (34.2012.1012).
Among a number of fixes and new features that this FW release brings, the
following are specifically relevant for the mlxsw driver:
- includes support for ACL IGNORE action's disable_security bit
- includes FW for the Spectrum-4 ASIC
Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
Add latest verified version of Nvidia Spectrum-family switch firmware,
for Spectrum (13.2010.3146), Spectrum-2 (29.2010.3146) and Spectrum-3
(30.2010.3146). Furthermore, add lc_ini_bundle_2010_3146.bin for modular
systems.
The following issues have been fixed:
- In Spectrum-3, fix fallback from PCIe gen3 to gen1, resulting in poor PCI
throughput
- In Spectrum-2, 1Gbps speed is now supported with 40Gbps modules
- Stability issues when burning FW to gearboxes on modular systems
- Several issues in link negotiation and link stability of modular systems
- Latency of several registers has been improved: PLLP, SFMR, SFN, PEFA,
RATR, MPILM, PPBS, RMPE, RIPS, PTER, SBCTR
- In Spectrum-2 and Spectrum-3, an issue in ECN marking on traffic going
through split ports
- Support of IPv4-to-IPv6 NAT in Spectrum-4
- PTP accuracy improvements on 1Gbps, 25Gbps and 50Gbps ports in Spectrum-1
and 10Gbps port in Spectrum-3
- On Spectrum-2+, fix edge cases of ACL matching IPv6 packets
- On Spectrum-3, an issue with a partial CRC overwrite when timestamp over
CRC is set to UTC and CRC recalculation is disabled
- On Spectrum-1, a possible FW freeze when many (e.g. 70) ports are up, and
shared buffer configuration is applied on the fly
- On Spectrum-3, an issue with port-down reason still being reported
despite link having been established
Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
Add latest verified version of Nvidia Spectrum-family switch firmware,
for Spectrum (13.2010.3020), Spectrum-2 (29.2010.3020) and Spectrum-3
(30.2010.3020). Furthermore, add lc_ini_bundle_2010_3020.bin for modular
systems.
Among others, this release fixes the following two issues:
- Allow that correction field adjustment can be enabled for different PTP
message types on ingress than on egress.
- Fix for linecard PSID byte ordering issue for modular systems.
Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>