我遇到tcp_fin()功能问题。它应该使用FIN标志处理传入的TCP段,但是当我在此函数的开头添加tracepoint或只是printk
时,此tracepoint处理程序永远不会调用(或者没有来自printk的任何消息)。
我的行动:
printk
添加到tcp_fin()
运行类似这样的内容:
#!/bin/bash
nflows=50
on_int()
{
echo "$nflows skeeped"
exit 0
}
trap 'on_int' INT
while [ $nflows -ne 0 ]
do
iperf -n 5M -c X.X.X.X
nflows=$(( $nflows - 1))
echo "======================"
echo $nflows
echo "======================"
done
结果我应该观察tcp_fin()
的调用,但没有任何反应。
答案 0 :(得分:0)
正如我几天前写的那样,tcp_fin()处理了传入的FIN段,但与RFC-793相反,并非每个连接都以两个FIN段(A-> B,B-> A)结束。因此,在某些情况下,我们只有传出的FIN而不是更多。