• Magnus Karlsson's avatar
    selftests/xsk: store offset in pkt instead of addr · d9f6d970
    Magnus Karlsson authored
    Store the offset in struct pkt instead of the address. This is
    important since address is only meaningful in the context of a packet
    that is stored in a single umem buffer and thus a single Tx
    descriptor. If the packet, in contrast need to be represented by
    multiple buffers in the umem, storing the address makes no sense since
    the packet will consist of multiple buffers in the umem at various
    addresses. This change is in preparation for the upcoming
    multi-buffer support in AF_XDP and the corresponding tests.
    
    So instead of indicating the address, we instead indicate the offset
    of the packet in the first buffer. The actual address of the buffer is
    allocated from the umem with a new function called
    umem_alloc_buffer(). This also means we can get rid of the
    use_fill_for_addr flag as the addresses fed into the fill ring will
    always be the offset from the pkt specification in the packet stream
    plus the address of the allocated buffer from the umem. No special
    casing needed.
    Signed-off-by: default avatarMagnus Karlsson <magnus.karlsson@intel.com>
    Link: https://lore.kernel.org/r/20230516103109.3066-7-magnus.karlsson@gmail.comSigned-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    d9f6d970
xskxceiver.h 3.75 KB