• David S. Miller's avatar
    [TCP]: Simplify SKB data portion allocation with NETIF_F_SG. · c65f7f00
    David S. Miller authored
    The ideal and most optimal layout for an SKB when doing
    scatter-gather is to put all the headers at skb->data, and
    all the user data in the page array.
    
    This makes SKB splitting and combining extremely simple,
    especially before a packet goes onto the wire the first
    time.
    
    So, when sk_stream_alloc_pskb() is given a zero size, make
    sure there is no skb_tailroom().  This is achieved by applying
    SKB_DATA_ALIGN() to the header length used here.
    
    Next, make select_size() in TCP output segmentation use a
    length of zero when NETIF_F_SG is true on the outgoing
    interface.
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    c65f7f00
tcp.c 62.6 KB