RFC Errata


Errata Search

 
Source of RFC  
Summary Table Full Records

Found 4 records.

Status: Verified (4)

RFC 5225, "RObust Header Compression Version 2 (ROHCv2): Profiles for RTP, UDP, IP, ESP and UDP-Lite", April 2008

Source of RFC: rohc (tsv)

Errata ID: 1421

Status: Verified
Type: Technical

Reported By: Alfred Hoenes
Date Reported: 2008-05-13
Verifier Name: Magnus Westerlund
Date Verified: 2009-03-17

Section 6.6.6, p.28 says:

|  The inferred_ip_v4_length encoding method compresses the IPv4 header
|  checksum down to a size of zero bits, i.e., no bits are transmitted
   in compressed headers for this field.  [...]

It should say:

|  The inferred_ip_v4_length encoding method compresses the IPv4 Total
|  Length field down to a size of zero bits, i.e., no bits are
   transmitted in compressed headers for this field.  [...]

Notes:

Apparently, a copyedit flaw (text copied from 6.6.4 insufficiently
modified).

Errata ID: 2703

Status: Verified
Type: Technical

Reported By: Carl Knutsson
Date Reported: 2011-02-03
Verifier Name: Wesley Eddy
Date Verified: 2012-06-05

Section 6.6.11 says:

o  ip_id_behavior, one octet for each IP header in the compressible
   header chain starting from the outermost header.  Each octet
   consists of 2 bits padded with 6 MSBs of zeroes.

It should say:

o  ip_id_behavior_outer, one octet for each IPv4 header except the
   innermost in the compressible header chain starting from the outermost 
   header. Each octet consists of 2 bits padded with 6 MSBs of zeroes.

o  ip_id_behavior_innermost, one octet if the innermost header is an 
   IPv4 header. The octet consists of 2 bits padded with 6 MSBs of zeroes.

Notes:

There is no control field called ip_id_behavior in the document. There are two control fields related to IP-ID behavior, ip_id_behavior_innermost and ip_id_behavior_outer. For IPv6, only the ip_id_behavior_innermost field exists and its value is always IP_ID_BEHAVIOR_RANDOM according to the FN. This makes it impossible to include ip_id_behavior_outer when calculating the crc for IPv6 headers. Furthermore, since the ip_id_behavior_innermost is constant it makes no sense to include it in the crc calculation.

This errata has been verified based on discussion on the ROHC mailing list involving the authors in February, 2011.

Errata ID: 3185

Status: Verified
Type: Technical

Reported By: FWX
Date Reported: 2012-04-11
Verifier Name: Wes Eddy
Date Verified: 2012-04-27

Section page 64 says:

rtp(profile_value, ts_stride_value, time_stride_value,
    reorder_ratio_value)
{
  UNCOMPRESSED {
    ENFORCE((profile_value == PROFILE_RTP_0101) ||
            (profile_value == PROFILE_RTP_0107));
    rtp_version =:= uncompressed_value(2, 0) [  2 ];

It should say:

rtp(profile_value, ts_stride_value, time_stride_value,
    reorder_ratio_value)
{
  UNCOMPRESSED {
    ENFORCE((profile_value == PROFILE_RTP_0101) ||
            (profile_value == PROFILE_RTP_0107));
    rtp_version =:= uncompressed_value(2, 2) [  2 ];

Notes:

rtp_version is set to 2, not to zero.

See RTP Header Fields page 115 :

Version

This field is expected to have the value two and the field is
therefore classified as STATIC-KNOWN.

Errata ID: 3248

Status: Verified
Type: Technical

Reported By: FWX
Date Reported: 2012-06-07
Verifier Name: Wesley Eddy
Date Verified: 2012-08-08

Section 6.8.2.4 says:

page 67:

  COMPRESSED udp_lite_endpoint_dynamic {
    ENFORCE(profile_value == PROFILE_UDPLITE_0108);
    reserved =:= compressed_value(4, 0)                      [  4 ];
    coverage_behavior =:= irregular(2)                       [  2 ];
    reorder_ratio     =:= irregular(2)                       [  2 ];
    checksum_coverage =:=
      checksum_coverage_dynchain(coverage_behavior.UVALUE)   [ 16 ];
    checksum          =:= irregular(16)                      [ 16 ];
    msn               =:= irregular(16)                      [ 16 ];
  }

page 68:

  COMPRESSED udp_lite_regular_dynamic {
    ENFORCE(profile_value == PROFILE_RTP_0107);
    coverage_behavior =:= irregular(2)                       [  2 ];
    reserved =:= compressed_value(6, 0)                      [  6 ];
    checksum_coverage =:=
        checksum_coverage_dynchain(coverage_behavior.UVALUE) [ 16 ];
    checksum =:= irregular(16)                               [ 16 ];
  }

It should say:

page 67:

  COMPRESSED udp_lite_endpoint_dynamic {
    ENFORCE(profile_value == PROFILE_UDPLITE_0108);
    reserved =:= compressed_value(4, 0)                      [  4 ];
    coverage_behavior =:= irregular(2)                       [  2 ];
    reorder_ratio     =:= irregular(2)                       [  2 ];
    checksum_coverage =:=
      checksum_coverage_dynchain(coverage_behavior.UVALUE)   [ 0, 16 ];  <===
    checksum          =:= irregular(16)                      [ 16 ];
    msn               =:= irregular(16)                      [ 16 ];
  }

page 68:

  COMPRESSED udp_lite_regular_dynamic {
    ENFORCE(profile_value == PROFILE_RTP_0107);
    coverage_behavior =:= irregular(2)                       [  2 ];
    reserved =:= compressed_value(6, 0)                      [  6 ];
    checksum_coverage =:=
        checksum_coverage_dynchain(coverage_behavior.UVALUE) [ 0, 16 ];  <====
    checksum =:= irregular(16)                               [ 16 ];
  }

Notes:

checksum_coverage_dynchain(behavior) compression method (page 66) may compress the checksum_coverage field to 0 bits if behavior is set to UDP_LITE_COVERAGE_INFERRED.

Report New Errata



Search RFCs
Advanced Search
×