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.
Responsible Changed From-To: gnats-admin->freebsd-bugs Misfiled PR.
Responsible Changed From-To: freebsd-bugs->brian Ppp's mine.
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...
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.