Re: hashing functions

David S. Miller (davem@dm.cobaltmicro.com)
Fri, 20 Feb 1998 15:57:40 -0800


Date: Fri, 20 Feb 1998 20:52:12 +0000 (GMT)
From: Mark Stacey <heathclf@skynet.csn.ul.ie>

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