CRC calculation in the Feedback CRC options

Bug #1802435 reported by Yixin Huang on 2018-11-09
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Didier Barvaux

Bug Description

In the Master code, before calculating the CRC value of the CRC option in the feedback, only CRC octet in the CRC optionsets is set as 0x00, and the octet is reset as the calculated CRC value finally.

But in RFC 3095 page 92, it said that "For purposes of computing the CRC, the CRC fields of all CRC options are zero.".
Does the "CRC fields of all CRC options" mean the Type, Length and CRC field in the CRC option? Shall the Type, Length and CRC field be all set as 0x00 when calculating CRC?

tags: added: library
Changed in rohc:
assignee: nobody → Didier Barvaux (didier-barvaux)
milestone: none → 2.3.0
Didier Barvaux (didier-barvaux) wrote :


The "CRC fields of all CRC options" as read in RFC 3095 § [1] means only the CRC field of every CRC options shall be set to 0 (the Type and Length fields are not set to 0). The plural form "CRC fields" is used to enforce the fact that if several CRC options are present then all the CRC fields of all the CRC options shall be set to 0. Indeed, RFC 4815 §8.6 [2] reads :

   Although it is not useful to have more than one single CRC option in
   a feedback packet, having multiple CRC options is still allowed. If
   multiple CRC options are included, all such CRC options MUST be
   identical, as they will be calculated over the same header; the
   compressor MUST otherwise discard the feedback packet.

It is required to set the CRC fields of all CRC options to 0 in order to have identical CRC values in all of them.



Changed in rohc:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers