• M
    qed: Add mpa buffer descriptors for storing and processing mpa fpdus · fcb39f6c
    Michal Kalderon 提交于
    The mpa buff is a descriptor for iwarp ll2 buffers that contains
    additional information required for aligining fpdu's.
    In some cases, an additional packet will arrive which will complete
    the alignment of a fpdu, but we won't be able to post the fpdu due to
    insufficient place on the tx ring. In this case we can't loose the data
    and require storing it for later. Processing is therefore done
    in two places, during rx completion, where we initialize a mpa buffer
    descriptor and add it to the pending list, and during tx-completion, since
    we free up an entry in the tx chain we can process any pending mpa packets.
    The mpa buff descriptors are pre-allocated since we have to ensure that
    we won't reach a state where we can't store an incoming unaligned packet.
    All packets received on the ll2 MUST be processed by the driver at some
    stage. Since they are preallocated, we hold a free list.
    Signed-off-by: NMichal Kalderon <Michal.Kalderon@cavium.com>
    Signed-off-by: NAriel Elior <Ariel.Elior@cavium.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    fcb39f6c
qed_iwarp.c 72.8 KB