仅连接方式 DLPI 驱动程序与无连接/面向连接的 DLPI 驱动程序

本部分仅说明了无连接方式 DLPI 驱动程序与无连接/面向连接的 DLPI 驱动程序。

注意:
  1. 出于二进制兼容性目的,没有为面向连接的函数添加新的统计信息。 将在操作系统的未来发行版中提供面向连接的功能的统计信息。
  2. 出于二进制兼容性目的,在消息中提供了用于混合方式和原始方式的 DL_UNITDATA_IND 头。 请注意,在操作系统的未来发行版中将除去此头。
    以下样本代码片段与 DLPI 的 4.1 和更高版本配合使用:
    
    if (raw_mode) {
            if (mp->b_datap->db_type == M_PROTO) {
                    union DL_primitives *p;
                    p = (union DL_primitives *)mp->b_rptr;
                    if (p->dl_primitive == DL_UNITDATA_IND) {
                            mblk_t *mpl = mp->b_cont;
                            freeb(mp);
                            mp = mpl;
                    }
            }
    } 
    

    以上代码片段将废弃 DL_UNITDATA_IND 头。 为了与未来发行版兼容,建议您自行解析框架。 对于混合方式和原始方式, MAC 和 LLC 头都显示在 M_DATA 消息中。

    原始方式当前接受但不需要 DL_UNITDATA_REQ。 在操作系统的未来发行版中,原始方式将不接受 DL_UNITDATA_REQ; 仅接受 M_DATA

dlpi 驱动程序通过基于 CDLI 的介质 802.3,令牌环和 FDDI 支持面向 802.2 连接的服务。 如果介质实现遵循 IEEE 802.x 建议,那么可以支持其他基于 CDLI 的介质。

DL_OUTPUT_RESOLVEDL_INPUT_RESOLVE ioctl 命令将替换当前流的缺省地址解析例程。 不再从用户空间接受它们; 消息类型必须是 M_CTL (而不是 M_IOCTL) ,并且只有在绑定流之前才接受它们。 仅当 DL_INPUT_RESOLVE 的自变量为零时,才接受它作为 M_IOCTL 消息; 这允许用户禁用输入地址解析。 不能禁用输出地址解析-如果需要对介质进行透明访问,请使用原始方式。

DL_PKT_FORMAT ioctl 命令现在识别并处理以下包格式: NS_PROTONS_PROTO_SNAPNS_PROTO_DL_DONTCARENS_PROTO_DL_COMPATNS_INCLUDE_LLCNS_INCLUDE_MAC

现在支持新的 ioctl 命令: DL_ROUTEDL_TUNE_LLCDL_ZERO_STATSDL_SET_REMADDR。 请参阅 ioctl 细节