Comment 3 for bug 1576506

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

Reviewed: https://review.opencontrail.org/19716
Committed: http://github.org/Juniper/contrail-vrouter/commit/9e3bdfc3ec60b31f12d89a4267ed0445908b991e
Submitter: Zuul
Branch: R3.0

commit 9e3bdfc3ec60b31f12d89a4267ed0445908b991e
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