swcore/mpm: prevent premature frame termination
When high loads of random length traffic was going through the switch, there were situations that words_total for a new frame was set to fetch_pg_words(=cur_ll.size) for the previous frame. If fetch_pg_words was a small number the new frame was reported _done_ soon after it was started in the OutputBlock. Therefore the rest of the frame was staying in the async_shrink_fifo making a mess for subsequent frames. The final result was OB hanging in the frozen_cycle state.
Please register or sign in to comment