CRC calculation in the Feedback CRC options
Bug #1802435 reported by
Yixin Huang
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
rohc |
Invalid
|
Undecided
|
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 |
To post a comment you must log in.
Hello,
The "CRC fields of all CRC options" as read in RFC 3095 §5.7.6.3 [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.
Regards,
Didier
[1] https:/ /tools. ietf.org/ html/rfc3095# section- 5.7.6.3 /tools. ietf.org/ html/rfc4815# section- 8.6
[2] https:/