问题现象
netfilter 挂一个hook,按流来处理数据包。在慢速场景下没有问题,但一旦稍微速度快些,就会发现某条流的数据包会随机的丢失、乱序
问题解决
使用tcpreplay 重放包测试,记录一条流的所有包的相关信息,详细查看每个包的情况,发现速率快时丢包严重,且有很严重的乱序现象。
由于都同属于同一条流,刚开始没有想到SMP的问题,后来在函数入口处加锁,如此乱序问题消失。
问题解决很容易,定位过程真心纠结啊
问题现象
netfilter 挂一个hook,按流来处理数据包。在慢速场景下没有问题,但一旦稍微速度快些,就会发现某条流的数据包会随机的丢失、乱序
问题解决
使用tcpreplay 重放包测试,记录一条流的所有包的相关信息,详细查看每个包的情况,发现速率快时丢包严重,且有很严重的乱序现象。
由于都同属于同一条流,刚开始没有想到SMP的问题,后来在函数入口处加锁,如此乱序问题消失。
问题解决很容易,定位过程真心纠结啊