Wrong packet decision in FO state
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
rohc | Status tracked in Rohc-main | |||||
1.2.x |
Won't Fix
|
Medium
|
Didier Barvaux | |||
1.3.x |
Won't Fix
|
Medium
|
Didier Barvaux | |||
Rohc-main |
Fix Released
|
Medium
|
Didier Barvaux |
Bug Description
Test ipv4/ipv4/
outer ip-id is constant 0, inner is nbo +1.
c_generic.c: decide_FO_packet() line 2522
(gdb) p is_rnd
$38 = 1
(gdb) p is_ip_v4
$36 = 1
$37 = 16
(gdb) p is_rnd2
$41 = 0
(gdb) p nr_ip_id_bits2
$42 = 0
outer ip is rnd, therefore nr_ip_id_bits==16.
In this case, the ip-id is transmitted in packet remainder, not here.
but
does not take this into account.
fix:
This also needs improvement:
Because it is possible to use uor-2-id to send <=5bits of ip-id-2 bits,
if outer ip-id is rnd/not present (->not compressible).
regards, Klaus
summary: |
- packet decision in FO state + Wrong packet decision in FO state |
tags: | added: library |
--- src/comp/ c_generic. c 2010-08-22 14:00:49 +0000 c_generic. c 2011-05-11 15:43:40 +0000
packet = PACKET_UOR_2_RTP;
}
else if(nr_ts_bits <= MAX_BITS_ IN_4_BYTE_ SDVL &&
(! is_ip_v4 || is_rnd2 || nr_ip_id_bits2 == 0)))
{
packet = PACKET_UOR_2_ID;
+++ src/comp/
@@ -2713,7 +2719,7 @@
- (is_ip_v4 && nr_ip_id_bits > 0 &&
+ (is_ip_v4 && !is_rnd && nr_ip_id_bits > 0 &&