Bug 11293 - FreeBSD's PPP implementation of LQM appears to be incorrect.
Summary: FreeBSD's PPP implementation of LQM appears to be incorrect.
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: Unspecified
Hardware: Any Any
: Normal Affects Only Me
Assignee: Brian Somers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 1999-04-23 17:50 UTC by john
Modified: 2004-08-04 15:44 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description john 1999-04-23 17:50:02 UTC
While doing inter-op testing against FreeBSD, we noted that our LQM
analysis would give invalid figures.

It appears that the LQM protocol is not implemented correctly in FreeBSD.
It is directly updating the SaveInXXX variables on receiving any packet
type, rather than copying them from the mib on reception of a LQR from
a remote peer. This leads to invalid values being TX'ed in a report.
This becomes more obvious when the LQR periods on the two machines are
of a different size.
peer.

Fix: 

Copy the relevant values to the SavInXXXX fields from the relevant mib
(or InLQRs for SaveInLQRs), as specified in the RFC1989.
How-To-Repeat: Run against a working inplementation of LQM, making the report periods
different.
Comment 1 Steve Price freebsd_committer freebsd_triage 1999-04-26 23:56:23 UTC
Responsible Changed
From-To: gnats-admin->freebsd-bugs

Misfiled PR. 
Comment 2 Brian Somers freebsd_committer freebsd_triage 1999-04-27 02:16:22 UTC
Responsible Changed
From-To: freebsd-bugs->brian

Ppp's mine. 
Comment 3 Brian Somers freebsd_committer freebsd_triage 2004-06-29 17:55:03 UTC
State Changed
From-To: open->patched

I've re-implemented the LQM stuff and committed to -current. 

I'd be interested in peoples comments on the analysis that now 
turns up with ``set log +lqm''.  My only real-world testing has 
been with my ADSL provider, and with output such as: 

LQM: ADSL: Input: 
LQM:   Magic:          22264bc4   LastOutLQRs:    00000011 
LQM:   LastOutPackets: 0000267d   LastOutOctets:  00ba1202 
LQM:   PeerInLQRs:     00000010   PeerInPackets:  02f31620 
LQM:   PeerInDiscards: 00000000   PeerInErrors:   00000000 
LQM:   PeerInOctets:   bc00380e   PeerOutLQRs:    00000010 
LQM:   PeerOutPackets: 4348204d   PeerOutOctets:  4441502f 
[.....] 
LQM: ADSL: Input: 
LQM:   Magic:          22264bc4   LastOutLQRs:    00000012 
LQM:   LastOutPackets: 00002a91   LastOutOctets:  00ce7585 
LQM:   PeerInLQRs:     00000011   PeerInPackets:  02f31a34 
LQM:   PeerInDiscards: 00000000   PeerInErrors:   00000000 
LQM:   PeerInOctets:   bc14a3b9   PeerOutLQRs:    00000011 
LQM:   PeerOutPackets: 00000000   PeerOutOctets:  00004545 
LQM: Analysis: 
LQM:   Outbound lossage: 0 LQRs (0 en route), 0 packets, -2088 octets 
LQM:   Inbound lossage: -1128801017 packets, -1145157573 octets 
LQM:                    Likely due to transport congestion 

I can only blame their implementation -- believe me, those 
PeerOutPackets/Octets are not for real!!!  Perhaps they're 
including some L2TP header info or something with their 
PeerInOctets value...
Comment 4 Brian Somers freebsd_committer freebsd_triage 2004-08-04 15:42:44 UTC
State Changed
From-To: patched->closed

Close this bug now that the LQM changes have been MFC'd. 
I may still apply the revert-to-echo-lqr changes if the people 
experiencing lqr problems still have them after this change.