TCP 'data_ready' callback is broken ?

From: Roman V. Shaposhnick (roman@yellow.pdmi.ras.ru)
Date: Sun Mar 19 2000 - 16:46:06 EST


Hi,

while developing kernel module that should use sock callback 'data_ready'
I have found that for the TCP socket it is never called.

I am totally confused at this point and would appreciate any help or hints
or whatever. Please note, that if I try to use this callback for UDP
socket everything is perfect ( like it is in RPC subsystem ).

I attach sample module that can be used to reproduce the problem:

  yellow# gcc -D__KERNEL__ -DMODULE -I/usr/src/linux/include -c mod.c
  yellow# cat >> /etc/inetd.conf
  565 stream tcp nowait root /usr/bin/yes yes
  ^D
  yellow# insmod ./mod.o
  yellow# netstat -av
  ......................
  tcp 32686 0 localhost:1025 localhost:565 ESTABLISHED
  tcp 0 62824 localhost:565 localhost:1025 ESTABLISHED
  .......................
  yellow# tail /var/log/messages

Mar 20 00:35:56 yellow kernel: write_space callback
Mar 20 00:35:56 yellow kernel: write_space callback
Mar 20 00:35:56 yellow kernel: state_change callback
Mar 20 00:35:56 yellow kernel: write_space callback
Mar 20 00:35:56 yellow last message repeated 14 times
Mar 20 00:35:56 yellow kernel: Receiving message y 1 bytes long
Mar 20 00:35:56 yellow kernel: Receiving message
Mar 20 00:35:56 yellow kernel: 1 bytes long
Mar 20 00:35:56 yellow kernel: Receiving message y 1 bytes long
Mar 20 00:35:56 yellow kernel: Receiving message
Mar 20 00:35:56 yellow kernel: 1 bytes long
Mar 20 00:35:56 yellow kernel: Receiving message y 1 bytes long
Mar 20 00:35:56 yellow kernel: Receiving message
Mar 20 00:35:56 yellow kernel: 1 bytes long
Mar 20 00:35:56 yellow kernel: Receiving message y 1 bytes long
Mar 20 00:35:56 yellow kernel: Receiving message
Mar 20 00:35:56 yellow kernel: 1 bytes long
Mar 20 00:35:56 yellow kernel: Receiving message y 1 bytes long
Mar 20 00:35:56 yellow kernel: Receiving message
Mar 20 00:35:56 yellow kernel: 1 bytes long
Mar 20 00:35:56 yellow kernel: write_space callback

As you can see 'data_ready' is never called.

Thanks,
Roman.



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Mar 23 2000 - 21:00:27 EST