8/24/2006 ZF05G
BCM53XX/BCM56XX Programmer’s Guide
08/24/06
Broadcom Corporation
Page 4 Overview Document 56XX-PG703-D2
TASK OVERVIEW
The following paragraphs briefly describe the tasks performed by the stacking software.
Managing Information
About the System
The CPU database is used to organize information about the system. CPUs are identified
by a unique “key” (which by default is the MAC address associated with the CPU). Each
entry in the database maintains information such as the number of devices controlled by
that CPU, the module ID requirements for each device and the list of ports that can provide
external connections – stack ports.
Accumulating Information
About the System
The Discovery module provides a reference implementation for determining the system
configuration. This process exchanges CPU database information using the Next Hop
communications protocol. Discovery supports timeouts and detects completion of the
process. It does not do any configuration of devices. It can run at any time, either before
or after configuration for normal switching and does not interfere with normal switching.
This allows responding to system events without disrupting normal packet flow.
Analyzing the System
Configuration
The Topology module provides a reference implementation for determining an operational
configuration for the system. It examines the connections detected by discovery,
determines the shortest path between subsystems and indicates which stack ports should
be enabled for which connections. It does not do any system configuration; it only updates
the database object it is given.
Configuring Devices Based
on the Topology
Once a configuration is determined that allows the system to operate normally, the
information is used to program the physical devices accordingly.
The Topology module, in cooperation with the diagnostic shell, provides device
configuration for many Broadcom reference designs. To provide flexibility, the analysis
and configuration operations have been decoupled from each other and from standard
monitoring and control operations.
Detecting and Responding
to System Configuration
Events
The stack task module registers with appropriate API calls to detect events such as link
change and discovery packet arrival. It manages discovery and topology analysis and
provides the necessary hooks for notification of system reconfiguration events. This is
referred to as attaching and detaching devices to the BCM, BCMX and application layers.
The BCMX layer makes calls to the application for each port detected during attach.
CPU Transport Services
The ATP module provides client-based, reliable and best effort transport services
between CPU subsystems. This module is normally used by the BCM dispatch layer for
its RPC calls. The ATP module is fully configurable and supports local loopback and per-
packet override of many transport characteristics.
Uniform System Control
The BCM API allows seamless control of both local and remote devices. Nearly all BCM
API calls use a “unit” number which is a reference to a specific switch or fabric device. The
dispatch layer provides redirection of the calls to support multiple architectures as well as
remote operation requests.
The BCMX API provides a uniform, port-based view of the entire system. Most BCMX
calls use a “logical port” number, which is a means of identifying an arbitrary port in the
system. Operations, which require updating multiple devices, are automatically carried out
by the BCMX layer through calls to the BCM layer.