更新时间: 2026/11/02
在AtomGit上查看源码CSR配置字典之SOL类
📋 文档信息
| 项目 | 内容 |
|---|---|
| 文档标题 | SOL类配置字典 |
| 版本 | v1.0 |
| 创建日期 | 2025-04-24 |
| 最后更新 | 2025-04-24 |
| 维护状态 | ✅ 活跃维护 |
📋 变更历史记录
| 版本 | 发布日期 | 变更类型 | 变更内容 | 影响范围 | 维护人员 |
|---|---|---|---|---|---|
| v1.0 | 2025-04-24 | 初始版本 | 创建SOL类配置字典 | 全新文档 | 系统管理员 |
🎯 类概览
| 属性 | 值 |
|---|---|
| 类名称 | SOL |
| 功能描述 | Serial Over LAN配置管理,用于通过网络进行串口重定向和控制台访问 |
| 所属SIG组 | interface |
| 所属组件 | rmcpd |
| 最后更新 | 2025-04-24 |
| 状态 | 🟢 正常运行 |
📊 属性定义详表
必选属性
| 属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
|---|---|---|---|---|---|---|---|---|---|
Enabled | Boolean | - | Boolean | - | CLI_SOL使能状态 | 控制SOL功能是否启用 | true | CSR配置 | 软件 |
Mode | U8 | - | [0, 1] | - | CLI_SOL会话模式 | 0为共享模式,1为独占模式 | 0 | CSR配置 | 软件 |
SerialDirect | U8 | - | U8 | - | 串口方向 | 0无方向,1系统OS串口,2 BMC串口(历史保留值,当前rmcpd实现不生效) | 1 | CSR配置 | 软件 |
Timeout | U16 | - | U16 | - | 会话超时时间 | 单位:分钟 | 15 | CSR配置 | 软件 |
Id | U8 | - | U8 | - | SOL会话ID | 唯一标识SOL会话 | 1 | CSR配置 | 软件 |
AuthenWay | U8 | - | U8 | - | 认证方式 | 标识SOL认证方式 | 0 | CSR配置 | 软件 |
EncryWay | U8 | - | U8 | - | 加密方式 | 标识SOL加密方式 | 1 | CSR配置 | 软件 |
PrivilegeLevel | U8 | - | U8 | - | 特权级别 | 标识SOL访问权限级别 | 4 | CSR配置 | 软件 |
SendThreshold | U8 | - | U8 | - | 发送阈值 | 字符发送缓冲阈值 | 32 | CSR配置 | 软件 |
SendInterval | U8 | - | U8 | - | 发送间隔 | 字符发送间隔(单位:5ms,默认值8表示40ms) | 8 | CSR配置 | 软件 |
RetryCount | U8 | - | U8 | - | 重试次数 | 发送失败重试次数 | 3 | CSR配置 | 软件 |
RetryInterval | U8 | - | U8 | - | 重试间隔 | 重试间隔(毫秒) | 20 | CSR配置 | 软件 |
SetProgress | U8 | - | U8 | - | 设置进度 | 配置设置进度 | 0 | CSR配置 | 软件 |
IPMISOLEnabled | Boolean | - | Boolean | - | IPMI SOL使能 | IPMI SOL功能使能状态 | true | CSR配置 | 软件 |
可选属性
- 无可选属性
🔗 动态关联机制
语法规范
yaml
# SOL配置
Enabled: true
Mode: 0
SerialDirect: 1
Timeout: 15
Id: 1
AuthenWay: 0
EncryWay: 1
PrivilegeLevel: 4
SendThreshold: 32
SendInterval: 8
RetryCount: 3
RetryInterval: 20
SetProgress: 0
IPMISOLEnabled: true关联说明
- Enabled: 控制CLI_SOL功能总开关
- Mode: 控制CLI_SOL会话模式(共享/独占)
- SerialDirect: 控制串口数据流向
- Timeout: 控制空闲会话超时
- Id: 唯一标识SOL配置实例
- AuthenWay/EncryWay: 控制认证和加密方式
- PrivilegeLevel: 控制访问权限
- SendThreshold/SendInterval: 控制字符发送策略
- RetryCount/RetryInterval: 控制重传策略
- IPMISOLEnabled: 控制IPMI SOL功能
🔢 属性取值说明
会话与串口方向
| 属性 | 取值 | 说明 |
|---|---|---|
Mode | 0 | 共享模式(SHARED_MODE),多个客户端可同时连接同一 SOL 会话 |
Mode | 1 | 独占模式(PRIVATE_MODE),同一时刻仅允许一个客户端占用会话 |
SerialDirect | 0 | 无方向,不进行串口重定向;会话停止时 rmcpd 会恢复为该值 |
SerialDirect | 1 | 系统 OS 串口(SYS_DIRECT),SOL 数据转发到主机系统串口,为 IPMI SOL 会话激活时的取值 |
SerialDirect | 2 | BMC 串口,仅在部分历史版本/产品形态中存在;当前 rmcpd 实现仅使用 0/1,配置为 2 不会生效 |
说明:
Mode、SerialDirect属于运行时状态量,通常由 rmcpd 在 SOL 激活/去激活时自动改写(激活时Mode=1、SerialDirect=1,去激活时恢复为0),CSR 中的值仅作为初始值/默认值使用。
认证与加密
| 属性 | 取值 | 说明 |
|---|---|---|
AuthenWay | 0 | 不启用 SOL 会话认证 |
AuthenWay | 1 | 启用 SOL 会话认证(对应 IPMI Set SOL Configuration 参数中的 1 bit Auth 位) |
EncryWay | 0 | 不启用 SOL 数据加密 |
EncryWay | 1 | 启用 SOL 数据加密(对应 1 bit Encryption 位) |
PrivilegeLevel | 2 | User 级,允许 User 及以上权限的用户使用 SOL |
PrivilegeLevel | 3 | Operator 级 |
PrivilegeLevel | 4 | Administrator 级,CSR 缺省值 |
PrivilegeLevel | 5 | OEM 级 |
说明:
PrivilegeLevel在 IPMI 命令解析时校验2 ≤ 取值 ≤ 5,取值 0/1 或大于 5 会返回IPMIOutOfRange;AuthenWay、EncryWay与PrivilegeLevel三者由同一条 Set SOL Configuration(参数 2)写入。
设置进度
| 取值 | 名称 | 说明 |
|---|---|---|
| 0 | set complete | 配置设置完成,允许其他会话再次发起设置 |
| 1 | set in progress | 配置正在设置中;若当前已是该状态,再次设置会报错,用于避免多会话并发修改 |
| 2 | commit write | 提交写入 |
| 3 | reserved | 保留 |
传输与会话参数
| 属性 | 单位 | 说明 |
|---|---|---|
Timeout | 分钟 | SOL 会话空闲超时时间,超时后自动断开会话 |
SendThreshold | 字节 | 字符发送阈值,缓冲区达到该字节数即触发发送;取值为 0 会被拒绝 |
SendInterval | 5ms | 字符累积发送间隔,每个计数单位代表 5ms,因底层最小调度粒度为 10ms,取值必须 ≥ 2(即 ≥ 10ms) |
RetryCount | 次 | 发送失败重试次数,IPMI 命令中为 3 bit(0~7) |
RetryInterval | 毫秒 | 两次重试之间的间隔 |
Id | - | SOL 会话/配置实例标识,用于区分多条 SOL 配置 |
Enabled | - | CLI_SOL 功能总开关,false 时 CLI 侧无法建立 SOL 会话 |
IPMISOLEnabled | - | IPMI SOL 载荷使能,false 时 IPMI 侧 SOL 会话无法激活 |
📂 分类标准
硬件属性
- 定义:当前版本无硬件属性
- 特点:所有属性都是软件管理相关
- 示例:无
软件属性
- 定义:由软件管理和维护的SOL配置参数
- 特点:会话管理、串口重定向、认证加密等
- 示例:所有属性都是软件属性
📝 配置示例
标准共享模式配置
json
{
"SOL": {
"Enabled": true,
"Mode": 0,
"SerialDirect": 1,
"Timeout": 15,
"Id": 1,
"AuthenWay": 0,
"EncryWay": 1,
"PrivilegeLevel": 4,
"SendThreshold": 32,
"SendInterval": 8,
"RetryCount": 3,
"RetryInterval": 20,
"SetProgress": 0,
"IPMISOLEnabled": true
}
}独占模式配置
json
{
"SOL": {
"Enabled": true,
"Mode": 1,
"SerialDirect": 1,
"Timeout": 30,
"Id": 1,
"AuthenWay": 0,
"EncryWay": 1,
"PrivilegeLevel": 4,
"SendThreshold": 64,
"SendInterval": 5,
"RetryCount": 5,
"RetryInterval": 30,
"SetProgress": 0,
"IPMISOLEnabled": true
}
}🔧 使用指南
配置步骤
- 使能SOL功能:配置Enabled和IPMISOLEnabled
- 选择会话模式:配置Mode属性
- 设置串口方向:配置SerialDirect属性
- 设置超时时间:配置Timeout属性
- 配置认证加密:配置AuthenWay和EncryWay
- 设置权限级别:配置PrivilegeLevel
- 配置传输参数:配置SendThreshold和SendInterval
- 配置重传策略:配置RetryCount和RetryInterval
会话模式说明
| 模式值 | 模式名称 | 说明 |
|---|---|---|
| 0 | 共享模式 | 多用户可同时查看SOL输出 |
| 1 | 独占模式 | 单用户独占SOL会话 |
串口方向说明
| 方向值 | 方向名称 | 说明 |
|---|---|---|
| 0 | 无方向 | 不进行串口重定向 |
| 1 | 系统OS串口 | 重定向到主机系统串口 |
| 2 | BMC串口 | 历史保留值,当前rmcpd实现仅使用0/1,配置为2不会生效 |
使用场景
- 远程调试:通过网络远程访问系统串口
- 故障诊断:查看系统启动信息和错误日志
- 设备配置:通过串口配置设备参数
- 应急处理:在无法通过其他方式访问系统时使用
注意事项
- 安全性:SOL传输未加密,建议配合VPN使用
- 会话限制:共享模式下性能可能下降
- 超时设置:合理设置Timeout避免占用资源
- 权限控制:根据需要设置PrivilegeLevel
- 字符丢失:调整SendThreshold和SendInterval优化传输
故障排除
SOL连接失败:
- 检查Enabled和IPMISOLEnabled是否为true
- 确认网络连接是否正常
- 验证防火墙设置
字符显示异常:
- 检查SerialDirect配置是否正确
- 调整SendThreshold和SendInterval -确认串口波特率设置
会话超时:
- 检查Timeout设置是否过短
- 确认是否有网络中断 -验证会话保活机制