Interoperability problems with Aeroflex TM500(LTE)

Bug #1301518 reported by Didier Barvaux
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
rohc
Incomplete
Medium
Didier Barvaux

Bug Description

Tests with the TM500(LTE) equipment by Aeroflex reported a problem with TCP IR packets.

Uncompressed TCP packet (length 52):
  45000034 536E4000 80064537 C0A8956A
  0A0A0202 0B0020FB 9934219C 00000000
  8002FFFF 26350000 020405AC 01030301
  01010402

TCP IR generated by the Aeroflex equipment (length 41)
  FD06FC00 06C0A895 6A0A0A02 020B0020
  FB040080 536E3002 00019934 219CFFFF
  263506A8 B88D05AC 01

The IR packet is decompressed unsuccessfully with the ROHC library at revision 1027.

After analysis the problem was caused by the compression of TCP options. The ROHC library sends the full TCP options as items (type, length, data) while it should be sent compressed (see *_list_item starting at page 65 of RFC 6846):
  nop_list_item
  mss_list_item
  wscale_list_item
  tsopt_list_item
  sack_list_item
  sack_permitted_list_item
  generic_list_item

Revision history for this message
Didier Barvaux (didier-barvaux) wrote :
Changed in rohc:
milestone: none → 1.7.0
assignee: nobody → Didier Barvaux (didier-barvaux)
importance: Undecided → Medium
status: New → In Progress
tags: added: conformance library tcp
Revision history for this message
Didier Barvaux (didier-barvaux) wrote :
Revision history for this message
Didier Barvaux (didier-barvaux) wrote :

Tests performed with the non-regression tool and the attached pcap files:
  $ ./test/non_regression/test_non_regression --verbose -c tcp.rohc_ref.pcap smallcid tcp.pcap

Revision history for this message
Didier Barvaux (didier-barvaux) wrote :
Revision history for this message
Didier Barvaux (didier-barvaux) wrote :
Revision history for this message
Didier Barvaux (didier-barvaux) wrote :

The first patch fixes the problem encountered with the 1st TCP stream. However, the ROHC library is still unable to fully decompress another TCP stream compressed by the same equipment (see 2nd faulty stream).

Revision history for this message
Didier Barvaux (didier-barvaux) wrote :
Revision history for this message
Didier Barvaux (didier-barvaux) wrote :

Analysis of the 2nd TCP stream: I identified 2 problems:
 * the CRC of co_common, seq_X and rnd_X packets must be performed
    on the uncompressed headers, not on the compressed headers
 * the sequence number is invalid (only the lower 16 bits are correct)

Changed in rohc:
status: In Progress → Fix Committed
Revision history for this message
regulararmy (regulararmy) wrote :

 This attachment is the log for revision 1091 testing for TCP profile when TM500 communicates with FTP server, the TM500 cannot log in the FTP server.please find the [ROHC ] tags, other items is not for 1091.

Revision history for this message
regulararmy (regulararmy) wrote :

 This attachment is the log for revision 1091 testing for TCP profile when TM500 communicates with FTP server, the TM500 cannot log in the FTP server.please find the [ROHC ] tags, other items is not for 1091.

Revision history for this message
Didier Barvaux (didier-barvaux) wrote :

The logs show a decompression problem (CRC mismatch):
    0a[2014-05-16 18:31:00:462][ROHC ][DBG] : CRC (header length = 45, crc = 0xac)

I'll try to reproduce the problem on my machine.

In the meanwhile, it could help me if your logs displayed correctly all the ROHC traces (there are many "u" instead of integer values, and packet dumps in hexadecimal are not well displayed).

Regards,
Didier

Changed in rohc:
status: Fix Committed → Confirmed
Changed in rohc:
milestone: 1.7.0 → 2.0.0
Revision history for this message
Didier Barvaux (didier-barvaux) wrote :

I fail to reproduce the problem without more help, so I close the ticket. Feel free to re-open it if you got more information.

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

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.