Hi, I'd like to get some help determining if this is a problem per se. In /sys/net/if_spppsubr.c lines 1323-1327 the nmagic is assembled and checked against sp->lcp.magic, and if it doesn't match then it does something weird. It resets the sp->pp_alivecnt to 0. This to me does nothing much other than resetting a counter (which only tears down a connection if it has achieved MAXALIVECNT.
At first I thought it should tear down the link but RFC 1661 says that this is the pessimistic approach around page 46. The RFC is a little vague, because it leaves this as unspecified on page 47: --- Procedures for recovery from either case are unspecified, and may vary from implementation to implementation. A somewhat pessimistic procedure is to assume a LCP Down event. A further Open event will begin the process of re-establishing the link, which can't complete until the looped-back condition is terminated, and Magic-Numbers are successfully negotiated. A more optimistic procedure (in the case of a looped-back link) is to begin transmitting LCP Echo-Request packets until an appropriate Echo-Reply is received, indicating a termination of the looped- back condition. --- I'm shrugging my shoulders as I see an unspecified area and it's not really handled. Is no code better than some unspecified code? Is any code better than leaving it alone? In my scenario I only looked at the code, I have not tested anything, to see if its a detriment. I have checked FreeBSD source and it also does this in head. Regards, -peter