Documente Academic
Documente Profesional
Documente Cultură
Segmentation offload:
• Increment IP identification counter each packet.
• UDP Length calculation.
• Perform IP and UDP checksum.
Segmentation offload:
• Increment IP identification counter each packet.
• UDP Length calculation.
• Perform IP and UDP checksum.
Segment 1
Adjust headers
• Fix length Segment 2
Segment 4
Segment 5
Segment 6
Segment 7 Send
© 2018 Mellanox Technologies | Confidential 7
Workaround to missing HW feature
Split Message to two different descriptors Segment 0
Segment 1
Adjust headers
• Fix length Segment 2
GSO_PARTIAL
Segment 5
• Still need to adjust the UDP total length
Segment 6
Segment 7 Send
© 2018 Mellanox Technologies | Confidential 8
UDP Single Stream Performance
40 100
line rate
35 90
1.5X improvement
Timeline:
Software offload introduced in April 14th
RFC for Intel NICs May 3rd
Patches for Mellanox NICs upstream since June 29th © 2018 Mellanox Technologies | Confidential 10
Discussion
Maybe GSO partial UDP Segmentation should provide the segmented length and
not the unsegmented length?
• Currently the IP length and the UDP length of the partial segment do not match
(e.g. IP.total_length = 1500 UDP.length = 15K)
Are there any plans to include some part of QUIC in the Linux kernel?
• For QUIC inline crypto offload the kernel must be involved
© 2018 Mellanox Technologies | Confidential 11