• Michał Mirosław's avatar
    net: tun: convert to hw_features · 88255375
    Michał Mirosław authored
    This changes offload setting behaviour to what I think is correct:
     - offloads set via ethtool mean what admin wants to use (by default
       he wants 'em all)
     - offloads set via ioctl() mean what userspace is expecting to get
       (this limits which admin wishes are granted)
     - TUN_NOCHECKSUM is ignored, as it might cause broken packets when
       forwarded (ip_summed == CHECKSUM_UNNECESSARY means that checksum
       was verified, not that it can be ignored)
    
    If TUN_NOCHECKSUM is implemented, it should set skb->csum_* and
    skb->ip_summed (= CHECKSUM_PARTIAL) for known protocols and let others
    be verified by kernel when necessary.
    
    TUN_NOCHECKSUM handling was introduced by commit
    f43798c2:
    
        tun: Allow GSO using virtio_net_hdr
    Signed-off-by: default avatarMichał Mirosław <mirq-linux@rere.qmqm.pl>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    88255375
tun.c 37.3 KB