While using SPX as a module running the kernel 2.2.12 I found the following problems and I wrote a patch that seems to solve them. - select() does not work for an SPX socket (waiting to read) The patch adds a function spx_datagram_poll() that is basically the same function as the one in net/core. spx_datagram_poll() however checks the buffers where the SPX implementation really puts the data. - only three SPX packets can be exchanged between the server (not Linux) and a Linux client If the server checks the alloc field of the SPX frame it will notice that the number stops increasing at three. When this happens the server refuses to send packets whose sequence number is greater than three. - kernel oops if the net number has no route to it When trying to connect on a network to which there is no route IPX might return a ENETUNREACH error code. The SPX code was not checking this, what lead to an error in sock_alloc_send_skb() (the size parameter got set to a huge unsigned number) after which the system would freeze. This is the first time I send a patch. I read all the documents I could find on sending patches and I looked at other people's patches but still something might be wrong formatted. If that is the case please let me know. Bye, Eduardo. - To unsubscribe from this list: send the line "unsubscribe linux-net" in the body of a message to [EMAIL PROTECTED]
