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.

  1. when these fields used?
  2. 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

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -