Content-type: text/html Man page of atmconfig

atmconfig

Section: Maintenance Commands (8)
Index Return to Main Contents
 

NAME

atmconfig - Configures the ATM subsystem  

SYNOPSIS

/usr/sbin/atmconfig command arguments

Arguments can appear in any order after the command. All required arguments must be specified.  

FLAGS

This section is organized by the tasks you can perform with the atmconfig command. Each task subsection provides the atmconfig command syntax and the flags to use to complete the task.  

Connecting a Driver to the Network

Syntax:

/usr/sbin/atmconfig up driver=driver_name
      [[grain=value [precise]] |
      [[fgrain=value [fprecise]] [bgrain=value [bprecise]]]]
      [[vcmaxbw=limit] | [[fvcmaxbw=limit] [bvcmaxbw=limit]]]
      [[resvlim=value] | [[fresvlim=value] [bresvlim=value]]]
      [useesi=esis] Instructs the driver_name driver to initiate contact with the network; the driver is not necessarily online when the command returns. Use the status command to determine the driver's actual state. Use the wait command to suspend execution until the driver is online. Once a driver is configured up, you must take it down before you can configure it up again (for example, to change the allocation granularity). Specifies the name (driver_name) of the driver as it registered with the system, followed by the unit number. For example lta0 for DGLTA unit 0. Instructs the driver to set its bidirectional (grain), forward/outgoing (fgrain), or backward/incoming (bgrain) allocation granularities to the specified value. You can specify one value for both directions, or specify a value for the forward and backward directions separately. A driver's allocation granularity is its incremental bandwidth unit, expressed as a cell rate (R) and a multiplication factor (A/B). Use one of the following methods to calculate allocation granularity: Cell rate in cells per second (cps). This is an integer value. For example, grain=88 specifies 88 cps. This is equivalent to specifying grain=Rx1/1. Cell rate as a ratio of the driver's full line rate. For example, if the driver's line rate is 353207 cps, grain=1/3301 specifies 107 cps. This is equivalent to specifying grain=353207x1/3301. Cell rate as a fractional number of cells per second. For example, grain=5005x1/10 specifies 500.5 cps.

If the precise, fprecise, or bprecise argument is specified, the driver meets the exact granularity specified for the given direction, or returns an error. If not specified, the driver rounds from the specified granularity, if necessary.
If none of the grain arguments are specified, the driver chooses default allocation granularities. If either the grain argument or a directional grain argument is specified and the driver either does not support allocation granularities in both directions or does not support an allocation granularity in the specified direction, an error is returned.
The bandwidth allocation granularities that a driver supports are hardware dependent, a function of how the driver implements cell scheduling. Since most hardware does not support arbitrary cell rates, the driver rounds granularities as needed. Refer to your specific adapter's specification when setting allocation granularities.
You can only set a driver's allocation granularities when you connect the driver to the network.
Allocation granularity only applies to adapters that support constant bit rate (CBR) or cell pacing. Imposes a per-VC bidirectional (vcmaxbw), forward/outgoing (fvcmaxbw), or backward/incoming (bvcmaxbw) bandwidth limit, expressed in allocation granularity units. You can specify one limit for both directions, or specify a limit for the forward and backward directions separately. If none of the vcmaxbw arguments are specified, these limits are set to the driver-imposed per-VC limits.
The per-VC bandwidth limits can be reconfigured after the driver is up, using the setlimit command. After the driver is up, use the drvlist long command to display the driver-imposed and user-configurable per-VC limits.
Maximum per-VC bandwidth limits only apply to adapters that support CBR or cell pacing. Specifies restrictions on the amount of driver bandwidth in both (resvlim), the forward/outgoing (fresvlim), or backward/incoming (bresvlim) directions that can be used by constant bit rate (CBR) circuits. You can specify one limit for both directions, or specify a limit for the forward and backward directions separately. The value is specified as an integer (0-100), reflecting the percentage of the total interface bandwidth available to CBR circuits. If none of the resvlim arguments are specified, a system default value is used (see the setlimit command).
These limits can be reconfigured after the driver is up, using the setlimit command. After the driver is up, use the drvlist long command to display the limits.
Bandwidth reservation limits only apply to adapters that support CBR. Specifies which of the adapter's ROM ESI addresses are to be registered with the network. Up to 64 ROM ESI addresses can be controlled using this option, though adapters generally have only a few ROM ESI addresses. The list is specified as a combination of numbers and ranges separated by commas. To register ESI 1, 3 and 6, use the following useesi argument: useesi=1,3,6

To register ESI 1, 2 and 3, use the following useesi argument: useesi=1-3

To register register ESI 1, 4, 5 and 6, use the following useesi argument: useesi=1,4-6

To register register ESI 1, 2, and 3, use the following useesi argument: useesi=-3

To register register ESI 60 up to the maximum (64), use the following useesi argument: useesi=60-

If the useesi argument is not specified, all the driver's ROM ESIs are registered. Use the drvlist long argument to display the driver's list of ROM ESIs. The numbers used in the esis option correspond to those printed with the ROM ESIs in the driver list.
 

Disconnecting a Driver From the Network

Syntax:

/usr/sbin/atmconfig down driver=driver_name Instructs the driver_name driver to disconnect from the network, releasing all virtual circuits (VCs) in an orderly manner, unregistering all Endpoint System Identifiers (ESIs), and taking down the interface. No new connections can be made while the interface is taken down. When this command returns, the system has started a shutdown procedure that can take several minutes.

If this command is issued twice, the driver is taken off line immediately, without releasing VCs or ESIs; the protocol timers for the VCs will expire. Specifies the name (driver_name) of the driver as it registered with the system, followed by the unit number. For example lta0 for DGLTA unit 0.
 

Displaying Driver Status

Syntax:

/usr/sbin/atmconfig status driver=driver_name Reports the current status of the driver_name driver. The interface can be in the following states: The interface is off line. The interface is online and is synchronized with the switch. The driver is UP, but currently does not have a live connection to the switch. The interface is UP, but is in the process of shutting down. Specifies the name (driver_name) of the driver as it registered with the system, followed by the unit number. For example lta0 for DGLTA unit 0.  

Reconfiguring a Driver

Syntax:

/usr/sbin/atmconfig setlimit driver=driver_name
      [[vcmaxbw=limit] | [[fvcmaxbw=limit] [bvcmaxbw=limit]]]
      [[resvlim=limit] | [[fresvlim=limit] [bresvlim=limit]]] Instructs the driver_name driver to reconfigure limits after a driver is configured up. This command only applies to adapters that support CBR and cell pacing. Specifies the name of the driver as it registered with the system, followed by the unit number. For example, lta0 for DGLTA unit 0. Resets the per-VC bidirectional (vcmaxbw), forward/outgoing (fvcmaxbw), or backward/incoming (bvcmaxbw) bandwidth limit to the specified number of allocation granularity units. You can specify one limit for both directions, or specify a limit for the forward and backward directions separately.

After the driver is up, use the drvlist long argument to display the driver-imposed and user-configurable per-VC limits. Resets the amount of driver bandwidth in both (resvlim), the forward/outgoing (fresvlim), or backward/incoming (bresvlim) directions that can be used by constant bit rate (CBR) circuits. You can specify one limit for both directions, or specify a limit for the forward and backward directions separately. The value is specified as an integer (0-100), reflecting the percentage of bandwidth available to CBR circuits.
After the driver is up, use the drvlist long argument to display the limits.
 

Displaying Active VCs

Syntax:

/usr/sbin/atmconfig vclist [driver=driver_name]
      [converge=name] [signal=name] [pvc] [svc]
      [ppaid=PPA_ID] [bindid=BIND_ID]
      [selector=Selector] [vpi=vpi] [vci=vci]
      [vcid=vcid] [cref=call_reference] [zombies]
      [short] [long] [log] [services] Displays the currently active VCs. Each active VC is listed along with its state, its local VC identifier (a unique value used to identify the VC locally), the Virtual Path Identifier (VPI) and Virtual Channel Identifier (VCI), and the remote address.

If you use this command without any arguments, a short form listing of all VCs on the system (except zombied VCs) is displayed. Specify additional arguments to display specific active VCs. If multiple arguments are specified, only VCs that match all specified parameters are displayed. Specifies VCs attached to driver_name driver. The driver_name argument is the name of the driver as it registered with the system, followed by the unit number. For example, lta0 for DGLTA unit 0. Specifies VCs owned by name convergence module. The name argument is the name of a convergence module as it is registered with the system. For example, atmip for the Classical IP convergence module. Specifies VCs controlled by name signaling module. The name argument is name of a signaling protocol module as it is registered with the system. For example, uni3x for the UNI 3.0/3.1 signaling module. Specifies Permanent Virtual Circuits only. Specifies Switched Virtual Circuits only. Specifies VCs attached to the PPA_ID address. This can be VCs with the called party or calling party address of the specified PPA. The PPA_ID argument is the ID of a Physical Point of Attachment (PPA), the end-system's registered ATM network address. Specifies VC attached to the BIND_ID bind point. The BIND_ID argument is the ID of a bind point. A bind point is a binding between an ATM convergence module and a network address (PPA). Convergence modules can have multiple bind points. Specifies VCs with Selector selector value in their local address. The selector is the last byte of the ATM address and is used to select a specific service on the network endpoint. Each binding of a convergence module to a PPA creates a selector value for that PPA. This is equivalent to the bindid argument. Specifies VCs with the vpi Virtual Path Indicator. Specifies VCs with the vci Virtual Circuit Indicator. Specifies a single VC having vcid the VC identifier; no other specification is needed. Each VC created on the system is assigned an identifier that is unique system wide. This identifier may be used as a shorthand to specify a VC (instead of a driver/VPI/VCI tuple). Specifies VCs with the call_reference Call Reference value. This is the value used by the network to identify individual calls. Specifies VCs that were recently released. Zombied VCs are those VCs that have completed the release processing, but are waiting to be put back into the free resource pool. Generally, a VC remains as a zombie for about 30 seconds after it is released. Listing zombied VCs can be useful when trying to determine which VCs have recently been released. Specifies a short form. This is the default. Specifies a long form. In addition to the standard information, displays additional information such as bytes or packets sent or received on each VC, and VC connection service parameters. Specifies that VC cause and log information be displayed. Specifying this option also causes the long form listing to be displayed. Specifies that VC connection service parameters information be displayed. The long form displays this information by default.
 

Displaying ATM Device Driver Information

Syntax:

/usr/sbin/atmconfig drvlist [driver=driver_name]        [long] [stats]
Displays standard information about each currently configured ATM device driver. For example, the driver's name, current state, number of ESIs, PPAs, active VCs, and physical interface type. Specifies the name (driver_name) of the driver as it registered with the system, followed by the unit number. For example, lta0 for DGLTA unit 0. If driver is specified, only information about the specified driver is displayed. In addition to the standard information, displays additional driver information. For example, maximum VPI and VCI values, hardware MTU, capabilities, and ESI values. If the driver supports CBR capabilities, it also displays per-VC bandwidth, bandwidth restrictions, and availability information. If the driver supports pacing capabilities, it also displays per-VC bandwidth restrictions. In addition to the standard information, displays driver usage statistics. For example, the total number of bytes, packets, and cells sent and received over all VCs since the driver was last brought up.  

Displaying ATM Convergence Module Information

Syntax:

/usr/sbin/atmconfig cvglist [converge=name] [stats] Displays information about all ATM convergence modules currently configured on the system. For example, the convergence module names, the number of active VCs attached to each module, the number of private ESIs owned by the module, and the number of bindings owned by the modules. Specifies the name of a specific convergence module (name) as it is registered on the system. If this argument is provided, only information about the specified convergence module is displayed. Specifies that module statistics are to be displayed. These statistics include bytes and packets (PDUs) sent and receives, and the sum of all call statistics of all bind points owned by each convergence module.  

Displaying ATM Signaling Module Information

Syntax:

/usr/sbin/atmconfig siglist [signal=name] [stats] Displays information about all signaling modules currently configured on the system. For example, the name of the module, the number of VCs (generally, signaling channels) owned by the module, and the number of PPAs owned by the module. Specifies the name of a signaling module (name) as it is currently registered on the system. If this argument is provided, only information about the specified signaling module is displayed. Specifies that call statistics associated with the signaling modules is to be displayed. These statistics may differ slightly from any statistics maintained internally by specific signaling modules since signaling modules have access to information and events not known to the rest of the system.  

Displaying ATM PPA Information

Syntax:

/usr/sbin/atmconfig ppalist [driver=driver_name]        [converge=name] [signal=name] [ppaid=PPA_ID]
       [bindid=BIND_ID] [selector=Selector] [zombies]
       [short] [long]
Displays information about all currently configured Physical Points of Attachment (PPAs). For example, the name of the driver to which the PPA is attached, the name of the signaling module that controls the PPA, the ID of the PPA, the state of the PPA, and the ESI ID of the ESI used in creating the PPA's address.

A PPA is a network address. That is, a PPA is an object to which ATM services (convergence modules) bind to create a fully qualified ATM address and to gain access to ATM services. Specifies the name (driver_name) of the driver as it registered with the system, followed by the unit number. For example, lta0 for DGLTA unit 0. If a driver name is specified, only PPAs attached to that driver are displayed. Specifies the name of an ATM convergence module (name) as it is registered with the system. If a convergence module name is specified, only PPAs to which that convergence module has bound are displayed. You use this to display addresses that convergence modules are using. Specifies the name of an ATM signaling module (name) as it is registered with the system. If a signaling module name is specified, only those PPAs created by that signaling module are displayed. Specifies a single PPA having the PPA_ID PPA Identifier. Specifies a single PPA that has been bound to BIND_ID bind point. Specifies an ATM End System Address (AESA) selector byte (Selector). If a selector value is specified, only PPAs that have assigned the specified selector value to a binding are displayed. Displays recently unregistered PPAs. Specifies a short form. This is the default. Specifies a long form listing. This includes the 19-byte ATM address associated with each PPA, the numbering plan used, type of number, and all bound selector values.
 

Displaying ATM ESI Information

Syntax:

/usr/sbin/atmconfig esilist [driver=driver_name] [converge=name] Displays information about the currently configured ESIs. For example, the name of the driver to which the ESI is attached, the owner of the ESI (for private ESIs), the ESI identifier, the signaling modules with which the ESIs have been registered, and the ESI value. each ESI registered with the ATM subsystem is displayed on one line and each instance of the ESI that has been registered with a signaling module for network registration is displayed on one line. Specifies the name (driver_name) of the driver as it registered with the system, followed by the unit number. For example, lta0 for DGLTA unit 0. If a driver name is specified, only ESIs attached to that driver are displayed. Specifies the name (name) of a convergence module as it is registered on the system. If this argument is provided, only private ESIs belonging to that convergence module are displayed.  

Displaying ATM Bind Information

Syntax:

/usr/sbin/atmconfig bindlist [converge=name]        [ppaid=PPA_ID] [bindid=BIND_ID]
       [selector=Selector] [zombies]
Displays information about all currently active ATM service binds on the system. For example, the name of the module which made the bind, the bind identifier, the bind selector value, and the number of VCs currently attached to the bind (VCs whose called or calling party address is represented by the bind).

Each bind represents an ATM service to which an incoming call can be routed, and from which outgoing calls are placed. A bind, together with the PPA to which the bind belongs, represents a completely qualified ATM address. Specifies the name (name) of a convergence module as it is registered on the system. If this argument is provided, only those binds created by the specified convergence module are displayed. Specifies the PPA Identifier (PPA_ID) of a currently existing PPA. If specified, only those binds made to that PPA are displayed. Specifies the Bind Identifier (BIND_ID) of a currently existing bind. If specified, only the specific bind is displayed. Specifies a valid selector value (Selector) for a specific address type or PPA. If specified, only the binds that have been assigned the selector value are displayed. Displays recently unregistered bind points. This is useful for debugging purposes.
 

Creating a New PVC

Syntax:

/usr/sbin/atmconfig +pvc driver=driver_name
      converge=name vpi=vpi_value vci=vci_value
      [selector=selector_value]
      [[mtu=value] | [[fmtu=value] [bmtu=value]]]
      [[qos=class] | [[fqos=class] [bqos=class]]]
      [[+tagging | -tagging] | [[+ftagging | -ftagging]
      [+btagging | -btagging]]]
      [+bei | -bei] [[peak0=rate] |
      [[fpeak0=rate] [bpeak0=rate]]]
      [[peak1=rate] | [[fpeak1=rate]
      [bpeak1=rate]]] [bbtraffic=NONE|CBR|pacing]
      [bbclass=NONE|A|C|X] [bbtiming=NONE|req|notreq]
      [+bbclipping | -bbclipping] Creates and enables a new Permanent Virtual Circuit (PVC) and attaches it to a convergence module specified in the converge=name argument. The PVC does not have to be enabled on the switch, but should be as the system may attempt to send data as soon as it recognizes the new PVC. For completeness, all connection service parameter arguments can be specified; however not all of them have local significance. Specifies the name (driver_name) of the driver as it registered with the system, followed by the unit number. For example lta0 for DGLTA unit 0. Specifies the name of a convergence module. name is the name (case insensitive) that the convergence module used when it registered with the system. A convergence module is an interface module that interfaces a specific protocol or protocols to ATM. For example, converge=atmip for the IP to ATM (RFC 1577) convergence module. Specifies a VPI value to be used in looking up or creating a VC. Any VPI value that is valid on the interface and network may be specified. Specifies a VCI value to be used in looking up or creating a VC. Any VCI value that is valid on the interface and network may be specified. Specifies the specific instance of convergence module service. The selector_value is unique to the convergence module, and is created when the convergence module binds to a PPA.

The following arguments specify the traffic contract parameters, which describe the characteristics of the cell stream transferred over the PVC. These parameters are defined in the ATM Forum User-Network Interface (UNI) Specification (V3.0). When setting up PVCs on the network, use the same traffic parameters when configuring the PVC on switches and the other end system. Specifies the maximum packet size that can be transmitted and received (mtu), transmitted (fmtu), or received (bmtu) on the PVC. You can specify one value for both transmitted and received packets, or specify a value for transmitted and received packets separately. If none of the mtu arguments are specified, a default value is set. Specifies the quality of service requested in both (qos), the forward/outgoing (fqos), or backward/incoming (bqos) directions. You can specify one value for both directions, or specify a value for forward and backward directions separately. The class parameter specifies the quality of service required to meet a given service class's performance objectives. Valid qos_class values and example service classes are as follows: Unspecified (Best Effort). This is the default. Connection oriented constant bit rate traffic with source/destination timing relationships. Connection oriented variable bit rate traffic with source/destination timing relationships. Connection oriented variable bit rate traffic with no timing relationships. Connectionless variable bit rate traffic with no timing relationships. Undefined bit rate traffic. Available bit rate traffic.

Local significance of quality of service is not fully implemented. Specifies if the traffic cell's congestion bits are to be set/cleared on both (+tagging/-tagging), on outgoing (+ftagging/-ftagging), or on incoming (+btagging/-btagging) directions. You can specify both directions, or specify the forward and backward directions separately. By default, tagging is not set.
Local significance of tagging is not fully implemented. Specifies that the best effort indicator be set (+bei) or cleared (-bei). The best effort indicator is used with quality of service class NONE, and applies to both directions.
By default, the best effort indicator is set. Specifies (in cells per second) an upper bound on PVC's CLP 0 cell stream in both directions (peak0), in the outgoing direction (fpeak0), or in the incoming direction (bpeak0). You can specify one rate for both directions, or specify a rate for outgoing and incoming directions separately. By default, the CLP 0 peak cell rate is set to a minimum value.
Peak cell rates only apply to adapters which support CBR and cell pacing. Specifies an upper bound (in cells per second) on PVC's CLP 0+1 cell stream in both directions (peak1), in the outgoing direction (fpeak1), or in the incoming direction (bpeak1). You can specify one rate for both directions, or specify a rate for outgoing and incoming directions separately. By default, the CLP 0+1 peak cell rate is set to a minimum value.
Peak cell rates only apply to adapters that support CBR and cell pacing. Specifies the Broadband Bearer Capability Traffic Type. For PVCs, specifying either CBR or pacing causes cells in the PVC's traffic stream to be inserted into the network at the rate specified in the peak1 argument. By default, bbtraffic is set to NONE.
The CBR and pacing options only apply to adapters that support these modes. Specifies the Broadband Bearer Capability Class of Bearer (BCOB). By default, bbclass is set to NONE. Specifies the Broadband Bearer Capability Timing Requirements. By default, bbtiming is set to NONE.
Local significance of timing is not fully implemented. Specifies the Cell Loss Priority (CLP) of the PVC's traffic cell stream. The +bbclipping argument indicates that the cells should be treated with low priority and should be dropped, if needed, during periods of congestion (CLP 0). The -bbclipping argument indicates that the cells should be treated with high priority and should not be dropped during periods of congestion (CLP 0+1).
By default, clipping is not set. Local significance of clipping is not fully implemented.
 

Removing an Endpoint from a VC

Syntax:

/usr/sbin/atmconfig -ep epref=endpoint_reference_id
     {driver=driver_name vpi=vpi_value vci=vci_value} |
     vcid=VC_identifier Drops an endpoint from an existing VC. The endpoint is removed from the VC and its resources deallocated. If the specified endpoint is the last one on the VC, the VC is also destroyed and all of its resources deallocated. Identifies the endpoint to be dropped. The endpoint_reference_id is the value that the signaling module provided when the endpoint was added to the VC. Use the atmconfig vclist long command to display all the endpoint references associated with a VC. Specifies the name (driver_name) of the driver as it registered with the system, followed by the unit number. For example lta0 for DGLTA unit 0. Specifies a VPI value to be used in looking up a VC. Any VPI value that is valid on the interface and network may be specified. Specifies a VCI value to be used in looking up a VC. Any VCI value that is valid on the interface and network may be specified. Specifies the local VC identifier that uniquely identifies a VC on the local system (among all interfaces). This value has local significance only and is used as a shorthand for referencing a VC. The VC ID can be obtained from the vclist command. This can be used in place of the VPI/VCI when specifying an existing VC.  

Destroying a PVC or VC

Syntax:

/usr/sbin/atmconfig {-pvc | -vc} {driver=driver_name
      vpi=vpi_value vci=vci_value | vcid=VC_identifier} Destroys an existing PVC (-pvc) or VC (-vc). The PVC or VC is disconnected from the convergence module to which it was attached and its resources deallocated. At this point, all data received for the PVC's or VC's VCI is discarded. Specifies the name (driver_name) of the driver as it registered with the system, followed by the unit number. For example lta0 for DGLTA unit 0. Specifies a VPI value to be used in looking up or creating a VC. Any VPI value that is valid on the interface and network may be specified. Specifies a VCI value to be used in looking up or creating a VC. Any VCI value that is valid on the interface and network may be specified. Specifies the local VC identifier that uniquely identifies a VC on the local system (among all interfaces). This value has local significance only and is used as a shorthand for referencing a VC. The VC ID can be obtained from the vclist command. This can be used in place of the VPI/VCI when specifying an existing VC.  

Creating and Removing an ESI

Syntax:

/usr/sbin/atmconfig {+esi | -esi} driver=driver_name
      {addr=ESI_value | esi=esi_number}

Configures (+esi) an ESI on or removes (-esi) an ESI from the system. The new ESI is registered with the system and with the local switch. This results in one or more (depending on the number of address prefixes assigned by the switch) ATM addresses being created.

When an ESI is removed, it is unregistered with the system and the local switch. This results in one or more ATM addresses getting distroyed. This also causes any VCs that currently use these addresses to be released. Specifies the name (driver_name) of the driver as it registered with the system, followed by the unit number. For example lta0 for DGLTA unit 0. Specifies the ESI part of an ATM address. ESI_value can be a series of hexadecimal digits or the name that appears in the /etc/atmhosts file. Any ESI value is permitted. It is up the signaling protocol to accept or reject the value. For UNI 3.0, only six-byte ESIs are valid. A full UNI 3.0 address can be registered by specifying a 19-byte ESI (prefix plus ESI) in cases where the switch does not support dynamic address registration.
 

Enabling and Disabling Vendor-Specific Flow Control

Syntax:

/usr/sbin/atmconfig {+vfc | -vfc} driver=driver_name Enables (+vfc) or disables (-vfc) vendor-specific flow control on the interface specified by the driver=driver_name argument. The specified interface must support this type of flow control. Specifies the name (driver_name) of the driver as it registered with the system, followed by the unit number. For example lta0 for DGLTA unit 0.  

Enabling and Disabling Synchronous Digital Hierarchy Mode

Syntax:

/usr/sbin/atmconfig {+sdh | -sdh | +sonet} driver=driver_name Enables (+sdh) or disables (-sdh | +sonet) Synchronous Digital Hierarchy (SDH) mode on ATM adapters that support both SONET and SDH physical interfaces. Specifies the name (driver_name) of the driver as it registered with the system, followed by the unit number. For example, lta0 for DGLTA unit 0.  

Processing Batch Commands in the ATM Configuration File

Syntax:

/usr/sbin/atmconfig source [file=file_name] Processes batch commands in the /etc/atm.conf file. If the file=filename argument is provided, batch commands are processed from the specified file. Specifies the path name of a file to be used as alternate input for a command. The path name is relative to the current working directory and should be a full path name.  

Suspending Batch File Execution

Syntax:

/usr/sbin/atmconfig wait state=up|down|oos
      driver=driver_name Instructs batch files to suspend execution until the driver specified in the driver=driver_name argument is either up, down, out-of-service (oos). Specifies the interface state for which to test. This argument is used in commands that check the state of an interface. up checks for the interface being enabled and in contact with the switch. down checks for the interface being disabled and out of contact with the switch. oos checks for the interface being enabled but not in contact with the switch (for example, the switch is down or the connection to the switch is broken). Specifies the name (driver_name) of the driver as it registered with the system, followed by the unit number. For example lta0 for DGLTA unit 0.  

DESCRIPTION

The atmconfig command configures ATM networking and displays information about the ATM networks. The command only controls the base ATM modules; it does not control specific device drivers, convergence modules, or signaling protocols.

The atmconfig command is used to enable and disable device drivers, create and destroy permanent virtual circuits (PVCs), destroy switched virtual circuits (SVCs), and create and destroy Endpoint System Identifiers (ESIs). It is also used to display the currently active VCs and driver status, and to batch process configuration files.  

Batch Files

Typically, you establish the system configuration only once. After that, you have some method by which this configuration is applied on every system boot. For ATM, this is accomplished using batch files.

Batch files are plain text files that contain commands atmconfig executes as if they were typed on the command line, except the atmconfig command name is not specified. All the commands and arguments that are available for command line execution are available in batch execution. Each line contains exactly one command or is a comment, beginning with a number sign (#). The atmconfig command will process entries in batch files sequentially, one line at a time, until the end of the file is reached. If any command fails, execution stops and atmconfig exits.

If the source command appears in a batch file, the specified batch file is processed and the processing of the current file is resumed at the next line. If a sourced batch file generates an error, atmconfig exits.

The atmconfig batch files can contain labels for use in conditional execution. Label definitions consist of the colon character (:) followed by one or more printable characters; only the first character following the colon is meaningful. For example, the labels this and that are considered identical, but the labels this and That are considered different. Labels are referenced using the label alone, without the colon. Labels are used only from the goto or call commands. Forward references are permitted.

The atmconfig command provides 52 variables with very simple variable manipulation and testing facilities. The variables have the following characteristics: Variables consist of any alphanumeric string, but are only significant to the first characters. Variables must begin with an alphabetic character but may contain any printable characters. The variables A through Z are signed longs (64 bits) and the variables a through z are unsigned longs (64 bits). Variables can be set to constant values, incremented, decremented, and tested against constant values. Variables are useful in implementing loops. Variables can only be used in if, set, increment, decrement, and print commands. All variables are initialized to 0 unless explicitly initialized using the set command.

Constants used in setting and comparing variables may be specified in decimal, octal, or hexadecimal. Octal numbers begin with 0 (zero). Hexadecimal numbers being with the string 0x, or 0X.

In addition to the atmconfig commands available from the command line, batch files can contain the following commands: Prints the arguments to the screen (standard out). Variables are printed by specifying the variable name preceded by a percent sign (%). If a string that starts with the percent sign must be printed, specifying two percent characters together (%%) at the start of a string prints a single percent sign. Suspends execution for the specified number of seconds. If the time argument is not supplied, the sleep period is 1 second. Runs the specified program with the supplied arguments; the full path name for the program should be used. The atmconfig command runs the program as a separate process and waits for the program to exit before continuing to the next line in the batch file. If the program exits with a status of other than 0, atmconfig exits, printing the program's exit status. Runs the specified program in background. The atmconfig command does not wait for the program to exit before continuing to the next line of the batch file. The exit status of the program is ignored. Halts the execution of the current batch file and starts the execution of the specified batch file. When the exec'ed batch file is finished, atmconfig exits. An new execution environment (variables and labels) is created for the new batch file. Runs the specified program with the supplied arguments; specify the full path for the program name. If the program exits with a status of 0, the line immediately after the if line is executed. If the program returns a non-0 status, the next line is skipped and execution of the batch file continues. If the specified program is not found, atmconfig prints an error message and exits. Runs the specified program with the supplied arguments; specify the full path for the program name. If the program exits with a non-0 status, the line immediately after the if line is executed. If the program returns a 0 status, the next line is skipped and execution of the batch file continues. This form is useful for handling failures of programs executed by the batch file. If the specified program is not found, atmconfig prints an error message and exits. Instructs atmconfig to continue execution at the line following the line on which the label is defined. Instructs atmconfig to continue execution at the line following the line on which the label is defined. Before atmconfig makes the branch, it saves the location of the next line to use as the implied branch location for the next return command. Calls may be nested. Subroutines have no special structure or meaning to atmconfig, so make sure that batch file execution does not fall into a subroutine. Instructs atmconfig to continue execution at the location saved by an associated call command. Halts execution of the current batch file and either returns to any calling batch files (if batch files have been nested using the source command) or causes atmconfig to exit. Sets the specified variable to the specified value. Value must be a constant (a numeric character string) and properly cast depending on the variable type. Adds 1 to the specified variable's current value, replacing the variables value with the result. Subtracts 1 from the specified variable's current value, replacing the variables value with the result. Compare the specified variable to the specified value using the specified operation. The value must be a constant (a numeric character string). If the comparison is TRUE, the next line in the batch file is executed. If the comparison is FALSE, the next line in the batch file is skipped. The value is cast as necessary depending on the variable type.

The op parameter must be one of the following: Evaluates as TRUE if variable is equal to value. Evaluates to TRUE if variable is not equal to value. Evaluates to TRUE if variable is greater than value. Evaluates to TRUE if variable is greater than or equal to value. Evaluates to TRUE if variable is less than value. Evaluates to TRUE if variable is less than or equal to value.
In general, do not use if commands as the conditional execution lines following another if command.
 

EXAMPLES

For example, the following lines implement a loop that counts from 1 to 10 and prints out each count: # The variable name is really 'c', not 'count', # and it is unsigned. set count 1 # The loop label name is really 'l', not 'loop'. :loop print %count increment count if ( count <= 10 ) goto loop print loop done

To handle errors from executed programs, use the ifnot command followed by a goto command: # Retry signaling 20 times or until it comes up # # The loop label name is really 'a', not 'again'. :again ifnot /usr/sbin/atmconfig up driver=lta0 goto sigfail print Signaling up. exit # The label name is really 's', not 'sigfail'. :sigfail # Count is used without being explicitly set. # Count is initialized to 0 by default so the first # reference returns a value of 0. The name of the # variable is really 'c', not 'count', and it is # unsigned. if ( count > 20 ) goto giveup print Signaling failed to initialize. print Trying again in 10 seconds. sleep 10 increment count goto again

# The label name is really 'g', not 'giveup'. :giveup print Signaling would not initialize. Taking down the interface. down driver=lta0 exit  

FILES

Default configuration batch file ATM address-to-host name mappings  

RELATED INFORMATION

Commands: atmsig(8)

Files: atm.conf(4), atmhosts(4)

Asynchronous Transfer Mode delim off


 

Index

NAME
SYNOPSIS
FLAGS
Connecting a Driver to the Network
Disconnecting a Driver From the Network
Displaying Driver Status
Reconfiguring a Driver
Displaying Active VCs
Displaying ATM Device Driver Information
Displaying ATM Convergence Module Information
Displaying ATM Signaling Module Information
Displaying ATM PPA Information
Displaying ATM ESI Information
Displaying ATM Bind Information
Creating a New PVC
Removing an Endpoint from a VC
Destroying a PVC or VC
Creating and Removing an ESI
Enabling and Disabling Vendor-Specific Flow Control
Enabling and Disabling Synchronous Digital Hierarchy Mode
Processing Batch Commands in the ATM Configuration File
Suspending Batch File Execution
DESCRIPTION
Batch Files
EXAMPLES
FILES
RELATED INFORMATION

This document was created by man2html, using the manual pages.
Time: 02:40:40 GMT, October 02, 2010