[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
ICMP problems
The following concerns some problems with the Symbolics' implementation of
the ICMP portion of IP-TCP. I'm looking for anyone who might have had (and
solved) similar problems.
The code with problems is in the file SYS:IP-TCP;ICMP.LISP.2624 and is the
implementation of such things as ICMP-SEND-ECHO (the host pinger) and
SEND-MISLEADING-REDIRECT (an answer to a ping that says try another place
instead). ICMP messages are sent with a sequence number that comes back
in the reply. The Symbolics implementation increments this number without
inhibiting process switching. Ergo, it is possible for two processes on
the same host to originate pings with the same sequence number.
Further, the receipt of a ping only looks to see if the same sequence number
is in a return packet. This causes a problem since the answer to a ping
might be a SEND-MISLEADING-REDIRECT from a host other than the one that
was pinged. In other words, the Symbolics receiver ignores message type.
For both of the above reasons, I am getting positive responses to pings from
hosts that haven't been powered up in months.
It seems that the proper fix is to (1) incapsulate the sequence number
incrementation against process switching and (2) make the receiver use
redirect data to update route tables (optional) but NIL the ping response.
A. Does anybody know if Symbolics is (has/will) dealt with these problems?
B. Has anybody else fixed this stuff? (If so, will you share?)
C. If answers to A and B are negative, I will try to fix this myself.
Does anyone know the code well enough to guess that the only code that
needs to be fixed is in the file SYS:IP-TCP;ICMP.LISP.2624?
Jeff
[Though I have a software service contract, I have not had a response (or
acknowledgement) of any problem reports for the last six months. In fact,
the only time I am able to get help from Symbolics is when I post problems
to SLUG. This is a sorta appology for using this Bboard rather than there
Customer-Reports mechanism. It's pretty clear that this problem isn't of
much general interest to most of you.]