[BEEPwg] RFC3081/SEQ frame
Rainer Gerhards
rgerhards@hq.adiscon.com
Thu, 24 Jul 2003 15:52:51 +0200
Hi list,
I am implementing a partial BEEP stack for rfc3195 syslog. I have a
question in regard to the SEQ message. RFC3081 says regarding ackn
--
o an acknowledgement number, that indicates the value of the next
sequence number that the sender is expecting to receive on this
channel; and,
--
I am doing testing against the RoadRunner library. I am sending syslog
raw (Rfc 3195) messages. My initiator sees SEQ frames from the listener
more or less at the end of the window, HOWEVER, the ackn points back to
frames that have already been sent some time before. I have confirmed
the timing with a network packet capture.
For example, I see an initial SEQ after sending 4070 bytes (which is
fine), but it specifies an ackno of 2839. If I look at the network
trace, frame 2839 has been packed by the IP stack into a single network
packet that goes up to seqno 2950. My app managed to send another two
packets (each one containing more than a single frame) before the SEQ
arrived.
Does this mean I need to retransmit everything beginning at 2839 (which
was a valid seqno)? I am right now *ignoring* the ackno at all and
continue sending as long as I receive a "good" SEQ back. In doing so,
all messages arrive without any one missing and in order. However, the
ackno diverts more and more from the actual seqno. For example, the last
SEQ has an ackno of 3453930 and I receive this frame after sending msg
3988850.
I would deeply appreciate if anybody could explain/provide pointers to
how this is supposed to work.
Many thanks,
Rainer Gerhards