I find that the total length field of IP header would be modified if the hw
checksum is enabled. Therefore, skb_padto + hw checksum wouldn't work. The
software checksum is necessary.
It's really strange that the hardware has any reason to update the IP
header length field when it is asked to compute the checksum.