> In the fr_fastroute() method of ip_fil_solaris.c, there is a call
 > to DB_CKSUMFLAGS(mb) which is intended to disable hardware checksum.
 > 
 > I am just trying to understand the code deeply; so my question is: 
 > I wonder : for what is DB_CKSUMFLAGS() needed ? 

I'm not familiar with the fr_fastroute() code, but more generally:
DB_CKSUMFLAGS specifies the current hardware checksum mechanisms that will
be applied on transmit (or have been, on receive) to the data pointed to
by the dblk_t.  If hardware checksums have been completely disabled (as
you have done), then it becomes moot.  But in the common case where
hardware checksums are enabled, a variety of cases remain where it is
impossible, inappropriate, or unnecessary to use certain types of hardware
checksums for a given packet -- thus DB_CKSUMFLAGS.

BTW, in recent builds, other hardware offloading mechanisms have snuck
into the dblk_t checksum fields -- see DB_LSOFLAGS and DB_LSOMSS (eek!)

--
meem
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to