> 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]
