Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys/net



Module Name:    src
Committed By:   yamaguchi
Date:           Wed Apr 28 09:36:24 UTC 2021

Modified Files:
        src/sys/net: if_spppsubr.c if_spppvar.h

Log Message:
Move paese of conf-req, conf-nak and conf-rej into workqueue
from softint context

When the pases were processed in softint, the state machine
in if_spppsubr.c had been broken by simultaneous events
on rare occasions.

Example:
 1. Do ifconfig pppoe* up
    - lcp open event is enqueued to workqueue
 2. Receive conf-ack, and parse the packet
    - save mru to sp->lcp.their_mru
    - lcp RCR+ event is enqueued to workqueue
 3. Process lcp open event
    - initialize data including sp->lcp.their_mru
 4. Process lcp RCR+ event
    - Use sp->lcp.their_mru
        - but it was initialized


To generate a diff of this commit:
cvs rdiff -u -r1.226 -r1.227 src/sys/net/if_spppsubr.c
cvs rdiff -u -r1.33 -r1.34 src/sys/net/if_spppvar.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index