系统管理模块

系统配置

1.系统信息 2.设备描述(硬件、软件版本号,机型文件switch.tp) 涉及文件: httpSystemInfo.c,httpSystemDescri.c,swSystemManage.c,ucSystemDescri.c

用户管理

1.用户列表 2.用户配置(管理员和受限用户,系统最多支持16个用户) 涉及文件: httpUserManage.c,swUser.c和ucUser.c

系统工具

1.配置导入、导出 2.软件升级 3.系统重启、复位

安全配置

1.身份限制 设置对访问交换机WEB页面的用户进行限制,只有符合我们设置条件的用户才可以访问WEB页面。该功能的底层是通过TPCL模块来实现的。 涉及文件: httpUserSecurity.c,swUserSecurity.c ucUserSecurity.c 2.超时配置和管理人数限制功能 通过在WEBSERVER 系统RPM函数中增加一个SESSION层 涉及文件: httpRpmSession.c,swSession.c,httpLogon.c

主要需要阅读的代码

flashUtil.c: 系统升级,Flash布局,升级文件解析等 swSystemManage.c: 系统管理的封装 swUserSecurity.c: 用户安全设置,是重点和难点 swSession.c: 登录用户的数目管理等

对应的配置文件有:

ucUserSecurity.c: 关于用户权限的配置管理模块文件 ucUser.c: 关于用户信息的配置管理模块文件 ucSystemDescri.c: 关于机型描述的配置管理模块文件

uc模块的上层文件为: Usrconf.c UC模块的上层文件,会调用每一个模块的uc部分 ucUtil.c UC模块的函数实现

问题总结

系统信息页面端口图标问题

系统信息页面SystemInfoRpm.htm的端口图标是由port_config.js来控制显示的。在制作webImage时,工具RC Maker会找到机型对应的port_config_xxxx.js。对于不同机型,需要修改的只有port_config_xxx.js文件,然后就是RC Maker使用的机型文件。

Web页面错误的调试(例如端口图标不显示),在FF下,工具-》web开发者-》错误控制台,就可以查看到出现错误的位置。

新版本无法升级回旧版本

在修改了Profile文件的内容和flash的布局之后,旧版本无法从新版本升级。主要原因是profile文件的大小改变了,旧的up.bin文件中profile的大小不再符合新的设计。调试如下:

升级旧版本时打印如下:

BCM.0> MallocJumboMem() user:1
itemCount = 6
 ../../../../../SDK/sdk-5.6.2/systems/vxworks/raptor/vxworks5x/bcm56218/flashUtil.c sysUpgradeFirmware 1137
itemInfo = 48
 ../../../../../SDK/sdk-5.6.2/systems/vxworks/raptor/vxworks5x/bcm56218/flashUtil.c sysUpgradeFirmware 1138
itemType = 0x1  1
maxSize = 0x80000
itemSize = 0x640d4
flashOffset = 0x0
fileOffset = 0x158
padding = 0x0
fillByte = 0xff

itemType = 0x28  40
maxSize = 0x2000
itemSize = 0x2c
flashOffset = 0x3fe000
fileOffset = 0x6422c
padding = 0x2
fillByte = 0xff

itemType = 0x40  64
maxSize = 0xf0
itemSize = 0x24
flashOffset = 0x3fe006
fileOffset = 0x64258
padding = 0x0
fillByte = 0xff

itemType = 0x20  32
maxSize = 0x4000
itemSize = 0x14e8
flashOffset = 0x400000
fileOffset = 0x6427c
padding = 0x1
fillByte = 0xff

itemType = 0x18  24
maxSize = 0x7a000
itemSize = 0x49fdc
flashOffset = 0x404000
fileOffset = 0x65764
padding = 0x1
fillByte = 0xff

itemType = 0x30  48
maxSize = 0x380000
itemSize = 0x3046d4
flashOffset = 0x47e000
fileOffset = 0xaf740
padding = 0x0
fillByte = 0xff

bootromSize = 640c0
 ../../../../../SDK/sdk-5.6.2/systems/vxworks/raptor/vxworks5x/bcm56218/flashUtil.c sysUpgradeFirmware 1274
########################################################################################profileSize = 16
 ../../../../../SDK/sdk-5.6.2/systems/vxworks/raptor/vxworks5x/bcm56218/flashUtil.c sysUpgradeFirmware 1287
error size < FLASH_PUBLICKEY_OFFSET
write Profile error
 ../../../../../SDK/sdk-5.6.2/systems/vxworks/raptor/vxworks5x/bcm56218/flashUtil.c sysUpgradeFirmware 1290
FreeJumboMem()

升级新版本时打印信息:

BCM.0> MallocJumboMem() user:1
itemCount = 6
 ../../../../../SDK/sdk-5.6.2/systems/vxworks/raptor/vxworks5x/bcm56218/flashUtil.c sysUpgradeFirmware 
1137
itemInfo = 48
 ../../../../../SDK/sdk-5.6.2/systems/vxworks/raptor/vxworks5x/bcm56218/flashUtil.c sysUpgradeFirmware 
1138
itemType = 0x1  1
maxSize = 0x80000
itemSize = 0x642f4
flashOffset = 0x0
fileOffset = 0x158
padding = 0x0
fillByte = 0xff

itemType = 0x28  40
maxSize = 0x2000
itemSize = 0x1a4
flashOffset = 0x3fe000
fileOffset = 0x6444c
padding = 0x0
fillByte = 0xff

itemType = 0x40  64
maxSize = 0xf0
itemSize = 0x24
flashOffset = 0x3fe006
fileOffset = 0x645f0
padding = 0x0
fillByte = 0xff

itemType = 0x20  32
maxSize = 0x4000
itemSize = 0x160c
flashOffset = 0x400000
fileOffset = 0x64614
padding = 0x0
fillByte = 0xff

itemType = 0x18  24
maxSize = 0x7a000
itemSize = 0x4c380
flashOffset = 0x404000
fileOffset = 0x65c20
padding = 0x3
fillByte = 0xff

itemType = 0x30  48
maxSize = 0x380000
itemSize = 0x30f594
flashOffset = 0x47e000
fileOffset = 0xb1fa0
padding = 0x0
fillByte = 0xff

bootromSize = 642e0
 ../../../../../SDK/sdk-5.6.2/systems/vxworks/raptor/vxworks5x/bcm56218/flashUtil.c sysUpgradeFirmware 
1274
########################################################################################profileSize = 
190
 ../../../../../SDK/sdk-5.6.2/systems/vxworks/raptor/vxworks5x/bcm56218/flashUtil.c sysUpgradeFirmware 
1287
######################ImageSize = 30f580
 ../../../../../SDK/sdk-5.6.2/systems/vxworks/raptor/vxworks5x/bcm56218/flashUtil.c sysUpgradeFirmware 
1297
######################################################################################################
######################################################################################################
######################################################################################################
######################################################################################################
######################################################################################################
##############################################################webImageSize = 4c369
 ../../../../../SDK/sdk-5.6.2/systems/vxworks/raptor/vxworks5x/bcm56218/flashUtil.c sysUpgradeFirmware 
1307
########################################################################################switchTpSize = 
15f8
 ../../../../../SDK/sdk-5.6.2/systems/vxworks/raptor/vxworks5x/bcm56218/flashUtil.c sysUpgradeFirmware 
1318
############################################
FreeJumboMem()
MallocJumboMem() user:1