• Ondřej Zajíček's avatar
    Workaround for stupid callback scheduler. · ea89da38
    Ondřej Zajíček authored
    There is no reak callback scheduler and previous behavior causes
    bad things during hard congestion (like BGP hold timeouts).
    Smart callback scheduler is still missing, but main loop was
    changed such that it first processes all tx callbacks (which
    are fast enough) (but max 4* per socket) + rx callbacks for CLI,
    and in the second phase it processes one rx callback per
    socket up to four sockets (as rx callback can be slow when
    there are too many protocols, because route redistribution
    is done synchronously inside rx callback). If there is event
    callback ready, second phase is skipped in 90% of iterations
    (to speed up CLI during congestion).
bgp.c 25.4 KB