VSI is a master-slave protocol through which a master can control the operations of one or many slaves. VSI was invented by Cisco Systems. The current implementation is VSI version 2.4. The main functions of VSI are as follows:
A controller-controlled switch pair (that comprises the multiservice switch) is shown in Figure 2-1. Figure 2-1. Multiservice Switch ModulesThe different modules and components shown in Figure 2-1 can be classified as follows:
From these architectural modules, an important point discussed in the preceding chapter is made explicit: The VSI slaves present a view of a virtual switch to the VSI master and therefore to the networking software module. A physical interface and a logical interface (for example, a virtual interface that uses only one VPI in the interface, or an Inverse Multiplexing ATM [IMA] interface with multiple T1s) are the same from the VSI master's perspective, and thus from the networking software's perspective. The controller view of controlled interfaces is shown in Figure 2-2. Figure 2-2. Controller View of Controlled InterfacesAs a consequence, a physical interface with multiple virtual path logical interfaces is seen as multiple virtual interfaces from the controller. On the other end of the spectrum, multiple physical interfaces in an IMA group in the controlled switch are presented to the controller as a single interface. This is summarized in Table 2-1.
Another direct consequence of this is the fact that VSI's Application Programming Interface (API) hides the platform hardware-specific parameters, software, and firmware from the networking software, cleanly separating them. VSI provides primitives for generic ATM cross-connect creation, deletion, and modification. Typically, platforms have more parameters (usually hardware-specific) to configure for a connection than the networking protocol (such as PNNI or MPLS). Those parameters are called extended parameters. Figure 2-3 shows this separation concept. Figure 2-3. VSI Hides Platform Specifics from the Networking SoftwareIn switches that do not implement this modular approach, the mapping from standard protocol parameters to switch-specific extended parameters is typically done at the networking software, making the networking modules difficult to port to another platform with a different set of extended parameters. These parameters might be as important as different QoS queues. In multiservice switches, the mapping is done at the platform software (eliminating platform-specific code from the networking software). This allows platform-independent networking software and results in each platform's optimally mapping standard parameters to extended platform-specific parameters. VSI achieves this by defining service types, letting the controller specify a category of traffic management when setting up a connection. NOTE The switch selects logical interface numbers (LINs) to be used by VSI while updating the controller. Those numbers need to be unique and persistent, but this is done switch-implementation-specific. (LINs are assigned by the slave in a platform-specific way. They need to be unique even if the controlled switch is a multishelf node.) The mapping between physical interface name and LIN is maintained by the VSI slave(s) and is hidden from the VSI master. Moreover, the VSI master does not assume any structure in the number and does not presume the range to be compact (even if sometimes a structured approach is desirable). The LIN is a 32-bit value that the switch needs to advertise before the controller can use it. Valid LINs range from 0 to 0xFFFFFFFE. The VSI master uses the 0xFFFFFFFF value to indicate to the VSI slave that it wants to start walking the slave's LIN values. |