2.4 Android ebpf帮助函数解读(三)

41.void bpf_set_hash_invalid(struct sk_buff *skb)

描述:使的当前skb->hash失效。它可以在通过直接数据包访问对header进行修改后使用,以表示hash已经过时,并在下次内核尝试访问此hash或调用bpf_get_hash_recalc()帮助函数时触发重新计算。

42.long bpf_get_numa_node_id(void)

描述:返回当前NUMA节点的ID。当程序使用SO_ATTACH_REUSEPORT_EBPF选项连接套接字时,此帮助函数的主要用例时为本读NUMA节点选择套接字(可参考socket(7)),但该帮助函数也可以用于其他eBPF程序类型,类似于bpf_get_smp_processor_id()。

返回值:返回当前NUMA节点ID。

43.long bpf_skb_change_head(struct sk_buff *skb, u32 len, u64 flags)

描述:增加与skb关联的数据包的余量,并相应地调整MAC header的偏移量,从而增加len字节的空间。它会根据需要自动扩展和重新分配内存。

    该帮助函数可以用于在第3层skb将MAC Header推送以重定向到第2层设备。

    flags的值以供将来使用,并且必须设置为0.

    对帮助函数的调用很容修改基础数据包缓冲区。因此,在加载时࿰

猜你喜欢

转载自blog.csdn.net/huangyabin001/article/details/131360164