mywiki:linux:checksum
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| mywiki:linux:checksum [2016/04/22 15:01] – shaoguoh | mywiki:linux:checksum [2019/09/15 18:55] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 16: | Line 16: | ||
| skb-> | skb-> | ||
| + | |||
| skb-> | skb-> | ||
| + | |||
| + | **TSO** is a hardware feature whereas **GSO** is a software feature. | ||
| + | |||
| + | In the sense, TSO needs "the device" | ||
| + | BUT, GSO is a strategy followed by kernel to avoid processing smaller packets throughout the stack to improve the porformance | ||
| + | |||
| + | ====== Linux Checksum offloading ====== | ||
| + | |||
| + | - For bridging and non-udp/tcp packet, no so called offloading support in tx path | ||
| + | - For Fragmented packets, no checksum offloading support in tx path | ||
| + | - For UDP/TCP routing packet (incremental), | ||
| + | - Only Linux local output UDP/TCP’s checksum can be offloaded in tx path | ||
| + | - For L2TP related tunnels, only inner UDP/TCP can be offloaded, outer UDP/TCP is done by linux itself in tx path. | ||
| + | |||
| + | Below variables in skb is very important for checksum offloading: | ||
| + | - ip_summed (CHECKSUM_PARTIAL) | ||
| + | - encapsulation | ||
| + | - inner_network_header/ | ||
| + | - inner_transport_header/ | ||
| + | |||
| ====== Linux Checksum ====== | ====== Linux Checksum ====== | ||
mywiki/linux/checksum.1461308483.txt.gz · Last modified: (external edit)
