• M
    net: set a default value for sndbuf= · fc5b81d1
    Mark McLoughlin 提交于
    On reflection, perhaps it does make sense to set a default value for
    the sndbuf= tap parameter.
    
    For best effect, sndbuf= should be set to just below the capacity of
    the physical NIC.
    
    Setting it higher will cause packets to be dropped before the limit
    is hit. Setting it much lower will not cause any problems unless
    you set it low enough such that the guest cannot queue up new packets
    before the NIC has emptied its queue.
    
    In Linux, txqueuelen=1000 by default for ethernet NICs. Given a 1500
    byte MTU, 1Mb is a good choice for sndbuf.
    
    If it turns out that txqueuelen is actually much lower than this, then
    sndbuf is essentially disabled. In the event that txqueuelen is much
    higher, it's unlikely that the NIC will be able to empty a 1Mb queue.
    
    Thanks to Herbert Xu for this logic.
    Signed-off-by: NMark McLoughlin <markmc@redhat.com>
    Cc: Herbert Xu <herbert.xu@redhat.com>
    Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
    fc5b81d1
net.c 79.2 KB