network programming - checksum fields in the socket buffer -
i'm trying understand purpose of csum_start
, csum_offset
fields in struct sk_buff
.
googling them, came across following definition:
csum_start
offset address of skb->head
address of checksum field. csum_offset
offset beginning of address of checksum end.
- when these fields used?
- if checksum offloaded device driver via
netif_f_hw_csum
, how aforementioned values used/interpreted in context?
any insight on above highly appreciated!
if device's feature set netif_f_hw_csum
, network stack not compute transport checksum on transmit path. instead, tells device compute checksum setting ip_summed
checksum_partial
.
the device shall use csum_start
(or skb_checksum_start_offset(skb)
occasionally) starting position , compute checksum till end of packet (len
field in socket buffer). computed checksum stored @ csum_offset
csum_start
.
Comments
Post a Comment