[ Previous | Next | Table of Contents | Index | Library Home |
Legal |
Search ]
Communications Programming Concepts
The Standard Ethernet data link
control (DLCETHER) conforms to the generic data link control (GDLC) guidelines
except as follows:
Note: The
dlc prefix is replaced with the edl prefix for the
DLCETHER device manager.
edlclose
| DLCETHER is fully compatible with the dlcclose GDLC interface.
|
edlconfig
| DLCETHER is fully compatible with the dlcconfig GDLC interface. No
initialization parameters are required.
|
edlmpx
| DLCETHER is fully compatible with the dlcmpx GDLC interface.
|
edlopen
| DLCETHER is fully compatible with the dlcopen GDLC interface.
|
edlread
| DLCETHER is compatible with the dlcread
GDLC interface with the following conditions:
- The readx subroutines
can have DLCETHER data link header information prefixed to the I-field being
passed to the application. This is optional based on the
readx subroutine data link header length extension
parameter in the gdl_io_ext structure.
- If this field is nonzero, DLCETHER copies the data
link header and the I-field to user space and sets the actual length of the
data link header into the length field.
- If the field is 0, no data link header information is
copied to user space. See the DLCETHER
Frame Encapsulation figure for more details.
|
The following kernel receive
packet subroutines always have the DLCETHER data link header information
within the communications memory buffer (mbuf) and can locate it by
subtracting the length passed (in the gdl_io_ext structure) from
the data offset field of the mbuf structure.
edlselect
| DLCETHER is fully compatible with the dlcselect GDLC interface.
|
edlwrite
| DLCETHER is compatible with the dlcwrite
GDLC interface with the exception that network data can only be written as an
unnumbered information (UI) packet and must have the complete data link header
prefixed to the data. DLCETHER verifies that the local (source) service
access point (SAP) is enabled and that the control byte is UI (0x03).
See the DLCETHER Frame Encapsulation figure
|
edlioctl
| DLCETHER is compatible with the dlcioctl GDLC interface with
conditions on these operations (described in the following sections):
|
The ioctl subroutine
argument structure for enabling a SAP (dlc_esap_arg) has the
following specifics:
- The grp_addr field is a
6-byte value as specified in the draft IEEE Standard 802.3
specifications. Octet grp_addr[0] specifies the most significant byte
and octet grp_addr[5] specifies the least significant byte. Each octet
of the address field is transmitted, least significant bit first. Group
addresses sometimes are called multicast addresses. An example of an
group address follows:
0x0900_2B00_0004
Note: No checks are made by the DLCETHER device manager as to
whether a received packet was accepted by the adapter due to a preset network
address or group address.
- The max_ls (maximum link
station) field cannot exceed a value of 255.
- The following common SAP
flags are not supported:
ENCD
| Indicates a synchronous data link control (SDLC) serial encoding.
|
NTWK
| Indicates a teleprocessing network type.
|
LINK
| Indicates a teleprocessing link type.
|
PHYC
| Indicates a physical network call (teleprocessing).
|
ANSW
| Indicates a teleprocessing autocall and autoanswer.
|
- Group SAPs are not
supported, so the num_grp_saps (number of group SAPs) field must be set to
0.
- The laddr_name (local
address and name) field and its associated length are only used for name
discovery when the common SAP flag ADDR field is set to 0.
When resolve procedures are used (that is, the ADDR flag is set to
1), DLCETHER obtains the local network address from the device handler and not
from the dlc_esap_arg structure.
- The local_sap (local service
access point) field can be set to any value except the null SAP (0x00) or the
name-discovery SAP (0xFC). Also, the low-order bit must be set to 0
(B`nnnnnnn0') to indicate an individual address.
- No protocol-specific data
area is required for the DLCETHER device manager to enable a SAP.
The ioctl subroutine
argument structure for starting a link station (dlc_sls_arg) has
the following specifics:
- These common link station
flags are not supported:
STAT
| Indicates a station type for SDLC.
|
NEGO
| Indicates a negotiable station type for SDLC.
|
- The raddr_name (remote
address or name) field is used only for outgoing calls when the
DLC_SLS_LSVC common link station flag is active.
- The maxif (maximum I-field)
length can be set to any value greater than 0. See the DLCETHER Frame Encapsulation figure for
supported byte lengths. The DLCETHER device manager adjusts this value
to a maximum of 1493 bytes if set too large.
- The rcv_wind (receive
window) field can be set to any value between 1 and 127, inclusive. The
recommended value is 127.
- The xmit_wind (transmit
window) field can be set to any value between 1 and 127, inclusive. The
recommended value is 26.
- The rsap (remote SAP) field
can be set to any value except null SAP (0x00) or the name-discovery SAP
(0xFC). Also, the low-order bit must be set to 0
(B`nnnnnnn0') to indicate an individual address.
- The max_repoll field can be
set to any value between 1 and 255, inclusive. The recommended value is
8.
- The repoll_time field is
defined in increments of 0.5 seconds and can be set to any value
between 1 and 255, inclusive. The recommended value is 2, giving a
time-out duration of 1 to 1.5 seconds.
- The ack_time (acknowledgment
time) field is defined in increments of 0.5 seconds and can be set to
any value between 1 and 255, inclusive. The recommended value is 1,
giving a time-out duration of 0.5 to 1 second.
- The inact_time (inactivity
time) field is defined in increments of 1 second, and can be set to any value
between 1 and 255, inclusive. The recommended value is 48, giving a
time-out duration of 48 to 48.5 seconds.
- The force_time (force halt
time) field is defined in increments of 1 second, and can be set to any value
between 1 and 16383, inclusive. The recommended value is 120, giving a
time-out duration of approximately 2 minutes.
- No protocol-specific data
area is required for the DLCETHER device manager to start a link
station.
The ioctl subroutine
argument structure for altering a link station (dlc_alter_arg) has
the following specifics:
- These alter flags are not
supported:
RTE
| Alters routing.
|
SM1, SM2
| Sets synchronous data link control (SDLC) control mode.
|
- No protocol-specific data
area is required for the DLCETHER device manager to alter a link
station.
The device driver-dependent data
returned from DLCETHER for this ioctl operation is the
ent_ndd_stats_t structure defined in the
/usr/include/sys/cdli_entuser.h file.
No protocol-specific data area is
supported by DLCETHER for this ioctl operation.
The enter_short_hold
option is not supported by the DLCETHER device manager.
The exit_short_hold
option is not supported by the DLCETHER device manager.
The add_group or
multicast address option is supported by the DLCETHER device manager as a
six-byte value as described above in DLC_ENABLE_SAP (group address)
ioctl operation.
The
add_functional_address option is not supported by DLCETHER.
The
delete_functional_address option is not supported by
DLCETHER.
The delete group or multicast
option is supported by the DLCETHER device manager. The address being
removed must match an address that was added with a DLC_ENABLE_SAP
or DLC_ADD_GRP ioctl operation.
The ioctype variable
returned is defined as DD_DLC definition and the subtype returned
is DS_DLCETHER.
[ Previous | Next | Table of Contents | Index |
Library Home |
Legal |
Search ]