Changeset 28219 in vbox for trunk/src/VBox
- Timestamp:
- Apr 12, 2010 4:51:18 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
r28208 r28219 543 543 struct skb_shared_info *pShInfo = skb_shinfo(pPkt); 544 544 545 if (!fDstWire) 546 fGsoType |= SKB_GSO_DODGY; 547 pShInfo->gso_type = fGsoType; 545 pShInfo->gso_type = fGsoType | SKB_GSO_DODGY; 548 546 pShInfo->gso_size = pSG->GsoCtx.cbMaxSeg; 549 547 pShInfo->gso_segs = PDMNetGsoCalcSegmentCount(&pSG->GsoCtx, pSG->cbTotal); … … 553 551 Assert(skb_headlen(pPkt) >= pSG->GsoCtx.cbHdrs); 554 552 pPkt->ip_summed = CHECKSUM_PARTIAL; 553 # if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22) 555 554 pPkt->csum_start = skb_headroom(pPkt) + pSG->GsoCtx.offHdr2; 556 555 if (fGsoType & (SKB_GSO_TCPV4 | SKB_GSO_TCPV6)) … … 558 557 else 559 558 pPkt->csum_offset = RT_OFFSETOF(RTNETUDP, uh_sum); 559 # else 560 pPkt->h.raw = skb->data + pSG->GsoCtx.offHdr2; 561 if (fGsoType & (SKB_GSO_TCPV4 | SKB_GSO_TCPV6)) 562 pPkt->csum = RT_OFFSETOF(RTNETTCP, th_sum); 563 else 564 pPkt->csum = RT_OFFSETOF(RTNETUDP, uh_sum); 565 # endif 560 566 } 561 567 else 562 568 { 563 569 pPkt->ip_summed = CHECKSUM_UNNECESSARY; 570 pPkt->csum = 0; 564 571 PDMNetGsoPrepForDirectUse(&pSG->GsoCtx, pPkt->data, pSG->cbTotal, false /*fPayloadChecksum*/); 565 572 }
Note:
See TracChangeset
for help on using the changeset viewer.