Re: client socket and source port selection

From: Roberto Nibali
Date: Mon Nov 29 2004 - 17:39:15 EST


Hello,

For the project i'm doing, i must know how the Linux kernel allocate
sockets source port (from the dynamic range of the (2**16)-1 ports). I
looked on the Web but it's really hard to find the algoritm of the
source port allocation...

Check the source ;). There is a proc-fs entry which relates to the source port range setting. Over this entry point you get in case of TCP sockets to ../net/ipv4/tcp_ipv4.c:tcp_v4_get_port(...). For UDP sockets you need to peek into ../net/ipv4/udp.c:udp_v4_get_port().

Someone maybe know how it's work or if there is a paper on the web that
explain this source port selection ?

Not likely, but reading the source should help. You can set the local port range via /proc/sys/net/ipv4/ip_local_port_range. It's documented.

HTH and best regards,
Roberto Nibali, ratz
--
echo '[q]sa[ln0=aln256%Pln256/snlbx]sb3135071790101768542287578439snlbxq' | dc
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/