Comment 9 for bug 1576506

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/22196
Committed: http://github.org/Juniper/contrail-vrouter/commit/5880ae9a12d26b3f221447a404334416cb60c3d2
Submitter: Zuul
Branch: master

commit 5880ae9a12d26b3f221447a404334416cb60c3d2
Author: Divakar <email address hidden>
Date: Fri Apr 29 10:29:56 2016 +0530

Dont treat all FFFF checksum packets as DIAG packets

Currently, in the receiving Vrouter, if the checksum of the UDP packets
is FFFF, it is treated as DIAG packets. But there can be some UDP
packets whose checksum can be FFFF. These should not be treated as DIAG
packets. To achieve this, DIAG packets are treated like below.

Agent ensures that checksum of DIAG packets is not FFFF, but stores FFFF
as checksum in UDP header. In the receiving Vrouter if UDP's checksum is
seen as FFFF, checksum is validated again to verify whether that is
correct checksum or not. If that is a wrong checksum, it would be marked
as DIAG packet. If right checksum, it would be processed as any other
regular packet.

Also incase of MplsoUDP encapsulation, even if the
configuration is to calculate the outer UDP checksum, if DIAG packet,
the outer UDP checksum is not computed. This ensures that,on the
receiving side, if checksum is validated by NIC, we will not have to
compute the checksum for the inner packet once again. To ensure that
there are not transmit errors, Agent calcualtes the checksum in the
payload and validates it after receiving.

Change-Id: Ie5f88deeea70e15aefda4b9dce49ccc48df3f117
closes-bug: #1576506