Some 3G modems return the wrong signature in echo packets and make it

impossible to use LQR/ECHO. They return want_magic instead.

With this change it is now possible to use

	enable lqr
	set lqrperiod 5
	enable echo
	set echoperiod 5

in your ppp.conf file.

MFC after:	3 days
This commit is contained in:
n_hibma 2012-10-12 22:48:33 +00:00
parent 2db2a2f9c6
commit 5f97c24afc

View File

@ -108,7 +108,8 @@ lqr_RecvEcho(struct fsm *fp, struct mbuf *bp)
* die as a result.
*/
}
if (lqr.signature == SIGNATURE) {
if (lqr.signature == SIGNATURE
|| lqr.signature == lcp->want_magic) { /* some implementations return the wrong magic */
/* careful not to update lqm.echo.seq_recv with older values */
if ((hdlc->lqm.echo.seq_recv > (u_int32_t)0 - 5 && lqr.sequence < 5) ||
(hdlc->lqm.echo.seq_recv <= (u_int32_t)0 - 5 &&