|
Description
|
During Clearview IPMP development, Erik Nordmark and I noticed that most
of the receive-side ILL_HCKSUM_CAPABLE() tests are done on the wrong ill.
Specifically, the ILL_HCKSUM_CAPABLE() test should be made on the ill that
actually received the packet, but is instead made against the ill that hosts
the IP address the packet was sent to. Thus, if a packet comes in on the
wrong ill, or if e.g. an IPMP failover occurred in the meantime, we may think
the packet had a hardware checksum calculated when it did not. This becomes
more pronounced with Clearview IPMP, because the ill that hosts the IP address
is never capable of hardware checksums (since it's the IPMP IP interface).
|