 |
» |
|
|
 |
|  |  |
This section describes how to create a TTGEN configuration
file for the ACC X.25 subsystem. That is, it discusses those parts
of the TTGEN that are specific to X.25 configuration. For a general
discussion of the TTGEN configuration file, you should consult the ACC
Utilities Reference Guide. This section assumes that
the reader has previously configured a ZCOM subsystem and is familiar
with the format and content of a TTGEN configuration file. The parts of the TTGEN configuration file relevant to X.25
are: Reserved logical data area definition Terminal definitions (for each X.25 link and virtual
circuit) Device Option Word definitions
Reserved Logical Data Area Definition |  |
An area in the logical terminal table extension (LTT) area
must be reserved for the zx25d driver
for the X.25 link terminal ZLUs. This reserved area must start from
byte zero in this LTT extension area. This reserved area will contain
the X.25 configuration, statistical data, and state information
for each X.25 link. The size of the area required by zx25d can be found by running zx25d_init (with or without the ZCOM system).
The zx25d driver displays its
revision code and the table area required in the ZCOM log file. The definition for the required reserved area is as follows: logical-data 10 X25CNT 0 X25CNT_LDSIZE
"10" is the application number for the X.25
link terminals. If it is necessary to configure call user data for any outgoing
calls from X.25 switched virtual circuits, then it will also be
necessary to define another logical data area for the application
number of these terminals. A definition for the X25UDT Logical-Data area is required if
the Udata subparameter is specified
for any virtual circuit terminal definition statement. Note that
this definition is not needed if the call user data will always
be supplied as a parameter in the zx25...() routines or if no call
user data is being sent. This definition, if required, is as follows: logical-data app X25UDT 0 20
The app number is the
application number parameter from the virtual circuit terminal definition
statement. If multiple terminals with different application numbers
require call user data, then the X25UDT should be allocated globally
by specifying application zero (0). The storage could be allocated at any valid offset within
the logical terminal table extension area. In the example it is
allocated at the first available byte (0). The minimum size of 20
bytes should be used (16 bytes for a fixed-size call user data buffer,
plus two bytes in the front of the buffer for a count of the actual
number of bytes used in the call user data buffer, plus two bytes
at the end for data structure alignment purposes). If more than
16 bytes of call user data is needed, you must supply it as a parameter
in the zx25...() routines. You could also define X25UDT to be bigger
than 20 bytes. That would allow you to store Ldata entries
after the Udata in this same
X25UDT Logical-Data area. Interface Definitions |  |
A Mux definition line appears in the TTGEN configuration file
for each multiplexer that will have X.25-connected terminals configured
on it. The firmware file that is used for ACC cards using X.25 is
different from the firmware files that are used for other protocols.
It is possible, however, to use other protocols with X.25 on a single
ACC card, provided the firmware file has been customized to include
those other protocols. Refer to the ACC Installation
and Configuration Guide for more information on creating
firmware files for multiple protocols. Several sample interface definitions are as follows: Z7200A 0 0:4 /opt/acc/z7200a/x25.zabs /* 8-port card */ Z7350A 0 2:16 /opt/acc/z7350a/x25.zabs /* 2-port card */ Z7300A 2 0:8 /opt/acc/z7300a/x25.zabs /* 4-port E1/T1 */
The ".zabs" firmware
file must have at least the X.25 and LAP-B protocol modules loaded
into it, and it may contain other protocol modules. Refer to the
TTGEN section of the ACC Utilities Reference Guide for
more information on specifying the Mux number, bus, and slot parameters. Port Definitions |  |
On 2-port or 8-port cards, the ports used for X.25 must be
defined as operating in SDLC mode. They will normally be defined
with an external (modem supplied) clock; however, especially for
a DCE link terminal, an internal (card supplied) clock may be used.
With an external (modem supplied) clock, the speed is for documentation
purposes only, and will not be used by the ZCOM subsystem. The clock multiplier should be x1, and the encoding mode will
normally be NRZ. A sample z7200a port definition for X.25 is as follows: Port 01:4 RS232 9600 Ext SDLC x1 NRZ
A sample z7300a port definition for X.25 is as follows: Port 00:2 E1RJ45 Ext CRCMF HDB3
Refer to the TTGEN section of the ACC Utilities
Reference Guide for more information on specifying the
port parameters. X.25 Link Term Definitions |  |
Each port or E1/T1 subchannel to be used for X.25 must have
one (and only one) X.25 link terminal defined. The link terminal
defines the parameters for the HDLC/LAP-B protocol (level 2 of X.25),
as well as defining some parameters related to the X.25 subscription,
and global default parameters for all virtual circuits on this port. The X.25 link terminal is defined by a TERM definition entry.
Physically, the TERM definition for the link terminal must precede the virtual circuit definitions
for each port. A sample X.25 link terminal definition line is as
follows: Term 0100 01:4 X25.LAPB X25_LINK_DTE_400 ~ 10 0 0 0 0 CALL:226633004 "X25 DTE POS 226633004" * no_autostart option 02h last_pvc 3 first_insvc 4 last_insvc 6 first_svc 9 last_svc 12 first_outsvc 14 last_outsvc 15 def_inpacket 7 def_outpacket 7 def_inwindow 2 def_outwindow 2 T1_timer res_100ms 4 T2_timer res_10ms 20 T3_T4_timer res_10s 4
Note that the "no_autostart" parameter
is commented out which means that when the zx25d_init program
is used to initialize the X.25 subsystem, the X.25 link will automatically
be enabled. The application program would otherwise be responsible
for establishing the X.25 link (by enabling the link ZLU). This terminal definition defines an X.25 link terminal with
ZLU 100 on ACC interface 1 port 4. It is configured as an X.25 DTE
with T1 value of 400 milliseconds. The local subscription address
is 226633004. In this example, the Logical Channel Number ranges
are: PVCs | - 1 to 3 | One-Way Incoming | - 4 to 6 | Two-Way | - 9 to 12 | One-Way Outgoing | - 14 to 15 |
Logical Channels 7, 8, 13, and 16 to 4095 are unassigned.
Note that these ranges are from the DTE's point-of-view.
For more information, refer to the X.25 standard. SVCs on this link have the inbound and outbound packet size
set to 7 (128 bytes) and the inbound and outbound window size set
to 2. These are the default parameters for the SVCs on this link,
and they can be altered for an individual SVC at call setup through
facilities negotiation. The equivalent parameters for PVCs are individually
specified in the PVC's poll/select configuration bytes. The T1, T2 and T4 timers have all been preconfigured for this
link. They have been set to: | T1 - 400 milliseconds | | T2 - 200 milliseconds | | T4 - 40 seconds |
 |  |  |  |  | NOTE: In this case the "T3_T4_time" parameter
sets the T4 timer because this link is a DTE. |  |  |  |  |
The Terminal-Definition takes the following general format: Term zlu mux:port:subc device poll select appl_no inst_no brch_no wkst_no hunt_no name <option> <Link keyword> <value>
More specific information on the parameters in the link terminal definition
follows. - zlu
This number (100 in the example) assigns a unique reference
number for this X.25 link, which is used by the ZCOM X.25 software
to relate errors displayed to a specific X.25 link. The ZLU number
is also used in the ZCOM X.25 API calls to control and configure
a specific X.25 link. - mux:port:subc
The Mux must have been defined in a Mux Definition statement.
The port must have been defined in a Port Definition statement.
The ":subc" information must be supplied for a
4-port E1/T1 card and should be omitted for all other card types.
The subc must have been defined in a Subch Definition statement. - device
The device type of the X.25 link terminal must be X25.LAPB. - poll/select
The 'POLL' and 'SELECT' parameters
for the ZCOM terminal definition. These are used to specify: whether the link acts as a DTE or
DCE, whether to use the 1980 or 1984/1988 X.25 standard, the maximum L3 incoming packet size, whether or not to reset L2 if CTS or DCD is dropped, the T1 and T2 timeout values, the frame level window size, and
The cnfg parameters may
be specified either by using predefined keywords (e.g., X25_LINK_DTE_400)
or by using two hexadecimal values. Refer to the section “Configuration Parameters Definition” below for more information. - appl. no.
For the X.25 link terminal to be recognized by the
ACC X.25 subsystem, the value '10' must be entered
as the application number. - inst. no.
Not relevant for an X.25 link terminal. - brch. no.
Not relevant for an X.25 link terminal. - wkst. no.
Not relevant for an X.25 link terminal. - hunt. no.
Must be set to zero. - call
For a DTE - This is the (optional) local subscription address. For a DCE - This is the subscription address of the remote
system on this physical link. - name
Choose a meaningful description of the X.25 subscription,
preferably including the local subscription address. This field
is used in some ZMNTR displays. - no_autostart
Used to prevent automatic startup of the X.25 link (HDLC/LAP-B). - option
Option Word Override (optional) This keyword allows you to override the default value of the
option word for the link terminal. The available options are covered
in the section "Device Option Word Definitions" below.
 |  |  |  |  | NOTE: The following X.25 link keywords are case sensitive
and, if used, must be specified exactly as indicated, one per line. |  |  |  |  |
- last_pvc
Highest PVC Logical Channel Number - Default is
0 (e.g. no PVCs). Maximum value is 255. If this has a value other than zero, all the Logical Channels
from one (1) to this value are to be used for PVCs. Refer to “LCN Assignment Constraints” below. - first_insvc
Lowest Incoming SVC Logical Channel Number - Default
is 0. Refer to “LCN Assignment Constraints” below. - last_insvc
Highest Incoming SVC Logical Channel Number - Default
is 0. If these have a value other than zero, all the Logical Channels
from first_insvc to last_insvc can be used for CALLs
to be made from the DCE to the DTE only. - first_svc
Lowest Two-way SVC Logical Channel Number - Default
is 1. - last_svc
Highest Two-way SVC Logical Channel Number - Default
is 15. If these have a value other than zero, all the Logical Channels
from first_svc to last_svc can be used for CALLs to
be made in either direction. - first_outsvc
Lowest Outgoing SVC Logical Channel Number - Default
is 0. - last_outsvc
Highest Outgoing SVC Logical Channel Number - Default
is 0. If these have a value other than zero, all the Logical Channels
from first_outsvc to last_outsvc can be used for CALLs
to be made from the DTE to the DCE only. - def_inpacket
Default Inbound SVC Packet Size. Default is 0. - def_outpacket
Default Outbound SVC Packet Size. Default is 0. The parameter supplied here is used to configure the SVC packet
size unless overridden at call setup by facility negotiation. The
packet sizes (bytes) which correspond to these parameters are as
follows: 0 - 128 | | 8 - 256 | 1 - Reserved | | 9 - 512 | 2 - Reserved | | 10 - 1024 | 3 - Reserved | | 11 - 2048 | 4 - 16 | | 12 - 4096 | 5 - 32 | | 13 - Reserved | 6 - 64 | | 14 - Reserved | 7 - 128 | | 15 - 240 |
- def_inwindow
Default Inbound SVC Window Size. Default is 7. - def_outwindow
Default Outbound SVC Window Size. Default is 7.
The parameter supplied here is used to configure the SVC window
size unless overridden at call setup by facility negotiation. The
window size must be in the range one (1) to seven (7). - T1_timer
Optional override configuration for T1. If this parameter
is not supplied, T1 is set from the Select Word configured for the
Link terminal. If this parameter is supplied then other options
and configuration parameters have no affect on the T1 timer. Two
parameters must be supplied with this keyword, the resolution (one
of: res_10ms, res_100ms, res_1s, or res_10s) and the multiplier
(an integer in the range 2 to 255). - T2_timer
Optional override configuration for T2. If this parameter
is not supplied, T2 is set from the Select Word configured for the
Link terminal. If this parameter is supplied then other options
and configuration parameters have no effect on the T2 timer. Two
parameters must be supplied with this keyword, the resolution (one
of: res_10ms, res_100ms, res_1s, or res_10s) and the multiplier
(an integer in the range 2 to 255). - T3_T4_timer
Optional override configuration for T3/T4. If this parameter
is not supplied, T3/T4 is set automatically, depending on the "DCE/DTE" and "T3" options.
If this parameter is supplied then other options and configuration
parameters have no affect on the T3/T4 timer. Two parameters must
be supplied with this keyword, the resolution (one of: res_10ms,
res_100ms, res_1s, or res_10s) and the multiplier (an integer in
the range 2 to 255). If the Link is configured as a DTE then this
parameter sets the T4 timer. If the Link is configured as a DCE
then this parameter sets the T3 timer.
LCN Assignment ConstraintsThe Logical Channel Number (LCN) assignment table is used
to indicate which channel numbers to use for PVCs and the different
types of SVCs. The table is always specified from the perspective
of the DTE, even if the link has been configured as a DCE. When
assigning the last_pvc, first_insvc, last_insvc,
etc. parameters, the following constraints apply: The range of values that may be used
for LCNs is 1 to 4095. The maximum number of LCNs that can be in use at
one time on each X.25 link is 254 on the Z7200A, Z7400A, and Z7350A
interface cards. On all other ACC cards, up to 1023 LCNs may be
used on each X.25 link. The PVC LCNs must start at 1. The LCN ranges that are assigned for PVCs, one-way
incoming SVCs, two-way SVCs, and one-way outgoing SVCs must not
overlap. The LCN assignment table specified must agree exactly with the LCN assignments
used for the DXE. When defining your Virtual Circuit ZLUs, you must
not define more VCs of a given type than declared in the LCN assignment
table.
Configuration Parameters DefinitionThe following configuration values are currently defined for
use in X.25 configuration as a replacement for the POLL and SELECT
address fields. These values are used as a symbolic way of configuring
the associated two 16-bit hexadecimal values. For example, X25_LINK_DTE_400 can
be used to set the POLL address to 0x800a, and the SELECT address
to 0x146a. If a particular desired configuration value is not provided
by these values, then two hexadecimal values can be used instead. X25_LINK_DTE_400 800Ah 146Ah X25_LINK_DCE_400 000Ah 146Ah X25_LINK_DTE_1600 800Ah 486Ah X25_LINK_DCE_1600 000Ah 486Ah
The POLL and SELECT words configure the following parameters
for the X.25 Link (terminal type 25) configuration: T1,T2 | L2 acknowledgment timers | DTE/DCE | Operating mode - DTE or DCE | 80/84 | X.25 revision selection | L2E | Modulo 8 or 128 transmit sequence numbering | CTS | Ignore CTS and DCD signals (to avoid
L2 reset if one or both of these signals is not stable). | K | Frame level transmit (Tx) window | N2 | Number of transmit (Tx) retries allowed | Max_inpacket | Largest L3 packet size on this link subscription
parameters |
They are formatted in the POLL and SELECT words as follows: POLL Word for an X.25 Link Configuration15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | T/C | 80 | CTS | NC | T3 | L2E | IUF | 0 | Extended K | Max_inpact |
T/C : | 0 | Port to act as DCE | | 1 | Port to act as DTE | 80 : | 0 | X.25 1984/1988 standard | | 1 | X.25 1980 standard | CTS : | 0 | L2 Reset if CTS or DCD dropped | | 1 | L2 not Reset | ND : | 0 | No Enforced D-Bit negotiation in ITU-T 1984/88 Configurations | | 1 | Enforce D-Bit negotiation in ITU-T 1984/88 Configurations | T3 : | 0 | T3 not in use | | 1 | If T/C=0 (i.e. DCE) then T3 timer will
operate. | | | Note: If the T3_T4_timer parameter is
specified, then the T3/T4 timer will be enabled regardless of the setting
of this bit. | L2E : | 0 | L2 Modulo 8 sequence numbering | | 1 | L2 Modulo 128 sequence numbering | | | Note: If L2E is 1, then the window size
(K) is taken from the "Extended K" field (providing
bits 6 through 3) combined with "K" from the select
work (providing bits 2 through 0). | IUF : | 0 | Normal error handling (level 2 link reset)
on receipt of unsolicited response frame with F=1. | | 1 | Ignore F=1 (treat as if F=0) for any
unsolicited response frames with F=1. | Extended K : | | When level 2 modulo 128 sequence number
is selected by setting L2E to 1, the level 2 window size is specified by
combining "Extended K" (providing the most significant
bits 6 through 3) with "K" from the select word
(providing the least significant bits 2 through 0). The allowable
values for the level 2 window size with modulo 128 operation is
from 1 to 127. | | | CAUTION: Choosing
large values for the window size may cause the interface card to
run low on transmit buffers. | Max_inpacket
: | | The maximum L3 packet size expected on
this link. The table below shows the valid max_inpacket parameter
values in the left column and the corresponding maximum L3 packet
size in the right column. |
Valid max_inpacket
Parameter Value | Maximum L3 Packet
Size | 0 - 128 | 8 - 256 | 1 - Reserved | 9 - 512 | 2 - Reserved | 10 - 1024 | 3 - Reserved | 11 - 2048 | 4 - 16 | 12 - 4096 | 5 - 32 | 13 - Reserved | 6 - 64 | 14 - Reserved | 7 - 128 | 15 - 240 |
Select Word for an X.25 Link Configuration15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | T2 Res | T2 Timer (1-63) | K (1-7) | N2 (1-31) |
T2 Res | 0-3 | T2 timer resolution value | | | 0 1 2 3 | 10 ms 100 ms 1 Sec 10
Secs | T2 Timer | 1-63 | Set Timer 2 to value given
(1 to 63), and Set Timer 1 to value given * 2 (2 to 126). Note that
0 is an error and is not allowed. | K | 1-7 | L2 Window size values 1
to 7 allowed. Note that 0 is an error and is not allowed. When using
modulus 128 operation at level 2 (with L2E set to 1), this field provides
the least significant three bits of the window size, and all values
are allowable. See "Extended K" field description | N2 | 1-31 | Level 2 retry counter, values
1-31 allowed. Note that 0 is an error and is not allowed. |
Hunt groups are not supported by the zx25d driver. X.25 Link Device Option Word Definition |  |
The option word for the X.25 link (LAP-B) terminal defines: The default D-bit
enable setting for automatic call generation. Whether to use the T25 timer (on outstanding DATA
packets). Whether to complete transmitted messages immediately
or wait for acknowledgment. Whether incomplete received data packet sequences
can be sent up to the receiving application. Whether to hold acknowledgments for the received
packets until the window is full. The type of level 3 RR (acknowledgment) policy to
follow.
The format of the option word for an X.25 link (LAP-B) terminal
ZLU is as follows. 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Not Used (must be 0) | UFR | DBT | T25 | NTX | IRX | HLD | RRP | 0 |
- UFR
The UFR bit, if set, causes the X.25 link to be
reset whenever a Supervisory Response frame is received with F =
1 (an unsolicited final response). Otherwise the F bit is treated
as it is set to zero and the link is not reset. - DBT
The D-bit default applies only if no overriding
value is specified in the definition of the virtual circuit. Refer
to the section on “D-Bit Handling” in Chapter 4 “X.25 Application Programming” for more information. - T25
The "T25 Disable" option is used
to disable timeouts on transmitted DATA packets. The T25 timer is
an optional feature of X25. - NTX
The "No Tx Wait" option for transmitted
messages is used to reduce the number of transmit buffers used on the
Mux to hold unacknowledged messages. This helps to avoid running
out of buffer space on the Mux in a system with a combination of
many logical channels, many transmitted messages, delayed responses
from the network, and/or a large window size. It is recommended
that this bit always be set. - IRX
The "Incomplete Rx Message" option
is for use on Muxes with high loads (that is, many logical channels and/or
large messages) and allows the Mux to send partially complete messages
to the application with a "More" bit set in the
tag byte (bit 4), thus reducing the demand on receive buffers in
the Mux. If this bit is not set, the theoretical maximum sized message
that can be received is approximately 22K bytes in length. This bit
must be set if messages larger than this are received on a VC. Note
that the operational maximum sized message may be considerable less
than 22K bytes depending on many other configuration factors. In
most cases, this bit should be set. - HLD
The "Hold Acknowledgments" option
results in Level-3 acknowledgments for received packets being suppressed
until the Rx window is full. Setting this bit also prevents a Level-3
acknowledgment when the T2 timer expires. - RRP
This bit controls the Level-3 acknowledgment (RR) policy
following by the X.25 firmware. If this bit is set to 0, a Level-3
acknowledgment is generated for every inbound data packet. If this
bit is set to 1, the firmware attempts to minimize the number of
Level-3 acknowledgments that are sent.
 |  |  |  |  | WARNING! The "Hold Acknowledgments" option
may cause the remote device to time-out if it has the T25 timer
running. |  |  |  |  |
The default Option Word for X25.LAPB is defined in /opt/acc/cfg/zcomdevice.txt to be
2. Refer to the ACC Utilities Reference Guide,
chapter on ZDGEN, for more information on changing this default value.
|