Kernel error
Hi Guys, I am getting the following kernel error while doing some experiments. Any idea where things are going wrong. To me it looks like there is an error while copying data from user space to kernel space. The application which i am running is iperf. However i also have netem module for emulating some wide area network characteristics like delay. I am using delay of 100ms. ##Error Message# Unable to handle kernel NULL pointer dereference at virtual address 0004 printing eip: c02fee3c *pde = 7ded4067 Oops: 0002 [#5] Modules linked in: setparam(U) sch_netem(U) nfs(U) lockd(U) autofs4(U) sunrpc(U)CPU:0 EIP:0060:[c02fee3c]Not tainted VLI EFLAGS: 00010286 (2.6.12-1.1390_FC4-emulab-1) EIP is at tcp_transmit_skb+0x3ef/0x8de eax: ebx: f71a1a40 ecx: ed64f960 edx: ed64ff60 esi: edi: f2f98500 ebp: ed71b780 esp: f47bddd4 ds: 007b es: 007b ss: 0068 Process iperf (pid: 2443, threadinfo=f47bc000 task=f71a1a40) Stack: f2f9854c c02d1019 ed71b7b8 f2f98500 ed15cc80 0282 ed71b780 0100 c02ce99f f71a1a40 f2f98500 f71a1a40 f2f98500 f2f9854c c02f53ad ed335db8 f2f98500 f2f98500 f47bdeb8 002ce99f Call Trace: [c02d1019] skb_copy_datagram_iovec+0x180/0x1f8 [c02ce99f] alloc_skb+0x31/0xc1 [c02f53ad] tcp_recvmsg+0x2b1/0x74e [c02fd83f] tcp_rcv_established+0x5d2/0x77a [c02ce2e0] sock_common_recvmsg+0x41/0x57 [c02cb052] sock_aio_read+0xf9/0x12b [c014fccb] do_sync_read+0x9e/0xec [c01291ae] autoremove_wake_function+0x0/0x37 [c014fe23] vfs_read+0x10a/0x10e [c0150064] sys_read+0x41/0x6a [c0102d29] syscall_call+0x7/0xb Code: a1 04 07 39 c0 e8 c0 e5 e3 ff 89 c2 85 c0 74 2d 83 87 08 04 00 00 01 8b 8 # Thanks in advance - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Writing a Rate based transport protocol
Hi All, I am trying to write a new rate based transport protocol in linux kernel (either as a module or directly within the kernel). Basically it would be similar to UDP but with features like dynamic rate control, connection and state management, error control like TCP. Is there any established framework which i can use? I know there is one for window based protocols like TCP where one can dynamically register different congestion control mechanisms. I would appreciate if somebody can give me some direction in this regard. Thanks in advance. - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: TCP slow start
I am posting this again. I would really appreciate if somebody can answer this. I am beating myself with no success in getting to the root of this mystery. TCP still stays in slow start even though snd_cwnd = snd_ssthresh and moves to CA only when there has been a packet loss. Can anybody confirm this?. Thanks in advance. On 1/27/06, Saurabh Jain [EMAIL PROTECTED] wrote: Hi All, Looking at the TCP stack code it seems that if the variable snd_cwnd snd_ssthresh, TCP would move to congestion avoidance. Is that correct? Are there any other constraints as far as linux implementation goes? Will that condition hold even if there has been no packet drop or dup acks received. For example if through some module i make snd_ssthresh = max(snd_cwnd/2,2), will TCP go to congestion avoidance even though there has been no loss indication? Thanks in advance. - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
TCP slow start
Hi All, Looking at the TCP stack code it seems that if the variable snd_cwnd snd_ssthresh, TCP would move to congestion avoidance. Is that correct? Are there any other constraints as far as linux implementation goes? Will that condition hold even if there has been no packet drop or dup acks received. For example if through some module i make snd_ssthresh = max(snd_cwnd/2,2), will TCP go to congestion avoidance even though there has been no loss indication? Thanks in advance. - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
SRTT value least count
Hi All, After going through the TCP code in linux kernel it seems that TCP in linux stores srtt in milliseconds and it is inflated by a factor of 8. Does this means that TCP in linux can measure any rtt which is greater than 125 microseconds? The code will store a value of 1 for srtt variable when the rtt is 125 micro seconds (125 microsecond * 8 = 1 millisecond). Saurabh - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
SRTT in TCP code of linux kernel
Hi All, After going through the TCP code in linux kernel it seems that TCP in linux stores srtt in milliseconds and it is inflated by a factor of 8. Does this means that TCP in linux can measure any rtt which is greater than 125 microseconds? The code will store a value of 1 for srtt variable when the rtt is 125 micro seconds (125 microsecond * 8 = 1 millisecond). Saurabh - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Welcome to linux-net
Hi All, This is my first post to this mailing list. I am writing a new network protocol in the form of a module. I finished writing it in kernel 2.6.9 on Fedora Core 3 distribution. It is working great. However my implementation is not working on newer kernels like 2.6.12 etc. On doing some research i found the reason why it broke. In my implementation i need access to the tcp_protocol handler which i used to get using the following lines of code: extern struct net_protocol tcp_protocol; tcp_protocol.handler(skb); However after kernel 2.6.9, the export of the variables like tcp_protocol or udp_protocol has been removed and hence i cannot access the handler using them. Does any body know of a way to get access to the tcp_protocol handler. Let me know if anything is not clear as mentioned above. Thanks in advance, Saurabh - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html