The concept of adding the programmable functionality of the NPU within a switching ASIC was originally
designed and implemented in the popular HP ProCurve Switch 4000M family introduced in 1998. The
programmable capability of the HP ProCurve Switch 5300xl was a second-generation design based on the
original HP ProCurve Switch 4000M implementation. The programmable capability was used to give both the
HP ProCurve Switch 4000M and Switch 5300xl new ASIC-related features well after initial release of those
products. The customers’ investments in the HP ProCurve Switch 4000M and 5300xl are preserved by new
functionality not otherwise possible without the ASIC NPU programmability.
Being based on the HP ProCurve Switch 4000M and 5300xl implementations, the NPU capabilities of the
ProVision ASICs used in the HP ProCurve Switch 3500, 5400zl, 6200yl, and 8200zl series are a third-
generation design.
Fabric Interface
After the packet header leaves the programmable section, the header is forwarded to the Fabric Interface. The
Fabric Interface makes final adjustments to the header, based on priority information, multicast grouping, etc.,
and then uses this header to modify the actual packet header as necessary.
The Fabric Interface then negotiates with the destination ProVision ASICs for outbound packet buffer space. If
congestion is present on the outbound port, WRED (weighted random early detection) can be applied at this
point as a congestion-avoidance mechanism. Finally, the ProVision ASICs’ Fabric Interface forwards the entire
packet through the Fabric-ASIC to an awaiting output buffer on the ProVision ASICs that controls the outbound
port for the packet. Packet transfer from the ProVision ASICs to the Fabric-ASIC is accomplished using the 28.8
Gbps full-duplex backplane connection, also managed by the Fabric Interface.
ProVision ASIC CPU
Each ProVision ASIC contain its own CPU for learning of Layer 2 nodes, packet sampling for the XRMON
function, handling local MIB counters, and running other module-related operations. Overall, the local CPU
offloads the master CPU by providing a distributed approach to general housekeeping tasks associated with
every packet. MIB variables, which need to be updated with each packet, can be done locally. The Layer 2
forwarding table is kept fresh through the use of this CPU. Other per-port protocols, such as Spanning Tree
and LACP, are also run on this CPU. The local CPU, being a full-function microprocessor, allows functionality
updates through future software releases.
Fabric ASIC
The Fabric ASIC, which is located on the backplane of the switch, provides the crossbar fabric for
interconnecting the modules together. The use of a crossbar allows wire-speed connections simultaneously from
any module to any other module. As mentioned in the ProVision ASICs section, the connection between the
Fabric-ASIC and each line interface module’s ProVision ASIC is through a 28.8 Gbps full-duplex link.
Management subsystem
The management subsystem is responsible for overall switch management. The management subsystem
consists of a CPU, flash memory to hold program code, processor memory for code execution, status LEDs and
pushbuttons, a console interface, and other system support circuitry to interface and control each line interface
module. In the case of the Switch 5400zl series, the management subsystem is on a module that is removable/
upgradable. Each 5400zl series chassis requires one management module to function. For the HP ProCurve
Switch 3500 and 6200yl series, the management subsystem is an integrated component. The Switch 8200zl
series offers a modular management subsystem and can also be deployed with redundant management
modules for enhanced system availability.
10