项目场景:
此项目基于VPP小型操作系统的NAT日志获取,并发送至服务器。
设计思路:
NAT处理模块:
NAT日志处理模块采用定时器,定时处理NAT日志保存文件,并对文件进行处理操作,将处理后指定格式的NAT日志与备份NAT日志进行对比,以免相同日志重复上传。
问题:
List.h使用不够完善,导致链表查询的时候出现死循环
解决方案:
重新编写链表增删改查的代码:
static struct list_head vpp_nat_a[STA_MAX];
static struct list_head vpp_nat_b[STA_MAX];
unsigned short vpp_ip_hash(unsigned int vpp_ip)
{
unsigned short hash_key = 0;
hash_key = (unsigned short)((vpp_ip)&0xffff);
return hash_key%STA_MAX;
}
int front_vpp_nat_list_del(int flag)
{
int ret = LIST