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]

Reply via email to