[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]
Communications Programming Concepts

DLC8023 Programming Interfaces

The IEEE 802.3 Ethernet data link control (DLC8023) device manager conforms to generic data link control (GDLC) guidelines, except as follows:

Note: The dlc prefix is replaced with the e3l prefix for the DLC8023 device manager.
e3lclose DLC8023 is fully compatible with the dlcclose GDLC interface.
e3lconfig DLC8023 is fully compatible with the dlcconfig GDLC interface. No initialization parameters are required.
e3lmpx DLC8023 is fully compatible with the dlcmpx GDLC interface.
e3lopen DLC8023 is fully compatible with the dlcopen GDLC interface.
e3lread DLC8023 is compatible with the dlcread GDLC interface, under the following conditions:
  • The readx subroutines can have DLC8023 data link header information prefixed to the I-field. The data can be passed to the application in the user-defined readx subroutine data link header length extension parameter in the gdl_io_ext structure.
  • If this field has a nonzero value, DLC8023 copies the data link header and the I-field to user space and sets the actual length of the data link header in the length field.
  • If the field has a value of 0, no data link header information is copied. See the DLC8023 Frame Encapsulation figure for more details.

The following kernel receive packet function handlers always have the DLC8023 data link header information in the communications memory buffer (mbuf), and can locate this information by subtracting the length passed in the gdl_io_ext structure from the data offset field.

e3lselect DLC8023 is fully compatible with the dlcselect GDLC interface.
e3lwrite DLC8023 is compatible with the dlcwrite GDLC interface. The exceptions are that network data can only be written as an unnumbered information (UI) packet and must have the complete data link header prefixed. DLC8023 verifies that the local, or source, service access point (SAP) is enabled and that the control byte is UI (0x03). See the DLC8023 Frame Encapsulation for more details.
e3lioctl DLC8023 is compatible with the dlcioctl GDLC interface, with conditions on the following operations:

The following sections describe these conditions.

DLC_ENABLE_SAP

The ioctl subroutine argument structure to enable a SAP (dlc_esap_arg) has the following specifics:

DLC_START_LS

The ioctl subroutine argument structure specifics to start a link station (dlc_sls_arg) are as follows:

DLC_ALTER

The ioctl subroutine argument structure for altering a link station (dlc_alter_arg) has the following specifics:

DLC_QUERY_SAP

The device driver-dependent data returned from DLC8023 for this ioctl operation is the ent_ndd_stats_t structure defined in the /usr/include/sys/cdli_entuser.h file.

DLC_QUERY_LS

No protocol-specific data area is supported by DLC8023 for this ioctl operation.

DLC_ENTER_SHOLD

The enter_short_hold option is not supported by the DLC8023 device manager.

DLC_EXIT_SHOLD

The exit_short_hold option is not supported by the DLC8023 device manager.

DLC_ADD_GROUP

The add_group, or multicast address, option is supported by the DLC8023 device manager. It is a six-byte value as described previously in the DLC_ENABLE_SAP (group address) ioctl operation.

DLC_ADD_FUNC_ADDR

The add_functional_address option is not supported by DLC8023.

DLC_DEL_FUNC_ADDR

The delete_functional_address option is not supported by DLC8023.

DLC_DEL_GRP

The delete group or multicast option is supported by the DLC8023 device manager. The address being removed must match an address that was added with a DLC_ENABLE_SAP or DLC_ADD_GRP ioctl operation.

IOCINFO

The returned ioctype variable is defined as a DD_DLC definition, and the subtype returned is DS_DLC8023.


[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]