OpenCloudOS / nettrace

nettrace is a eBPF-based tool to trace network packet and diagnose network problem.
Other
326 stars 80 forks source link

内核函数skb_segment是否需要监控 #87

Closed hengyoush closed 5 months ago

hengyoush commented 9 months ago

我看了下如果开启gso,内核函数skb_segment也可能会产生新skb,在trace.yaml中只分析了skb_clone,skb_segment是否也要考虑

menglongdong commented 9 months ago

你好,请问有具体的应用场景吗?skb_clone被监控,是因为可能出现报文分离的问题。比如对于TCP报文收包,如果同时存在tcpdump抓包,那么收包路径就会变成这样:

网卡收包 -> skb_clone ->原始套接口

skb_clone -> IP层 -> TCP层

即传递到TCP层的是克隆出来的新的报文,从而产生分析上的困难。

我理解,这里的分段产生的是新的skb,和原来的skb是不同的skb,不需要在同一个上下文中进行监控哈