• J
    nfp: provide 256 bytes of XDP headroom in all configurations · dbf637ff
    Jakub Kicinski 提交于
    For legacy reasons NFP FW may be compiled to DMA packets to a constant
    offset into the buffer and use the space before it for metadata.  This
    ensures that packets data always start at a certain offset regardless of
    the amount of preceding metadata.
    
    If rx offset is set to 0 there may still be up to 64 bytes of metadata
    but metadata will start at the beginning of the buffer, instead of:
    
        data_start_offset = rx_offset - meta_len
    
    Even though we make the buffers larger to accommodate up to 64 bytes of
    metadata, if there is only N bytes of metadata, we will end up with
    N bytes of headroom and 64 - N bytes of tailroom.  Therefore we can't
    rely on that space for XDP headroom.  Make sure we always allocate
    full 256 bytes.  This, unfortunately, means we can't fit the headroom
    on an u8 any more.
    Signed-off-by: NJakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    dbf637ff
nfp_net_common.c 86.1 KB