Subject: [L2tpext] Ns in ZLB ACK

From: Venkatesan Pradeep <[email-masked]>
Date: Fri, 14 Feb 2003 18:11:51 -0800

I was testing an LNS using a Cisco LAC (IOS 12.2(T)) and observed a
problem with the Ns in ZLB ACKs sent by the LAC. The LNS was being
stress tested and we were seeing packet loss on it. The LNS had
advertised a window of 20 and the next expected seq was 10. The LAC
had sent packets with Ns = 10 thru Ns = 29 and 10 more were queued
for transmission. The first packet (Ns = 10) didn't make it to the
LNS. The LNS sent a HELLO packet and the LAC responded with
a ZLB ACK with Ns = 40.

The LNS discarded the ZLB because it was outside its window. It looks
like the LAC increments the sequence number right after queueing the
packets for transmission and is using that for the ZLB.

I think that the LNS was right in rejecting the ZLB. Am I correct?.
If so, what should the Ns in the ZLB be in this scenario?
 Ns = 29: This will make sure that it is within the LNS' window but
          given that a non-ZLB packet with Ns=29 had been transmitted,
          the next packet (ZLB or not) should have Ns=30
 Ns = 30: This will satisfy the Ns increment rule but the packet will
          be outside the LNS' window.

Thanks,

Pradeep.