一种交换机控制方法及装置的制造方法_3

文档序号:9234820阅读:来源:国知局
8] get_13_defip_teble_size (size),读取参数化模块库(Library of Parameterized Modules, LPM)路由表的大小和使用情况;
[0079]get_acl_entries (type, size),读取A化表的容量和使用情况;
[0080]add_12_taAe_ent;ry (entiT),添加一条 MAC 地址表信息条目;
[0081]del_12_teble_ent;ry (entiT),删除一条 MAC 地址表条目;
[0082]add_acl_ent;ry (ent;ry),添加一条 A化表项;
[008引del_acl_ent;ry (entiT),删除一条 A化表项。
[0084] 具体的,设定外设逻辑抽象规则可W将对外设的操作抽象封装为与外设型号无关 的统一操作,使得应用软件层可W忽略下层外设的差异,解决了交换机软件与硬件紧禪合 的问题。
[0085] 示例性的,将对交换机的外设的操作抽象封装为一个函数库,函数库中的每一个 函数对应对外设操作的封装。其中,实现不同型号外设的同一操作的封装函数如下:
[0086]get_psu_status(index, status),用于读取交换机中第index个电源模块的状 态;
[0087]get_fan_number〇,用于获取交换机中风扇的数量;
[0088]get_fan_sta1:us (index, status),用于读取交换机中第index个风扇的状态,包 括转速,电压等信息;
[0089]get_fan_speed (index, speed),用于读取交换机中第index个风扇的转速;
[0090]get_sfp_eeprom(index, data),用于读取交换机中第index个小型可拔插式 (Small F'orm-factor Plugg油le,SFP)接口的电可擦可编程只读存储器巧lectrically Erasable Programmable Read-Only Memory,EEPROM)信息;
[0091]get_qsfp_eeprom (index, page, data),用于读取交换机中第index个四通道SFP(Quad Small化rm-factor Plugg油le,QSF巧接口的邸PROM信息;
[0092]set_fan_speed(index, speed),用于设定交换机中第index个风扇的转速为 speed ;
[009引set_qsfp_page (index, page, data),用于设置交换机中第 index 个 QSFP 接 口上模 块的page数据;
[0094]set_qsfp_tx_dis油le (index, channel),用于关闭交换机中第 index 个 QSFP 接口 上模块的第channel的发送通道;
[0095]set_sfp_tx_dis油le(index),用于关闭交换机中第index个SFP接口上的模块的 发送;
[0096] 需要说明的是,W上index有一个预先的约定,例如,从交换机前面板方向来看, 从左到右index从0起递增。对于交换机面板上的端口,从上到下,从左到右依次从0递增。 例如左上第一个端口为index 0,左下第一个端口为index 1,左上第二个端口为index 2, W此类推。
[0097] 操作S205,通过硬件相关层的外设定义接口中的转换规则,将基于交换机操作系 统中字符设备格式的所述规范化控制指令转换为适用于相应硬件执行的硬件控制指令,其 中,所述转换规则至少包括字符设备格式与硬件控制指令格式之间的映射关系。
[009引具体的,通过外设定义接口将交换机的外设定义为交换机操作系统中的字符设 备,其中,操作系统优选为Linux,并在操作系统的"/dev"目录下,提供相应外设对应的操 作文件。通过硬件相关层的外设定义接口中的转换规则,将基于交换机操作系统中字符设 备格式的所述规范化控制指令转换为适用于相应硬件外设执行的硬件控制指令。所述外设 对应的操作文件如下:
[0099] ? /dev"fan/all,表示交换机中所有风扇属性。
[0100] Read,通过访问该文件,获取交换机的风扇数量W及风扇是否支持自动控制。
[010U Write,通过访问该文件,可W设定所有风扇的转速,或者让风扇处于自动运行 模式。
[0102] ? /(16¥处3]1处3]11,表示交换机中的第一个风扇设备。
[0103] Read,通过访问该文件,获取该风扇的转速。
[0104] Write,通过访问该文件,设定该风扇的转速。
[01化]?八16乂处311处3112,表示交换机中的第二个风扇设备。
[0106] ? /dev/psu/all,表示交换机中的所有电源的一些信息。
[0107] read,通过访问该文件,获取电源模块数量。
[0108] ? /dev/psu/psul,表示交换机中的第一个电源模块。
[0109] read,通过访问该文件,获取该电源模块的运行状态。
[0110] ? /dev/psu/psu2,表示交换机中的第二个电源模块。
[0111] ? /dev/s巧/all,表示交换机中的所有SFP接口的一些属性。
[0112] Read,通过访问该文件,获取交换机中的SFP接口数量。
[0113] ? /dev/s巧/s巧1,表示交换机中的第一个SFP接口。
[0114] Read,通过访问该文件,获取S巧1接口上模块的信息。
[0115] Write,通过访问该文件,可W配置S巧1接口或者向模块写入信息。
[0116] ? /dev/s巧/s巧2,表示交换机中的第二个SFP接口。
[0117] ? /dev/qs巧/all,表示交换机中的所有QSFP接口的一些属性。
[0118] Read,通过访问该文件,获取交换机中的所有QSFP接口数量。
[0119] ? /dev/qs巧/qs巧1,表示交换机中的第一个QSFP接口。
[0120] read,通过访问该文件,获取qs巧1接口上模块的信息。
[012U write,通过访问该文件,可W配置接口或者向模块写入信息。
[0122] ? /dev/sensor/all,表示交换机中的所有温度传感器。
[0123] Read,通过访问该文件,获取交换机中的所有温度传感器的数量及其他信息 (例如位置信息)。
[0124] ? /dev/sensor/sensorl,表示交换机中的第一个温度传感器。
[01巧] Read,通过访问该文件,获取该温度传感器的温度信息。
[01%] 示例性的,外设定义接口对交换机外设的定义还可W通过W下方式实现;通过外 设定义接口将交换机的所有外设定义为交换机操作系统中的一个字符设备,例如,在操作 系统"/dev"目录下定义一个字符设备"/dev/sw_peripherals",并根据预先定义的外设类 型和index组合,通过对"sw_peri地erals"字符设备操作来实现对具体外设的操作,所述 预先设定的外设类型如下:
[0127]
[0128] 其中,FAN为风扇,PSU为电源模块,SFP为小型可拔插接口,QSFP为四通道小型可 拔插接口,SENSOR为温度传感器。
[0129] 通过外设定义接口中的转换规则将对"sw_peri地erals"字符设备的规范化控制 指令转换为适用于相应具体外设执行的硬件控制指令。其中,转换规则可W为ioctl操作, 所述ioctl操作用于选择对应的具体外设,对于具体的外设index 0代表所有的该设备, index 1代表第一个相应设备。
[0130] 例如,对/dev/sw_peripherals设备进行ioctl操作如下;
[0131] ioct 1 (fd,FAN, 0),表示外设为所有风扇,对其进行读操作,可W获取风扇的数量。
[0132] ioctl (fd,FAN, 1),表示外设为第一个风扇,对其进行读操作,可W获取第一个风 扇的转速。
[0133] ioctl (fd,PSU,1),表示外设为第一个电源模块,对其进行读操作,可W获取第一 个电源模块的状态。
[0134] 操
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1