1*a513d962SSun yuxi.. SPDX-License-Identifier: GPL-2.0 2*a513d962SSun yuxi 3*a513d962SSun yuxi.. include:: ../disclaimer-zh_CN.rst 4*a513d962SSun yuxi 5*a513d962SSun yuxi:Original: Documentation/networking/generic-hdlc.rst 6*a513d962SSun yuxi 7*a513d962SSun yuxi:翻译: 8*a513d962SSun yuxi 9*a513d962SSun yuxi 孙渔喜 Sun yuxi <sun.yuxi@zte.com.cn> 10*a513d962SSun yuxi 11*a513d962SSun yuxi========== 12*a513d962SSun yuxi通用HDLC层 13*a513d962SSun yuxi========== 14*a513d962SSun yuxi 15*a513d962SSun yuxiKrzysztof Halasa <khc@pm.waw.pl> 16*a513d962SSun yuxi 17*a513d962SSun yuxi 18*a513d962SSun yuxi通用HDLC层当前支持以下协议: 19*a513d962SSun yuxi 20*a513d962SSun yuxi1. 帧中继(支持ANSI、CCITT、Cisco及无LMI模式) 21*a513d962SSun yuxi 22*a513d962SSun yuxi - 常规(路由)接口和以太网桥接(以太网设备仿真)接口 23*a513d962SSun yuxi 可共享同一条PVC。 24*a513d962SSun yuxi - 支持ARP(内核暂不支持InARP,但可通过实验性用户空间守护程序实现, 25*a513d962SSun yuxi 下载地址:http://www.kernel.org/pub/linux/utils/net/hdlc/)。 26*a513d962SSun yuxi 27*a513d962SSun yuxi2. 原始HDLC —— 支持IP(IPv4)接口或以太网设备仿真 28*a513d962SSun yuxi3. Cisco HDLC 29*a513d962SSun yuxi4. PPP 30*a513d962SSun yuxi5. X.25(使用X.25协议栈) 31*a513d962SSun yuxi 32*a513d962SSun yuxi通用HDLC仅作为协议驱动 - 必须配合具体硬件的底层驱动 33*a513d962SSun yuxi才能运行。 34*a513d962SSun yuxi 35*a513d962SSun yuxi以太网设备仿真(使用HDLC或帧中继PVC)兼容IEEE 802.1Q(VLAN)和 36*a513d962SSun yuxi802.1D(以太网桥接)。 37*a513d962SSun yuxi 38*a513d962SSun yuxi 39*a513d962SSun yuxi请确保已加载 hdlc.o 和硬件驱动程序。系统将为每个WAN端口创建一个 40*a513d962SSun yuxi"hdlc"网络设备(如hdlc0等)。您需要使用"sethdlc"工具,可从以下 41*a513d962SSun yuxi地址获取: 42*a513d962SSun yuxi 43*a513d962SSun yuxi http://www.kernel.org/pub/linux/utils/net/hdlc/ 44*a513d962SSun yuxi 45*a513d962SSun yuxi编译 sethdlc.c 工具:: 46*a513d962SSun yuxi 47*a513d962SSun yuxi gcc -O2 -Wall -o sethdlc sethdlc.c 48*a513d962SSun yuxi 49*a513d962SSun yuxi请确保使用与您内核版本匹配的 sethdlc 工具。 50*a513d962SSun yuxi 51*a513d962SSun yuxi使用 sethdlc 工具设置物理接口、时钟频率、HDLC 模式, 52*a513d962SSun yuxi若使用帧中继还需添加所需的 PVC。 53*a513d962SSun yuxi通常您需要执行类似以下命令:: 54*a513d962SSun yuxi 55*a513d962SSun yuxi sethdlc hdlc0 clock int rate 128000 56*a513d962SSun yuxi sethdlc hdlc0 cisco interval 10 timeout 25 57*a513d962SSun yuxi 58*a513d962SSun yuxi或:: 59*a513d962SSun yuxi 60*a513d962SSun yuxi sethdlc hdlc0 rs232 clock ext 61*a513d962SSun yuxi sethdlc hdlc0 fr lmi ansi 62*a513d962SSun yuxi sethdlc hdlc0 create 99 63*a513d962SSun yuxi ifconfig hdlc0 up 64*a513d962SSun yuxi ifconfig pvc0 localIP pointopoint remoteIP 65*a513d962SSun yuxi 66*a513d962SSun yuxi在帧中继模式下,请先启用主hdlc设备(不分配IP地址),再 67*a513d962SSun yuxi使用pvc设备。 68*a513d962SSun yuxi 69*a513d962SSun yuxi 70*a513d962SSun yuxi接口设置选项: 71*a513d962SSun yuxi 72*a513d962SSun yuxi* v35 | rs232 | x21 | t1 | e1 73*a513d962SSun yuxi - 当网卡支持软件可选接口时,可为指定端口设置物理接口 74*a513d962SSun yuxi loopback 75*a513d962SSun yuxi - 启用硬件环回(仅用于测试) 76*a513d962SSun yuxi* clock ext 77*a513d962SSun yuxi - RX与TX时钟均使用外部时钟源 78*a513d962SSun yuxi* clock int 79*a513d962SSun yuxi - RX与TX时钟均使用内部时钟源 80*a513d962SSun yuxi* clock txint 81*a513d962SSun yuxi - RX时钟使用外部时钟源,TX时钟使用内部时钟源 82*a513d962SSun yuxi* clock txfromrx 83*a513d962SSun yuxi - RX时钟使用外部时钟源,TX时钟从RX时钟派生 84*a513d962SSun yuxi* rate 85*a513d962SSun yuxi - 设置时钟速率(仅适用于"int"或"txint"时钟模式) 86*a513d962SSun yuxi 87*a513d962SSun yuxi 88*a513d962SSun yuxi设置协议选项: 89*a513d962SSun yuxi 90*a513d962SSun yuxi* hdlc - 设置原始HDLC模式(仅支持IP协议) 91*a513d962SSun yuxi 92*a513d962SSun yuxi nrz / nrzi / fm-mark / fm-space / manchester - 传输编码选项 93*a513d962SSun yuxi 94*a513d962SSun yuxi no-parity / crc16 / crc16-pr0 (预设零值的CRC16) / crc32-itu 95*a513d962SSun yuxi 96*a513d962SSun yuxi crc16-itu (使用ITU-T多项式的CRC16) / crc16-itu-pr0 - 校验方式选项 97*a513d962SSun yuxi 98*a513d962SSun yuxi* hdlc-eth - 使用HDLC进行以太网设备仿真. 校验和编码方式同上 99*a513d962SSun yuxi as above. 100*a513d962SSun yuxi 101*a513d962SSun yuxi* cisco - 设置Cisco HDLC模式(支持IP、IPv6和IPX协议) 102*a513d962SSun yuxi 103*a513d962SSun yuxi interval - 保活数据包发送间隔(秒) 104*a513d962SSun yuxi 105*a513d962SSun yuxi timeout - 未收到保活数据包的超时时间(秒),超过此时长将判定 106*a513d962SSun yuxi 链路断开 107*a513d962SSun yuxi 108*a513d962SSun yuxi* ppp - 设置同步PPP模式 109*a513d962SSun yuxi 110*a513d962SSun yuxi* x25 - 设置X.25模式 111*a513d962SSun yuxi 112*a513d962SSun yuxi* fr - 帧中继模式 113*a513d962SSun yuxi 114*a513d962SSun yuxi lmi ansi / ccitt / cisco / none - LMI(链路管理)类型 115*a513d962SSun yuxi 116*a513d962SSun yuxi dce - 将帧中继设置为DCE(网络侧)LMI模式(默认为DTE用户侧)。 117*a513d962SSun yuxi 118*a513d962SSun yuxi 此设置与时钟无关! 119*a513d962SSun yuxi 120*a513d962SSun yuxi - t391 - 链路完整性验证轮询定时器(秒)- 用户侧 121*a513d962SSun yuxi - t392 - 轮询验证定时器(秒)- 网络侧 122*a513d962SSun yuxi - n391 - 全状态轮询计数器 - 用户侧 123*a513d962SSun yuxi - n392 - 错误阈值 - 用户侧和网络侧共用 124*a513d962SSun yuxi - n393 - 监控事件计数 - 用户侧和网络侧共用 125*a513d962SSun yuxi 126*a513d962SSun yuxi帧中继专用命令: 127*a513d962SSun yuxi 128*a513d962SSun yuxi* create n | delete n - 添加/删除DLCI编号为n的PVC接口。 129*a513d962SSun yuxi 新创建的接口将命名为pvc0、pvc1等。 130*a513d962SSun yuxi 131*a513d962SSun yuxi* create ether n | delete ether n - 添加/删除用于以太网 132*a513d962SSun yuxi 桥接帧的设备设备将命名为pvceth0、pvceth1等。 133*a513d962SSun yuxi 134*a513d962SSun yuxi 135*a513d962SSun yuxi 136*a513d962SSun yuxi 137*a513d962SSun yuxi板卡特定问题 138*a513d962SSun yuxi------------ 139*a513d962SSun yuxi 140*a513d962SSun yuxin2.o 和 c101.o 驱动模块需要参数才能工作:: 141*a513d962SSun yuxi 142*a513d962SSun yuxi insmod n2 hw=io,irq,ram,ports[:io,irq,...] 143*a513d962SSun yuxi 144*a513d962SSun yuxi示例:: 145*a513d962SSun yuxi 146*a513d962SSun yuxi insmod n2 hw=0x300,10,0xD0000,01 147*a513d962SSun yuxi 148*a513d962SSun yuxi或:: 149*a513d962SSun yuxi 150*a513d962SSun yuxi insmod c101 hw=irq,ram[:irq,...] 151*a513d962SSun yuxi 152*a513d962SSun yuxi示例:: 153*a513d962SSun yuxi 154*a513d962SSun yuxi insmod c101 hw=9,0xdc000 155*a513d962SSun yuxi 156*a513d962SSun yuxi若直接编译进内核,这些驱动需要通过内核(命令行)参数配置:: 157*a513d962SSun yuxi 158*a513d962SSun yuxi n2.hw=io,irq,ram,ports:... 159*a513d962SSun yuxi 160*a513d962SSun yuxi或:: 161*a513d962SSun yuxi 162*a513d962SSun yuxi c101.hw=irq,ram:... 163*a513d962SSun yuxi 164*a513d962SSun yuxi 165*a513d962SSun yuxi 166*a513d962SSun yuxi若您的N2、C101或PLX200SYN板卡出现问题,可通过"private" 167*a513d962SSun yuxi命令查看端口数据包描述符环(显示在内核日志中) 168*a513d962SSun yuxi 169*a513d962SSun yuxi sethdlc hdlc0 private 170*a513d962SSun yuxi 171*a513d962SSun yuxi硬件驱动需使用#define DEBUG_RINGS编译选项构建。 172*a513d962SSun yuxi在提交错误报告时附上这些信息将很有帮助。如在使用过程中遇 173*a513d962SSun yuxi到任何问题,请随时告知。 174*a513d962SSun yuxi 175*a513d962SSun yuxi获取补丁和其他信息,请访问: 176*a513d962SSun yuxi<http://www.kernel.org/pub/linux/utils/net/hdlc/>.