.. | .. |
---|
1236 | 1236 | (le32_to_cpu(gdesc->dword[3]) & |
---|
1237 | 1237 | VMXNET3_RCD_CSUM_OK) == VMXNET3_RCD_CSUM_OK) { |
---|
1238 | 1238 | skb->ip_summed = CHECKSUM_UNNECESSARY; |
---|
| 1239 | + if ((le32_to_cpu(gdesc->dword[0]) & |
---|
| 1240 | + (1UL << VMXNET3_RCD_HDR_INNER_SHIFT))) { |
---|
| 1241 | + skb->csum_level = 1; |
---|
| 1242 | + } |
---|
1239 | 1243 | WARN_ON_ONCE(!(gdesc->rcd.tcp || gdesc->rcd.udp) && |
---|
1240 | 1244 | !(le32_to_cpu(gdesc->dword[0]) & |
---|
1241 | 1245 | (1UL << VMXNET3_RCD_HDR_INNER_SHIFT))); |
---|
.. | .. |
---|
1245 | 1249 | } else if (gdesc->rcd.v6 && (le32_to_cpu(gdesc->dword[3]) & |
---|
1246 | 1250 | (1 << VMXNET3_RCD_TUC_SHIFT))) { |
---|
1247 | 1251 | skb->ip_summed = CHECKSUM_UNNECESSARY; |
---|
| 1252 | + if ((le32_to_cpu(gdesc->dword[0]) & |
---|
| 1253 | + (1UL << VMXNET3_RCD_HDR_INNER_SHIFT))) { |
---|
| 1254 | + skb->csum_level = 1; |
---|
| 1255 | + } |
---|
1248 | 1256 | WARN_ON_ONCE(!(gdesc->rcd.tcp || gdesc->rcd.udp) && |
---|
1249 | 1257 | !(le32_to_cpu(gdesc->dword[0]) & |
---|
1250 | 1258 | (1UL << VMXNET3_RCD_HDR_INNER_SHIFT))); |
---|