• Paolo Abeni's avatar
    net/tun: implement ndo_set_rx_headroom · eaea34b2
    Paolo Abeni authored
    ndo_set_rx_headroom controls the align value used by tun devices to
    allocate skbs on frame reception.
    When the xmit device adds a large encapsulation, this avoids an skb
    head reallocation on forwarding.
    
    The measured improvement when forwarding towards a vxlan dev with
    frame size below the egress device MTU is as follow:
    
    vxlan over ipv6, bridged: +6%
    vxlan over ipv6, ovs: +7%
    
    In case of ipv4 tunnels there is no improvement, since the tun
    device default alignment provides enough headroom to avoid the skb
    head reallocation.
    Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    eaea34b2
tun.c 56.7 KB