• Javier Cardona's avatar
    mac80211: Avoid filling up mesh preq queue with redundant requests · f3011cf9
    Javier Cardona authored
    Don't accept redundant PREQs for a given destination. This fixes a
    problem under high load:
    
    kernel: [20386.250913] mesh_queue_preq: 235 callbacks suppressed
    kernel: [20386.253335] Mesh HWMP (mesh0): PREQ node queue full
    kernel: [20386.253352] Mesh HWMP (mesh0): PREQ node queue full
    (...)
    
    The 802.11s protocol has a provision to limit the rate of path requests
    (PREQs) are transmitted (dot11MeshHWMPpreqMinInterval) but there was no
    limit on the rate at which PREQs were being queued up.  There is a valid
    reason for queuing PREQs: this way we can even out PREQ bursts.  But
    queueing multiple PREQs for the same destination is useless.
    Reported-by: default avatarPedro Larbig <pedro.larbig@carhs.de>
    Signed-off-by: default avatarJavier Cardona <javier@cozybit.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    f3011cf9
mesh_hwmp.c 30.9 KB