Can anyone tell me what this does and under what conditions the goto
statement will be called (and what has to be done for the goto to be
avoided):
sk = __tcp_v4_lookup(th, saddr, th->source, daddr, th->dest, dev);
if (!sk) {
goto no_tcp_socket;
}
It's located in the ./net/ipv4/tcp_input.c file in the tcp_rcv function.
It happens when a TCP packet arrives for no socket we know about in
the system, it is therefore an erroneous packet and we must jump to
no_tcp_socket where we send a reset back to the sender and discard the
packet. We must do this to stay within the specifications of the TCP
protocol.
Later,
David S. Miller
davem@dm.cobaltmicro.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu