I have a trouble with tcp_fin() function. It should process incoming TCP-segments with FIN flag, but when I add tracepoint or just printk at the begin of this function, this tracepoint handler is never calls (or no any messages from printk).
My actions:
- Add tracepoint or
printktotcp_fin() - Build & boot new kernel
-
Run something like this:
#!/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
And as the result I should to observe calls of tcp_fin(), but nothing happens.
As I wrote a few days ago tcp_fin() processed incoming FIN-segment, but in contrast to RFC-793 not each connection ended by two FIN-segments (A->B, B->A). So in some cases we have only outgoing FIN and no more.