अगर मैंने आपको सही तरीके से समझा, तो आप snd_cwnd
एक टीसीपी सॉकेट को आरंभीकृत करने पर निर्धारित पैरामीटर के शुरुआती मूल्य की तलाश कर रहे हैं ।
ऐसा लगता है कि लिनक्स कर्नेल के साथ शुरू होता है 2.6.39
, एक मैक्रो TCP_INIT_CWND
को लिनक्स में पेश किया गया है / इसमें शामिल हैं / net / tcp.h जो कि snd_cwnd
टीसीपी सॉकेट को आरंभीकृत करते समय मान को पॉप्युलेट करता है ।
मुझे पता है कि यह कोड कहाँ के लिए कर्नेल में है IPv4
, और दुर्भाग्यवश यह किसी मैक्रो का उपयोग नहीं करता है जो कि पुराने से भी कम उम्र के लोगों के लिए मूल्य को पॉप्युलेट करने के लिए उपयोग करता है।2.6.39
/* net/ipv4/tcp_ipv4.c from 2.6.37 kernel */
static int tcp_v4_init_sock(struct sock *sk)
{
struct inet_connection_sock *icsk = inet_csk(sk);
struct tcp_sock *tp = tcp_sk(sk);
....
....
....
/* So many TCP implementations out there (incorrectly) count the
* initial SYN frame in their delayed-ACK and congestion control
* algorithms that we must have the following bandaid to talk
* efficiently to them. -DaveM
*/
tp->snd_cwnd = 2;
....
....
....
}
एक समान init कोड IPv6
अंदर और साथ ही अंदर tcp_v6_init_sock()
फ़ंक्शन के लिए मौजूद हैnet/ipv6/tcp_ipv6.c