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.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.
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.
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. 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.NET-1 INT1:PPP:BASE-1
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.
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.
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
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. Figure 1 illustrates both of these protocol stacks.Config>add stack my-isp int1:ppp:sl:wan

Figure 1 Simple Protocol Stack
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.
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>......

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.
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. 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:Config>add stack heterogeneous2 int1:ppp:(sl:wan1)&(dial:sl:wan2)
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.
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.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.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

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.
Add [C]
Adds a device, an interface, or a protocol stack.
Syntax: add
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.
add interface ppp
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.
add stack
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.
change device token-ring
Device Name? Servers
Device Slot # (0-4) [2]? 3
New Device Name [Servers]? Clients
Changing device Servers to Clients
change interface ppp
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.
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.
clear stack
Config> prompt, deletes a device, an interface, or a stack.
Syntax: delete
delete device
Device Name? clients
delete interface
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.
delete stack
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.
disable device
Device Name? TKR1-0
disable interface
Interface number [0]? 1
enable device
Device Name? TKR1-0
enable interface
Interface number [0]? 1
Config> prompt, lists configuration of the devices, interfaces, services, and stacks on the router.
Syntax: list
list devices
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
list interfaces
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)
list services
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
list stacks
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
List [M]
At the Montior> prompt, lists device status, interface statistics, available services, and stack definitions.
Syntax: list
list device
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
list interface
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
list services
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
Montior> listing does the State display as either Open or Closed.
Example: 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