用于 1Gbit 以太网的快速扰频器

fast scrambler for 1Gbit Ethernet

本文关键字:1Gbit 以太网 用于      更新时间:2023-10-16

我必须为 skb->data(socket buffer)添加加扰器。当我尝试对 skb->data 中的每个字节进行加扰时,速度降低了 10 倍。

for (i = 0; i < skb->len; i++){
    skb->data[i] = skb->data[i]^lfsr[i];                   
}

如何更快地打乱 skb-> 数据?更新:如何在一次迭代中加扰多个字节?

您可以删除指针取消引用,使用就地内存操作,并使用 OpenMP 并行化循环,如下所示:

//Compile with -fopenmp flag
const int len  = skb->len;
auto &data = skb->data;
#pragma omp parallel for simd
for(int i=0;i<len;i++)
    data[i] ^= lfsr[i];