错误 #4380
DU业务线程sysrepo写数据库方式修改
开始日期:
2025-11-04
计划完成日期:
% 完成:
0%
预期时间:
问题归属:
DU
发现问题版本:
Rel_3.1.4
目标解决问题版本:
Rel_3.1.5
历史记录
由 惠 帅帅 更新于 11 天 之前
接口设计
#define MAX_PARA_NUM 8
#define MAX_VALUE_SIZE 24
#define MAX_XPATH_SIZE 160
enum E_WRITE_STATE {ST_INITIAL = 0, ST_WRITTING = 1};
enum E_DATA_TYPE {T_INVALID = 0, T_UINT8 = 1, T_UINT16 = 2, T_UINT32 = 3, T_UINT64 = 4};
//全局表结构
struct RcdInfo
{
uint16_t pathId; //路径编号
uint8_t writeState; //当前状态
uint8_t dataType; //参数类型
uint64_t newValue; //待写数值
};
enum E_PATH_ID {P_INVALID = 0, P_NR_CELL_STATUS = 1, P_CELL_REBUILD_SWITCH = 2, P_NR_CELL_PA_RTX_TYPE = 3, P_NR_CELL_PA_CHANNEL = 4, P_SPEC_C_RNTI = 5}; //rcdTable表主键xpath编号
typedef std::map<std::string, RcdInfo> writeRcd;
extern writeRcd rcdTable;
//DU内部接口
struct EleInfo
{
uint16_t pathId;
uint64_t newVal;
};
struct ParaInfo
{
std::string xpath;
uint8_t dataType;
uint64_t newVal;
};
typedef std::vector<ParaInfo> paraRcd;
//DU与GNB_AGT接口
struct AgtWInfo
{
char xpath[MAX_XPATH_SIZE];
char newVal[MAX_VALUE_SIZE];
};
struct AgtWRcd
{
uint16_t serialNum; //序列号:0-无效 1~0xFFF0有效
uint16_t writeNum;
AgtWInfo infoList[MAX_PARA_NUM]; //支持8参数同时修改:受限于UDP发送接口大小(2000字节)
};
struct AgtWCmdReq
{
GnbAgentHeader header;
AgtWRcd agtWRcd;
};
struct AgtWCmdRsp
{
GnbAgentHeader header; //消息头
uint16_t serialNum;
uint16_t errNum; //修改失败xpath个数:0-代表成功 非0-代表修改失败的数目
uint8_t errXpath[MAX_PARA_NUM][MAX_XPATH_SIZE]; //失败xpath路径列表:errNum=0时响应中无列表
};