This document offers information and instructions for anyone who needs to create a protocol stack that your router has not already created automatically. It provides an introduction to the manual creation of protocol stacks for inverse multiplexing, WAN Restoral, and device pools and discusses the stack configuration and monitoring commands in detail.
Note: If you do not need to create a protocol stack for inverse multiplexing, WAN Restoral, or device pools, you do not need to read this document.
This document includes the following topics.
Overview
Protocol Stacks
Displaying Prompts
Configuring Protocol Stacks
Configuring Devices
Protocol Stack Commands
Overview
OpenROUTE software not only creates protocol stacks automatically based on the interfaces and data-link protocols that you define using the add interface and set data-link commands. It also allows you to create protocol stacks manually for inverse multiplexing, WAN Restoral, and device pools and to use these stacks in multiple configurations. This modular approach to configuring your routers provides better control and greater efficiency in updating and managing your network connections and also provides the flexibility to re-arrange devices to use them with particular interfaces. It enables you to mix and match your router configurations.
Terminology
The following list defines the terms used for protocol stacks.
Protocol stacks are created either automatically or manually:
Automatically. The automatic creation of protocol stacks depends on the set of devices in the router, the interfaces that you add for the router's devices, and the data-link protocols configured for the interfaces. When you run your router, OpenROUTE automatically creates protocol stacks based on these devices, interfaces, and data-link protocols. It automatically provides a stack for every device that you have not already defined as a component in one of your manually created protocol stacks. See Automatic Stack Creation.
Manually. You can manually create a protocol stack. You can define such a stack for inverse multiplexing, WAN Restoral, and device pools. See Manual Stack Creation.
Stacking Capabilities by Router Platform
Table 1 defines the
stacking capabilities of various routers. The table identifies the commands that
are available on different routers for manually creating or reconfiguring protocol
stacks.
Protocol Stacks
A protocol stack is a modular layering of components stacked one on top of the other and/or stacked on top of a device. The services within the router are the building blocks used to assemble the protocol stacks.
Service Lists
In its simplest form, a service list is a list of modules strung between an interface at the top of the protocol stack and a device at the bottom of that stack. The service list defines the stack.
Table 2 provides definitions of the service list operators.
The order of precedence for the : and & operators from lower to higher is : and &.
All of the instances in one layer are linked to all of the instances in the adjacent layers.
Note: Every name must be unique. You must not use the same name simultaneously to define a stack, a protocol, an interface, a device, or a service.
Note: On a GT Access Manager (GTAM), you can assign names to the devices.
Automatic Stack Creation
When you start your router for the first time, OpenROUTE automatically creates protocol stacks according to the device, interface, and data-link protocol configuration. When you restart your router after manually configuring interfaces, OpenROUTE automatically creates additional protocol stacks according to the configuration that you defined for your router.
The router automatically provides two protocol stacks for each of its physical WAN devices. For example,
The lower stack [BASE-1] contains the physical device [WAN] and a MAC layer handler [SL] that controls that device. This protocol stack is named BASE-X where X is the interface number. For example,BASE-1 SL:WAN
NET-1 INT1:PPP:BASE-1
The second stack [NET-1] contains the interface [INT1], the data-link layer software module [PPP], and a reference to the BASE-X protocol stack [BASE-1]. For example,BASE-1 SL:WAN
Having two separate stacks, one referencing the other, provides the flexibility to re-arrange devices to be used with particular interfaces. Separating the stack into upper and lower halves lets each half have its own state. Redefinition of the upper stack does not affect the configuration state of the lower stack.NET-1 INT1:PPP:BASE-1
OpenROUTE creates a BASE stack using the serial line (SL) service for each serial device and a BASE stack using Basic Rate ISDN (BRI) for each BRI ISDN device. If DIAL is enabled and if a serial device has Async or Sync Dial enabled, then its BASE stack contains a DIAL service, the SL service, and the device.
Automatic Stack Names
When the router automatically creates a protocol stack, OpenROUTE assigns one of the following three types of stack names:
| Stack Name | OpenROUTE creates a stack for... |
| NET-X | Each interface that uses a data-link protocol. For example, if the data-link protocol of interface 1 is PPP (a stackable data-link protocol), OpenROUTE assigns NET-1 as the stack name for interface 1. |
| BASE-X | Every device and names these stacks BASE-X, where X is the number of the first interface linked to the device. For example, if the ISDN device on a GT 205 is interface 3, OpenROUTE assigns BASE-3 as the stack name for this ISDN device. |
| FRAME-X | Frame Relay interfaces. This stack provides the Frame Relay Manager for Frame Relay virtual circuits and Frame Relay LAN Emulation. This is analogous to the mechanism that the BASE stacks that host multiple dial PPP stacks provide. Single or multiple Frame Relay virtual circuits can use the FRAME-X stack, where X is the number of the forst interface attached to the Frame Relay switch. |
Commands for Changing Stacks
Table 3 lists the commands
that are available for reconfiguring and managing stacks that the router creates
automatically. See Protocol Stack Commands.
| Command | Task | Function |
|---|---|---|
| Add Interface | Configure | Adds a data-link protocol (for example, PPP or Frame Relay) that OpenROUTE supports over an interface. |
| Change Interface | Configure | Changes the data-link protocol or the base device associated with an interface that you added using the add interface command. These are the only interfaces that you can change. |
| Delete Interface | Configure | Deletes interfaces that you added with the add interface command. These are the only interfaces that you can delete. |
| List Interfaces | Configure | Lists the name of the base device and the interface with its data-link protocol. |
| Set Data-Link | Configure | Sets the data-link protocol used on an interface. |
Manual Stack Creation
Stacks that you create manually supersede stacks that the router creates automatically.
In addition to being able to create a simple protocol stack, you can also manually create protocol stacks to provide the following:
Inverse multiplexing. One protocol stack can spread traffic across multiple physical devices via Multilink PPP (MP). This capability supports the aggregation of multiple physical devices into one virtual circuit. See Inverse Multiplexing.
WAN Restoral. This is another example of using MP. In this case, you can define two stacks, one a leased line and the other using a dial device (such as, BRI or an asynchronous dialer). The leased line is the primary link and the dialup is the secondary. If the primary link goes down the router switches to the secondary. See WAN Restoral.
Device pools. You can bundle a group of devices together to provide services for multiple virtual circuits. For example, you can configure a group of serial devices tied to modems to be shared by a group of PPP interfaces. See Device Pools.
Note:
When you manually create your router's protocol stacks, changes that you make using the Configure (Config>) process take effect when you restart your router.
All modules in a protocol stack that the router created automatically use the interface number of the interface supported by the stack. For example, a GTS 100 has three interfaces, an Ethernet and two WAN interfaces. These interfaces are numbered 0, 1, and 2. OpenROUTE uses configuration IDs 1 and 2, respectively, for automatically created protocol stacks under interfaces 1 and 2.
Note: Use of the interface number as the configuration ID provides an automatic upgrade path from earlier releases of OpenROUTE.
OpenROUTE assigns a unique configuration ID that is independent of any physical device or logical interface number to protocol stacks that you created manually. (These assigned IDs begin at number 128.) OpenROUTE uses an unique ID so that the deletion of one protocol stack does not indirectly modify the ID used by subsequent protocol stacks.
Which stack's configuration ID does OpenROUTE use to identify the configuration of SL? The answer is always the directly containing stack's, BASE-2 in this example. This is important because now the SL module within BASE-2 can be configured once, and its configuration still remains constant even when you reference BASE-2 from one protocol stack to another.NET-2 INT2:PPP:BASE-2
BASE-2 SL:WAN2
Device Configuration
You can configure devices manually on your router if your router is a modular router, that is, a router that has plug-in modules.
Modular routers allow you to add devices to meet your needs. Several commands are available to manage the addition, modification, and removal of these devices. Each physical device that you add to your router has a logical interface that the router creates automatically. If the device is a WAN device, such as a high speed serial line, then the router automatically creates the new device that binds the logical interface to the physical port. By default, the data-link protocol used on the new WAN device is PPP. The router selects the MAC layer based on the type of device installed (SL or HSSI).
OpenROUTE assigns a default name to your device. You can change this name when you add the device using the add device command. OpenROUTE assigns the names based on the device's type, slot number, and next available port number within that slot. Table 5 lists possible default names.
Table 6 defines the commands that you can use to create devices manually.
Simple Stack
The stack example in this section shows a simple GlobeTrotter 60 configured to use PPP over a leased line attached to its sole WAN port. OpenROUTE always provides one interface (interface 1) for the WAN port.
If you configure the following:
OpenROUTE automatically adds the following stacks when you restart your router:Config>set data-link ppp 1
You can manually create an equivalent stack:NET-1 INT1:PPP:BASE-1
BASE-1 SL:WAN
If you manually create a protocol stack, that stack supersedes any stacks that the router creates automatically based on the data-link protocol. Also, any configuration information that you entered for the stack that your router created automatically is lost because OpenROUTE assigns a new identifier (ID) for the stack you created manually.Config>add stack my-isp int1:ppp:sl:wan
Figure 1 illustrates both of these protocol stacks.
Figure 1 Simple Protocol Stack
These stacks contain the same components but they are subtly different because one stack (NET-1) contains a reference to another stack. The inner BASE-1 stack provides a distinct configuration ID for the services it contains (SL in this example). In the other stack (my_isp), the SL module uses the same configuration ID as the other elements of the stack.
Inverse Multiplexing
Inverse multiplexing allows you to aggregate multiple physical devices into a single virtual circuit. OpenROUTE uses Multilink PPP (MP) to distribute data from a virtual circuit to and from multiple physical circuits. The physical circuits can be ISDN B-channels (on those routers that support ISDN), or they can be multiple serial interfaces.
Note: You can enable this capability only by creating protocol stacks manually.
Figure 2 illustrates this topology.Config>add stack
Stack Name? invmux
Stack Service-List? int1:ppp:(sl:wan1)&(sl:wan2)&(sl:wan3)&(sl:wan4)
Figure 2 Inverse Multiplexing Stack -- Example 1
sets the line speed for every SL module to 2048000 bits/second. The sl command that accessedConfig> network 1
Circuit Config > sl
SL Config> set speed 2048000
SL Config> does not ask you to specify which SL instance must be configured. It does not matter because all instances share the same configuration information.
Example 2
The following is an example of a two WAN port router (such as, a GTS 100) that uses dialers (DIAL) on each serial line to do Multilink PPP (MP) over dual modems. In this example, you define separate stacks for each physical device because you are using two separate types of modems (Hayes and USR). Because the dialers require different configurations for the two different modems, you must place the dialers in separate stacks:
Figure 3 illustrates this topology.Congig>add stack hayes dial:sl:wan1
Config>add stack usr dial:sl:wan2
Config>add stack dual_modem_mpp int1:ppp:hayes&usr
Figure 3 Inverse Multiplexing Stack -- Example 2
The router knows that these two instances of the DIAL service are in separate stacks (hayes and usr) thus the router prompts you to select the DIAL that you must configure.Config> network 1
Circuit Config <dual_modem_mpp> dial
Select one instance of DIAL by specifying the name of the device
to which it is attached. The devices are WAN1, WAN2: ? wan1
Dial Serial Line Configuration
Dial Config <hayes>......
Dial Config <hayes> exit
Circuit Config <dual_modem_mpp> dial
Select one instance of DIAL by specifying the name of the device
to which it is attached. The devices are WAN1, WAN2: ? wan2
Dial Serial Line Configuration
Dial Config <usr>......
Example 3
The following is an example of a router (such as a GTS 205) that uses heterogeneous devices under a single Multilink PPP (MP) interface. In this example, you use a dial modem attached to WAN2 together with a BRI interface on the ISDN device:
Figure 4 Inverse Multiplexing Stack -- Example 3
Note: You can achieve the same results if you define heterogeneous1 in the following way:Config>add stack heterogeneous1 int1:ppp:(dial:sl:wan2)&(bri:isdn)
add stack heterogeneous1 int1:ppp:base-2&base-3
if you define base-2 as dial:sl:wan2 and base-3 as bri:isdn.
An important property of OpenROUTE protocol stacks is that multiple devices aggregated by Multilink PPP (MP) are used in the order listed in the protocol stack service-list. In Example 3, the dial modem would be used for the first leg of the Multilink PPP session. By setting the Bandwidth-on-demand parameters in PPP, you can make the router bring up additional links over the Basic Rate ISDN (BRI) connection to add more bandwidth when the serial line to the modem gets full.Only another router running OpenROUTE software at the remote site can terminate this type of configuration.
WAN Restoral
The following is an example of a router (such as a GTS 100) that uses heterogeneous devices under a single Multilink PPP (MP) interface. In this example, you use a leased line attached to WAN1 together with a DIAL interface on the WAN2 device:
To define this protocol stack, enter the following:
This stack provides the same capability that earlier versions of OpenROUTE provided under WAN Restoral, but since OpenROUTE now implements this stacking under Multilink PPP (MP), the router can use all the links defined in the stack simultaneously.Config>add stack heterogeneous2 int1:ppp:(sl:wan1)&(dial:sl:wan2)
When connecting to the remote router, your router uses the leased line first. It only uses the dial circuit when it needs more bandwidth than the leased line has or when the leased line fails. The WAN Restoral capability provides a backup for a serial link in the event of a failure on the leased line. The restoral process involves:
You cannot create protocol stacks for WAN Restoral on routers that have only one WAN device.
You can enable WAN Restoral on your router only by manually creating protocol stacks.
Your router uses all of the leased lines defined in a stack before it uses any dial circuits.
You also have the option of using WAN Reroute to back up one link with another. You do not need special protocol stacks for WAN Reroute. See Using WAN Reroute.
A device pool is a protocol stack that contains a group of devices shared by other protocol stacks. A device pool is very useful for devices attached to dial media because it lets any device in the pool make or accept calls for protocol stacks attached to the device pool. The following example defines a device pool of two modems and three additional protocol stacks that share this device pool:
The three dial-x protocol stacks share the two modems equally, on a first-come, first-served basis. The telephone numbers of the two modems can be distributed to all three remote locations, and then those three remote locations can use either one of the modems to connect to the router.Config>add stack modem_pool (dial:sl:wan1)&(dial:sl:wan2)
Config>add stack dial-1 int1:ppp:modem_pool
Config>add stack dial-2 int2:ppp:modem_pool
Config>add stack dial-3 int3:ppp:modem_pool
Note: You must configure each of the protocol stacks for dial-on-demand; otherwise, all three stacks try to use the two modems immediately after the router starts.
Figure 5 Modem Device Pool
Displaying Prompts
You configure and monitor stacks from the Config> and Montior> prompts.
To display the Config> prompt, enter the config command at the * prompt.
To display the*config
Config>
Montior> prompt, enter the monitor command at the * prompt.*monitor
Montior>
Config> prompt as described
in Displaying Prompts.
Config>add stack
Stack Name?invmux
Stack Service-List?int1:ppp:(sl:wan1)&(sl:wan2)
Config> prompt as described
in Displaying Prompts.
Config>add device hssi
Device Slot # (0-4) [3]?
Device Name [HSSI3]?
Adding device hssi3 as interface 7
Defaulting Data-link protocol to PPP
Not all parameters apply to all router platforms. Press Space after you type a command to display the available parameters for each command for your router. Enter help for information about using the command line interface.
[C] means the command is available at the Config> prompt.
[M] means the command is available at the Montior> prompt.
| Command | Function |
|---|---|
| Add [C] | Adds a device, an interface, or a stack. |
| Change [C] | Changes a device, an interface, or a stack. |
| Clear [C] | Clears a device or stack configuration. |
| Delete [C] | Deletes a device, an interface, or a stack. |
| Disable [C] [M] | Disables a device or an interface. |
| Enable [C] | Enables a device or an interface. |
| List [C] [M] |
At the Config> prompt, lists configuration of the devices, interfaces, services, and stacks on the router. At the Monitor> prompt, lists device status, interface statistics, available services, and stack definitions. |
| Set [C] | Sets the data-link protocol. |
| Test [M] | Tests (and enables) a device or an interface. |
Add [C]
Adds a device, an interface, or a protocol stack.
Example: add device quad-serial
Device Slot # (0-4) [2]? 1
Device Name [SL1-2]?
Adding device SL1-2 as interface 7
Defaulting Data-link protocol to PPP
The router must be restarted before the new device can be used.
Since OpenROUTE automatically installs an interface for each physical device, the only type of interface that you can add is one that provides a dial or virtual circuit.
Select the physical device used to host the interface from the
following list: WAN2, WAN3? wan3
Adding interface 7 linked to base device WAN2-0.
Stack Name? invmux
Stack Service-List? int1:ppp:(sl:wan1)&(sl:wan2)
Adding a protocol stack definition does not immediately enable that stack to process packets. You need to restart your router. Stacks open automatically every time you restart your router. Therefore, when you restart the router, OpenROUTE opens (that is, activates for processing packets) any stack that you added via the add stack command.
Limit the stack name to 15 characters. If you use more than 15 characters for the stack name, OpenROUTE truncates the name to the first 15 characters.
Example: change device token-ring
Device Name? Servers
Device Slot # (0-4) [2]? 3
New Device Name [Servers]? Clients
Changing device Servers to Clients
Interface number [0]? 6
Select the physical device used to host the interface from the
following list: WAN2, WAN3 [WAN2]? wan3
You can use the change interface command only to change those interfaces that you added by the add interface command. For interfaces that the router created automatically, you can only change the data-link protocol by using the set data-link command.
You cannot use the change interface command to modify an interface that a protocol stack defined by you references. The user-defined protocol stack definition takes precedence; in this instance, OpenROUTE ignores any change defined by the change interface command.
Syntax: change stack stack name stack service-list
Example:change stack
Stack Name? invmux
Stack Service List? [[int1:ppp:(sl:wan1)&(sl:wan2)]?int1:ppp:(sl:wan3)&(sl:wan4)
The interface number used when binding this interface to the protocol forwarders is still 1. The redefinition of this stack has changed the physical ports used on the router without changing the logical interface numbers used within the protocol forwarders.
OpenROUTE preserves the configuration information for this stack because that configuration information is bound to this protocol stack. What has changed are the devices used for processing packets. They are now wan3 and wan4.
Note: This command has no effect on protocol stacks of this name that are already present in the running router. The change only takes effect when you restart your router.
clear stack
Delete [C]
At the Config> prompt, deletes a device, an interface, or a stack.
Device Name? clients
Interface number [0]? 5
You can use the delete interface command only to delete those interfaces that you added by the add interface command.
You cannot use the delete interface command to modify an interface that a user-defined protocol stack references. The user-defined protocol stack definition takes precedence.
Stack Name? invmux
Deleting the stack not only erases the stack definition; it also erases the configuration of every module within that stack. For example, if invmux has a PPP interface, then executing this command erases all PPP-specific configuration for that interface.
You cannot use this command to delete stacks that the router created automatically.
Device Name? TKR1-0
Interface number [0]? 1
Device Name? TKR1-0
Interface number [0]? 1
List [C]
At the Config> prompt, lists configuration of the devices, interfaces, services, and stacks on the router.
ETH0-0 slot 0 port 0 Ethernet/802.3
ETH0-1 slot 0 port 1 Ethernet/802.3
ETH0-2 slot 0 port 2 Ethernet/802.3
ETH0-3 slot 0 port 3 Ethernet/802.3
SL1-0 slot 1 port 0 Quad Serial Line
SL1-1 slot 1 port 1 Quad Serial Line
SL1-2 slot 1 port 2 Quad Serial Line
Corporate slot 1 port 3 Quad Serial Line
Ifc 0, Ethernet/IEEE 802.3 (via device ETH0-0)
(5 Receive Buffers)
Ifc 1, Token-Ring/802.5 (via device TKR1-0)
(10 Receive Buffers)
Ifc 2, Token-Ring/802.5 (via device TKR1-1)
Ifc 3, Point to Point (via device WAN2-0, with Dialer)
Ifc 4, Frame Relay (via device WAN2-1, with LAN Emulation)
Ifc 5, Point to Point (via device WAN2-2)
Ifc 6, Point to Point (via device WAN2-3)
Ifc 7, Point to Point (via device WAN2-0)
Service Description
------- -----------
DIAL Dial Serial Interface
FRLANE Frame Relay LAN Emulation
FRMGR Frame Relay Manager
FRVC Frame Relay Virtual Circuit
HSSI High-Speed Serial Interface
INT3 Interface 3
INT4 Interface 4
PPP Point-to-Point Protocol
SL Serial Line
Stack Creator State ID Service List
----- ------- ----- -- ------------
BASE-3 Router Closed 3 SL:SL2-0
FRAME-3 Router Closed 3 FRMGR:BASE-3
invmux User Closed 128 int1:ppp:(sl:wan1)&(sl:wan2)
NET-3 Router Closed 3 INT3:FRVC:FRAME-3
NET-4 Router Closed 4 INT4:PPP:BASE-3
|
Stack
| Stack name. |
|
Creator
| Indicates who defined each protocol stack: the router or the user. |
|
State
|
Open or closed In the Config> listing, the state is always closed. Only in the Montior> listing does the state display as either open or closed.Open Available to accept calls (on dial-oriented WANs such as ISDN), and, if a call is in progress, an open stack can transfer data packets. Closed Equivalent to a disabled interface. It cannot transfer data packets. |
|
ID
|
Configuration ID |
|
Service List
| Services the protocol stack uses. |
List [M]
At the Montior> prompt, lists device status, interface statistics, available services, and stack definitions.
Device Hardware CSR Vector State
ETH0-0 Ethernet/802.3 80700000 0 Up
TKR1-0 ProNET-4 80710000 1 Not present
TKR1-1 ProNET-4 80710000 1 Disabled
SL2-0 Quad Serial Line 80720000 2 Up
SLOT3-0 None 80730000 3 Not present
wan5 High Speed Serial 80730000 3 Up
Self-Test Self-Test Maintenance
Nt Interface Passed Failed Failed
0 Eth/0 1 0 0
1 NULL/0 0 0 0
2 TKR/0 0 0 0
3 FR/0 0 0 0
4 NULL/2 0 0 0
5 NULL/3 0 0 0
6 FDDI/0 0 0 0
list interface 2
Self-Test Self-Test Maintenance
Nt Interface Passed Failed Failed
2 TKR/1 0 1119 0
Token-Ring/802.5 data-link layer on ProNET-4/16 interface
Physical address 000000000000
Network speed 4 Mbps
Max packet size (INFO) 2052
Handler state Testing
Interface Restarts 0
# times Signal lost 0 # times Beaconing 0
Hard errors 0 Lobe wire faults 0
Auto-removal errors 0 Removes received 0
Ring recovery actions 0
Line errors 0 Burst errors 0
ARI/FCI errors 0 Inputs dropped 0
Frame copy errors 0 Token errors 0
Lost frames 0
Input overflows 0 Driver output errors 0
Dest refused 0
Input Buffers Low/Zero 0/ 0
Service Description
------- -----------
DIAL Dial Serial Interface
FRLANE Frame Relay LAN Emulation
FRMGR Frame Relay Manager
FRVC Frame Relay Virtual Circuit
HSSI High-Speed Serial Interface
INT1 Interface 1
INT3 Interface 3
INT4 Interface 4
PPP Point-to-Point Protocol
SL Serial Line
Note:
Only in the Montior> listing does the State display as either Open or Closed.
list stacks
Stack Creator State ID Service List
----- ------- ----- -- ------------
BASE-3 Router Open 3 SL:SL2-0
FRAME-3 Router Open 3 FRMGR:BASE-3
invmux User Closed 128 int1:ppp:(sl:wan1)&(sl:wan2)
NET-3 Router Open 3 INT3:FRVC:FRAME-3
NET-4 Router Closed 4 INT4:PPP:BASE-3
set data-link ppp
Interface Number [0]? 1
test device
Name of the device? wan
Testing device WAN...successful
test interface
Interface number [0]? 3
Testing network 3 PPP/0...successful