← Back to team overview

rohc team mailing list archive

Re: Support of ESP (Profil 0x0003)

 

Hello FWX,


Please keep the discussion on the ML, so that anyone can follow it,
and maybe participate :)

My answers below.



Le Wed, 30 May 2012 11:09:05 +0200,
RoHC Team <rohc_team@xxxxxxxxxx> a écrit :

>   Hello Didier,
> 
>   Remeber that the support of the ESP (profile 0x0003) was the
> beginnig of my work with the library. So, I don't know everything ...

No problem with that. This is no judgement, there are just questions
about the understanding of the RFC.


>   You'll find my answers bellow, in the text :
> 
> Le 29/05/2012 22:20, Didier Barvaux a écrit :
> > FWX,
> >
> >>    To complete the RoHC library, I add code to support profile
> >> 0x0003 (ESP: Encapsulating Security Payload) in the current trunk.
> >>
> >>    The special case when the NULL encryption algorithm is used, is
> >> not supported in this version.
> >
> > I got enough time to read your patch (thanks again for it!). Please
> > find hereafter some questions/notes.
> >
> > Please do not make any change to you patch for the moment. I already
> > rebased your patch to the current trunk tree, and it would be a
> > shame to do the work twice :)
> >
> >
> > 1/ SN not required at the end of base header?
> >
> >    The 16-bit SN field at the end of the base header seems to be
> > only required for IP-only, UDP and UDP-Lite profiles, not the RTP
> > and ESP ones.
> >
> >    Section 5.12.1 of RFC 3095 states:
> >      In contrast to ROHC UDP, no extra sequence number is added to
> > the dynamic part of the ESP header: the ESP sequence number is the
> > only element.
> >
> >    So, on compression side, part 8 of the code_IR_packet() function
> >    should test for the ESP profile in addition to the RTP profile.
> > So does part 7 of the code_IR_DYN_packet() function.
> >
> >    On decompression side, esp_decode_dynamic_esp() should call the
> >    ip_decode_dynamic_ip() because it decodes an extra 16-bit SN
> > field.
> >
> 
> ==> In the ESP base header, there is a 32 bits field, called 
> sequence_number. See RFC4303, page 7 to understand the frame format.
> It is not the SN of other profile. So, your suggestions are not ok,
> here.

My understanding of ESP profile in the the RFC 3095 is that the ESP
sequence_number field shall be used as the ROHC main sequence
number (MSN).

I found this sentence in section 5.12 of RFC 3095:

   This profile is very similar to the ROHC UDP profile.  It uses the
   ESP sequence number as the basis for compression instead of a
   generated number, but is otherwise very similar to ROHC UDP.

The RTP header uses the RTP SN as MSN. The UDP profile uses a generated
number as MSN as the UDP header misses a SN. So is the IP-only profile.
According to me, the ESP profile shall use the ESP SN field as MSN. 

The fact that the ESP SN is 32-bit long while the library currently uses
16-bit MSN is an implementation problem, not a constraint.


The UDP and IP-only profiles requires a SN field at the end of the base
header. As the ROHC MSN is one field of the uncompressed ESP header, it
is transmitted in the ESP part of the DYNAMIC chain. So, there is - to
my opinion - no need for a 2nd SN field in the very end of the base
header. The RTP profile behaves that way too. 
 - RFC 3095, section 5.11.1 about the UDP profile:
     For ROHC UDP, the dynamic part of a UDP packet is different from
     section 5.7.7.5: a two-octet field containing the UDP SN is added
     after the Checksum field.  This affects the format of dynamic
     chains in IR and IR-DYN packets.
 - RFC 3095, section 5.12.1 about ESP profile:
     In contrast to ROHC UDP, no extra sequence number is added to
     the dynamic part of the ESP header: the ESP sequence number is the
     only element.


To confirm my understanding, I modified the ESP profile to act as
described above. The patch (to current trunk, rev 375) is attached.


What do you think of my searches in RFCs (and, of my patch)?



> > 2/ LSB shift value?
> >
> >    The LSB shift "p" value for the ESP profile seems to be the same
> > as for the RTP profile, not the one of the IP-only, non-RTP UDP and
> >    non-RTP UDP-Lite profiles.
> >
> >    Section 5.12 of RFC 3095 states:
> >      The interpretation interval (value of p) for the ESP-based SN
> > is as with ROHC RTP (profile 0x0001).
> >
> >    So, in c_generic_create(), the switch seems wrong. On
> > decompression side this is a problem too. Also, the
> > esp_detect_ir_size() seems to return 2 bytes more than expected.
> >
> 
> ==> Because of the 32 bits specific ESP field sequence_number, not
> the 16 bits field SN.

See my previous answer about the MSN.


> > 3/ ESP-specific context required?
> >
> >    You defined an ESP-specific context that stores the SN of the ESP
> >    header. The ESP SN is the main SN (MSN). The MSN is stored in the
> >    generic context. I think you should use the g_context->sn. It
> > would avoid duplication, and remove the need for an ESP-specific
> > context. What do you think of?
> >
> 
> ==> See previous response : ESP sequence_number is not the SN!
> Sorry ...

See my previous answer about the MSN.


> ==> Best regards too,
> 
>             FWX.

Regards,
Didier
=== modified file 'app/performance/test_performance.c'
--- app/performance/test_performance.c	2012-05-27 19:19:03 +0000
+++ app/performance/test_performance.c	2012-05-29 19:48:30 +0000
@@ -398,6 +398,7 @@
 	rohc_activate_profile(comp, ROHC_PROFILE_UDP);
 	rohc_activate_profile(comp, ROHC_PROFILE_IP);
 	rohc_activate_profile(comp, ROHC_PROFILE_UDPLITE);
+	rohc_activate_profile(comp, ROHC_PROFILE_ESP);
 
 	/* for each packet in the dump */
 	*packet_count = 0;

=== modified file 'app/tunnel/tunnel.c'
--- app/tunnel/tunnel.c	2012-05-26 20:01:08 +0000
+++ app/tunnel/tunnel.c	2012-05-29 19:48:30 +0000
@@ -521,6 +521,7 @@
 	rohc_activate_profile(comp, ROHC_PROFILE_IP);
 	rohc_activate_profile(comp, ROHC_PROFILE_UDPLITE);
 	rohc_activate_profile(comp, ROHC_PROFILE_RTP);
+	rohc_activate_profile(comp, ROHC_PROFILE_ESP);
 
 	/* initialize the random generator */
 	seed = time(NULL);

=== modified file 'examples/simple_rohc_program.c'
--- examples/simple_rohc_program.c	2012-05-26 20:01:08 +0000
+++ examples/simple_rohc_program.c	2012-05-29 19:48:30 +0000
@@ -110,6 +110,7 @@
 	rohc_activate_profile(compressor, ROHC_PROFILE_IP);
 	//rohc_activate_profile(compressor, ROHC_PROFILE_UDPLITE);
 	//rohc_activate_profile(compressor, ROHC_PROFILE_RTP);
+	//rohc_activate_profile(comp, ROHC_PROFILE_ESP);
 
 
 	/* create a fake IP packet for the purpose of this simple program */

=== modified file 'src/common/crc.c'
--- src/common/crc.c	2012-05-10 18:48:30 +0000
+++ src/common/crc.c	2012-05-29 19:48:30 +0000
@@ -20,10 +20,12 @@
  * @author Didier Barvaux <didier.barvaux@xxxxxxxxxxxxxxxxxxxx>
  * @author The hackers from ROHC for Linux
  * @author Didier Barvaux <didier@xxxxxxxxxxx>
+ * @author FWX <rohc_team@xxxxxxxxxx>
  */
 
 #include "crc.h"
 #include "rohc.h"
+#include "esp.h"
 #include "rtp.h"
 
 #include <netinet/udp.h>
@@ -507,6 +509,95 @@
 
 
 /**
+ * @brief Compute the CRC-STATIC part of an ESP header
+ *
+ * Concerned fields are:
+ *  all fields expect those for CRC-DYNAMIC
+ *    - bytes 1-4 in original ESP header
+ *
+ * @param ip          The outer IP packet
+ * @param ip2         The inner IP packet if there is 2 IP headers, NULL otherwise
+ * @param next_header The next header located after the IP header(s)
+ * @param crc_type    The type of CRC
+ * @param init_val    The initial CRC value
+ * @param crc_table   The pre-computed table for fast CRC computation
+ * @return            The checksum
+ */
+unsigned int esp_compute_crc_static(const unsigned char *const ip,
+                                    const unsigned char *const ip2,
+                                    const unsigned char *const next_header,
+                                    const unsigned int crc_type,
+                                    const unsigned int init_val,
+                                    const unsigned char *const crc_table)
+{
+	unsigned int crc;
+	struct esphdr *esp;
+
+	assert(ip != NULL);
+	assert(next_header != NULL);
+	assert(crc_table != NULL);
+
+	crc = init_val;
+
+	/* compute the CRC-STATIC value for IP and IP2 headers */
+	crc = compute_crc_static(ip, ip2, next_header, crc_type, crc, crc_table);
+
+	/* get the start of ESP header */
+	esp = (struct esphdr *) next_header;
+
+	/* bytes 1-4 (Security parameters index) */
+	crc = crc_calculate(crc_type, (unsigned char *)(&esp->security_parameters_index), 4,
+	                    crc, crc_table);
+
+	return crc;
+}
+
+
+/**
+ * @brief Compute the CRC-DYNAMIC part of an ESP header
+ *
+ * Concerned fields are:
+ *   - bytes 5-8 in original ESP header
+ *
+ * @param ip          The outer IP packet
+ * @param ip2         The inner IP packet if there is 2 IP headers, NULL otherwise
+ * @param next_header The next header located after the IP header(s)
+ * @param crc_type    The type of CRC
+ * @param init_val    The initial CRC value
+ * @param crc_table   The pre-computed table for fast CRC computation
+ * @return            The checksum
+ */
+unsigned int esp_compute_crc_dynamic(const unsigned char *const ip,
+                                     const unsigned char *const ip2,
+                                     const unsigned char *const next_header,
+                                     const unsigned int crc_type,
+                                     const unsigned int init_val,
+                                     const unsigned char *const crc_table)
+{
+	unsigned int crc;
+	struct esphdr *esp;
+
+	assert(ip != NULL);
+	assert(next_header != NULL);
+	assert(crc_table != NULL);
+
+	crc = init_val;
+
+	/* compute the CRC-DYNAMIC value for IP and IP2 headers */
+	crc = compute_crc_dynamic(ip, ip2, next_header, crc_type, crc, crc_table);
+
+	/* get the start of ESP header */
+	esp = (struct esphdr *) next_header;
+
+	/* bytes 5-8 (Sequence number) */
+	crc = crc_calculate(crc_type, (unsigned char *)(&esp->sequence_number), 4,
+	                    crc, crc_table);
+
+	return crc;
+}
+
+
+/**
  * @brief Compute the CRC-STATIC part of a RTP header
  *
  * Concerned fields are:

=== modified file 'src/common/crc.h'
--- src/common/crc.h	2012-05-10 18:48:30 +0000
+++ src/common/crc.h	2012-05-29 19:48:30 +0000
@@ -20,6 +20,7 @@
  * @author Didier Barvaux <didier.barvaux@xxxxxxxxxxxxxxxxxxxx>
  * @author The hackers from ROHC for Linux
  * @author Didier Barvaux <didier@xxxxxxxxxxx>
+ * @author FWX <rohc_team@xxxxxxxxxx>
  */
 
 #ifndef CRC_H
@@ -85,6 +86,21 @@
                                      const unsigned char *const crc_table)
 	__attribute__((nonnull(1, 3, 6)));
 
+unsigned int esp_compute_crc_static(const unsigned char *const ip,
+                                    const unsigned char *const ip2,
+                                    const unsigned char *const next_header,
+                                    const unsigned int crc_type,
+                                    const unsigned int init_val,
+                                    const unsigned char *const crc_table)
+	__attribute__((nonnull(1, 3, 6)));
+unsigned int esp_compute_crc_dynamic(const unsigned char *const ip,
+                                     const unsigned char *const ip2,
+                                     const unsigned char *const next_header,
+                                     const unsigned int crc_type,
+                                     const unsigned int init_val,
+                                     const unsigned char *const crc_table)
+	__attribute__((nonnull(1, 3, 6)));
+
 unsigned int rtp_compute_crc_static(const unsigned char *const ip,
                                     const unsigned char *const ip2,
                                     const unsigned char *const next_header,

=== added file 'src/common/esp.h'
--- src/common/esp.h	1970-01-01 00:00:00 +0000
+++ src/common/esp.h	2012-05-29 19:48:30 +0000
@@ -0,0 +1,42 @@
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/**
+ * @file   esp.h
+ * @brief  ESP header description
+ * @author FWX <rohc_team@xxxxxxxxxx>
+ * @author Didier Barvaux <didier@xxxxxxxxxxx>
+ */
+
+#ifndef ROHC_ESP_HDR_H /* TODO: rename the file, put in dist tar.bz2 */
+#define ROHC_ESP_HDR_H
+
+#include <stdint.h>
+
+
+/**
+ * @brief RTP header
+ *
+ * See section 2 of RFC 4303 for details.
+ */
+struct esphdr
+{
+	uint32_t security_parameters_index;  /**< TODO: describe + rename */
+	uint32_t sequence_number;  /**< TODO: describe + rename */
+} __attribute__((packed));
+
+
+#endif

=== modified file 'src/common/interval.c'
--- src/common/interval.c	2012-05-18 21:29:33 +0000
+++ src/common/interval.c	2012-05-31 18:30:46 +0000
@@ -110,7 +110,8 @@
 		}
 		break;
 
-		case ROHC_LSB_SHIFT_RTP_SN: /* special computation for SN encoding */
+		/* special computation for RTP and ESP SN encoding */
+		case ROHC_LSB_SHIFT_RTP_SN:
 		{
 			if(k <= 4)
 			{

=== modified file 'src/common/rohc.h'
--- src/common/rohc.h	2012-05-17 12:25:05 +0000
+++ src/common/rohc.h	2012-05-29 19:48:30 +0000
@@ -476,12 +476,14 @@
  * ROHC profiles numbers allocated by the IANA (see 8 in the RFC 3095):
  */
 
-/// The number allocated for the ROHC Uncompressed profile
+/// The number allocated for the ROHC Uncompressed profile (RFC 3095, 5.10)
 #define ROHC_PROFILE_UNCOMPRESSED  0x0000
-/// The number allocated for the ROHC RTP profile
+/// The number allocated for the ROHC RTP profile (RFC 3095, 8)
 #define ROHC_PROFILE_RTP           0x0001
-/// The number allocated for the ROHC UDP profile
+/// The number allocated for the ROHC UDP profile (RFC 3095, 5.11)
 #define ROHC_PROFILE_UDP           0x0002
+/// The number allocated for the ROHC ESP profile (RFC 3095, 5.12)
+#define ROHC_PROFILE_ESP           0x0003
 /// The number allocated for the ROHC IP-only profile (see 5 in the RFC 3843)
 #define ROHC_PROFILE_IP            0x0004
 /// The number allocated for the ROHC UDP-Lite profile (see 7 in the RFC 4019)

=== modified file 'src/comp/Makefile.am'
--- src/comp/Makefile.am	2011-11-26 13:30:57 +0000
+++ src/comp/Makefile.am	2012-05-29 19:48:30 +0000
@@ -13,6 +13,7 @@
 	c_ip.c \
 	c_udp.c \
 	c_udp_lite.c \
+	c_esp.c \
 	c_rtp.c
 
 INCLUDES = \
@@ -29,5 +30,6 @@
 	c_ip.h \
 	c_udp.h \
 	c_udp_lite.h \
+	c_esp.h \
 	c_rtp.h
 

=== added file 'src/comp/c_esp.c'
--- src/comp/c_esp.c	1970-01-01 00:00:00 +0000
+++ src/comp/c_esp.c	2012-05-31 19:04:18 +0000
@@ -0,0 +1,539 @@
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/**
+ * @file   c_esp.c
+ * @brief  ROHC ESP compression profile
+ * @author FWX <rohc_team@xxxxxxxxxx>
+ * @author Didier Barvaux <didier@xxxxxxxxxxx>
+ */
+
+#include "c_esp.h"
+#include "esp.h"
+#include "c_generic.h"
+#include "rohc_traces.h"
+#include "crc.h"
+
+#include <stdbool.h>
+#include <assert.h>
+
+
+/*
+ * Private structures and types
+ */
+
+/**
+ * @brief Define the ESP part of the profile decompression context
+ *
+ * This object must be used with the generic part of the decompression
+ * context c_generic_context.
+ *
+ * @see c_generic_context
+ */
+struct sc_esp_context
+{
+	/// The previous ESP header
+	struct esphdr old_esp;
+};
+
+
+/*
+ * Private function prototypes
+ */
+
+static int esp_code_static_esp_part(const struct c_context *context,
+                                    const unsigned char *next_header,
+                                    unsigned char *const dest,
+                                    int counter);
+
+static int esp_code_dynamic_esp_part(const struct c_context *context,
+                                     const unsigned char *next_header,
+                                     unsigned char *const dest,
+                                     int counter);
+
+// TODO: make all functions private?
+
+
+/*
+ * Public function definitions
+ */
+
+/**
+ * @brief Create a new ESP context and initialize it thanks to the given IP/ESP
+ *        packet.
+ *
+ * This function is one of the functions that must exist in one profile for the
+ * framework to work.
+ *
+ * @param context The compression context
+ * @param ip      The IP/ESP packet given to initialize the new context
+ * @return        1 if successful, 0 otherwise
+ */
+int c_esp_create(struct c_context *const context, const struct ip_packet *ip)
+{
+	struct c_generic_context *g_context;
+	struct sc_esp_context *esp_context;
+	struct ip_packet ip2;
+	const struct ip_packet *last_ip_header;
+	const struct esphdr *esp;
+	unsigned int ip_proto;
+
+	assert(context != NULL);
+	assert(ip != NULL);
+
+	/* create and initialize the generic part of the profile context */
+	if(!c_generic_create(context, ip))
+	{
+		rohc_debugf(0, "generic context creation failed\n");
+		goto quit;
+	}
+	g_context = (struct c_generic_context *) context->specific;
+
+	/* check if packet is IP/ESP or IP/IP/ESP */
+	ip_proto = ip_get_protocol(ip);
+	if(ip_proto == IPPROTO_IPIP || ip_proto == IPPROTO_IPV6)
+	{
+		/* get the last IP header */
+		if(!ip_get_inner_packet(ip, &ip2))
+		{
+			rohc_debugf(0, "cannot create the inner IP header\n");
+			goto clean;
+		}
+
+		/* two IP headers, the last IP header is the second one */
+		last_ip_header = &ip2;
+
+		/* get the transport protocol */
+		ip_proto = ip_get_protocol(last_ip_header);
+	}
+	else
+	{
+		/* only one single IP header, the last IP header is the first one */
+		last_ip_header = ip;
+	}
+
+	if(ip_proto != IPPROTO_ESP)
+	{
+		rohc_debugf(0, "next header is not ESP (%d), cannot use this profile\n",
+		            ip_proto);
+		goto clean;
+	}
+
+	esp = (struct esphdr *) ip_get_next_layer(last_ip_header);
+
+	/* initialize SN with the SN found in the ESP header */
+	g_context->sn = ntohl(esp->sequence_number);
+	rohc_debugf(1, "initialize context(SN) = hdr(SN) of first packet = %u\n",
+	            g_context->sn);
+
+	/* create the ESP part of the profile context */
+	esp_context = malloc(sizeof(struct sc_esp_context));
+	if(esp_context == NULL)
+	{
+	  rohc_debugf(0, "no memory for the ESP part of the profile context\n");
+	  goto clean;
+	}
+	g_context->specific = esp_context;
+
+	/* initialize the ESP part of the profile context */
+	memcpy(&(esp_context->old_esp), esp, sizeof(struct esphdr));
+
+	/* init the ESP-specific variables and functions */
+	g_context->next_header_proto = IPPROTO_ESP;
+	g_context->next_header_len = sizeof(struct esphdr);
+	g_context->decide_state = decide_state;
+	g_context->init_at_IR = NULL;
+	g_context->code_static_part = esp_code_static_esp_part;
+	g_context->code_dynamic_part = esp_code_dynamic_esp_part;
+	g_context->code_UO_packet_head = NULL;
+	g_context->code_UO_packet_tail = NULL;
+	g_context->compute_crc_static = esp_compute_crc_static;
+	g_context->compute_crc_dynamic = esp_compute_crc_dynamic;
+
+	return 1;
+
+clean:
+	c_generic_destroy(context);
+quit:
+	return 0;
+}
+
+
+/**
+ * @brief Check if the IP/ESP packet belongs to the context
+ *
+ * Conditions are:
+ *  - the number of IP headers must be the same as in context
+ *  - IP version of the two IP headers must be the same as in context
+ *  - IP packets must not be fragmented
+ *  - the source and destination addresses of the two IP headers must match the
+ *    ones in the context
+ *  - the transport protocol must be ESP
+ *  - the security parameters index of the ESP header must match the one in
+ *    the context
+ *  - IPv6 only: the Flow Label of the two IP headers must match the ones the
+ *    context
+ *
+ * This function is one of the functions that must exist in one profile for the
+ * framework to work.
+ *
+ * @param context The compression context
+ * @param ip      The IP/ESP packet to check
+ * @return        1 if the IP/ESP packet belongs to the context,
+ *                0 if it does not belong to the context and
+ *                -1 if the profile cannot compress it or an error occurs
+ */
+int c_esp_check_context(const struct c_context *context,
+                        const struct ip_packet *ip)
+{
+	struct c_generic_context *g_context;
+	struct sc_esp_context *esp_context;
+	struct ip_header_info *ip_flags;
+	struct ip_header_info *ip2_flags;
+	struct ip_packet ip2;
+	const struct ip_packet *last_ip_header;
+	const struct esphdr *esp;
+	ip_version version;
+	unsigned int ip_proto;
+	bool is_ip_same;
+	bool is_esp_same;
+
+	// TODO: reuse a part of IP, UDP or RTP?
+	assert(context != NULL);
+	assert(ip != NULL);
+
+	assert(context->specific != NULL);
+	g_context = (struct c_generic_context *) context->specific;
+	assert(g_context->specific != NULL);
+	esp_context = (struct sc_esp_context *) g_context->specific;
+	ip_flags = &g_context->ip_flags;
+	ip2_flags = &g_context->ip2_flags;
+
+	/* check the IP version of the first header */
+	version = ip_get_version(ip);
+	if(version != ip_flags->version)
+	{
+		goto bad_context;
+	}
+
+	/* compare the addresses of the first header */
+	if(version == IPV4)
+	{
+		is_ip_same = ip_flags->info.v4.old_ip.saddr == ipv4_get_saddr(ip) &&
+		             ip_flags->info.v4.old_ip.daddr == ipv4_get_daddr(ip);
+	}
+	else /* IPV6 */
+	{
+		is_ip_same =
+			IPV6_ADDR_CMP(&ip_flags->info.v6.old_ip.ip6_src, ipv6_get_saddr(ip)) &&
+			IPV6_ADDR_CMP(&ip_flags->info.v6.old_ip.ip6_dst, ipv6_get_daddr(ip));
+	}
+
+	if(!is_ip_same)
+	{
+		goto bad_context;
+	}
+
+	/* compare the Flow Label of the first header if IPv6 */
+	if(version == IPV6 && ipv6_get_flow_label(ip) !=
+	   IPV6_GET_FLOW_LABEL(ip_flags->info.v6.old_ip))
+	{
+		goto bad_context;
+	}
+
+	/* check the second IP header */
+	ip_proto = ip_get_protocol(ip);
+	if(ip_proto == IPPROTO_IPIP || ip_proto == IPPROTO_IPV6)
+	{
+		bool is_ip2_same;
+
+		/* check if the context used to have a second IP header */
+		if(!g_context->is_ip2_initialized)
+		{
+			goto bad_context;
+		}
+
+		/* get the second IP header */
+		if(!ip_get_inner_packet(ip, &ip2))
+		{
+			rohc_debugf(0, "cannot create the inner IP header\n");
+			goto error;
+		}
+
+		/* check the IP version of the second header */
+		version = ip_get_version(&ip2);
+		if(version != ip2_flags->version)
+		{
+			goto bad_context;
+		}
+
+		/* compare the addresses of the second header */
+		if(version == IPV4)
+		{
+			is_ip2_same = ip2_flags->info.v4.old_ip.saddr == ipv4_get_saddr(&ip2) &&
+			              ip2_flags->info.v4.old_ip.daddr == ipv4_get_daddr(&ip2);
+		}
+		else /* IPV6 */
+		{
+			is_ip2_same = IPV6_ADDR_CMP(&ip2_flags->info.v6.old_ip.ip6_src,
+			                            ipv6_get_saddr(&ip2)) &&
+			              IPV6_ADDR_CMP(&ip2_flags->info.v6.old_ip.ip6_dst,
+			                            ipv6_get_daddr(&ip2));
+		}
+
+		if(!is_ip2_same)
+		{
+			goto bad_context;
+		}
+
+		/* compare the Flow Label of the second header if IPv6 */
+		if(version == IPV6 && ipv6_get_flow_label(&ip2) !=
+		   IPV6_GET_FLOW_LABEL(ip2_flags->info.v6.old_ip))
+		{
+			goto bad_context;
+		}
+
+		/* get the last IP header */
+		last_ip_header = &ip2;
+
+		/* get the transport protocol */
+		ip_proto = ip_get_protocol(&ip2);
+	}
+	else /* no second IP header */
+	{
+		/* check if the context used not to have a second header */
+		if(g_context->is_ip2_initialized)
+		{
+			goto bad_context;
+		}
+
+		/* only one single IP header, the last IP header is the first one */
+		last_ip_header = ip;
+	}
+
+	/* check the transport protocol */
+	if(ip_proto != IPPROTO_ESP)
+	{
+		goto bad_context;
+	}
+
+	/* check Security parameters index (SPI) */
+	esp = (struct esphdr *) ip_get_next_layer(last_ip_header);
+	is_esp_same = esp_context->old_esp.security_parameters_index == esp->security_parameters_index;
+
+	return is_esp_same;
+
+bad_context:
+	return 0;
+error:
+	return -1;
+}
+
+
+/**
+ * @brief Encode an IP/ESP packet according to a pattern decided by several
+ *        different factors.
+ *
+ * @param context        The compression context
+ * @param ip             The IP packet to encode
+ * @param packet_size    The length of the IP packet to encode
+ * @param dest           The rohc-packet-under-build buffer
+ * @param dest_size      The length of the rohc-packet-under-build buffer
+ * @param packet_type    OUT: The type of ROHC packet that is created
+ * @param payload_offset The offset for the payload in the IP packet
+ * @return               The length of the created ROHC packet
+ *                       or -1 in case of failure
+ */
+int c_esp_encode(struct c_context *const context,
+                 const struct ip_packet *ip,
+                 const int packet_size,
+                 unsigned char *const dest,
+                 const int dest_size,
+                 rohc_packet_t *const packet_type,
+                 int *const payload_offset)
+{
+	struct c_generic_context *g_context;
+	struct sc_esp_context *esp_context;
+	struct ip_packet ip2;
+	const struct ip_packet *last_ip_header;
+	const struct esphdr *esp;
+	unsigned int ip_proto;
+	int size;
+
+	assert(context != NULL);
+	assert(ip != NULL);
+	assert(dest != NULL);
+	assert(packet_type != NULL);
+
+	assert(context->specific != NULL);
+	g_context = (struct c_generic_context *) context->specific;
+	assert(g_context->specific != NULL);
+	esp_context = (struct sc_esp_context *) g_context->specific;
+
+	ip_proto = ip_get_protocol(ip);
+	if(ip_proto == IPPROTO_IPIP || ip_proto == IPPROTO_IPV6)
+	{
+		/* get the last IP header */
+		if(!ip_get_inner_packet(ip, &ip2))
+		{
+			rohc_debugf(0, "cannot create the inner IP header\n");
+			return -1;
+		}
+		last_ip_header = &ip2;
+
+		/* get the transport protocol */
+		ip_proto = ip_get_protocol(last_ip_header);
+	}
+	else
+	{
+		/* only one single IP header, the last IP header is the first one */
+		last_ip_header = ip;
+	}
+
+	if(ip_proto != IPPROTO_ESP)
+	{
+		rohc_debugf(0, "packet is not an ESP packet\n");
+		return -1;
+	}
+	esp = (struct esphdr *) ip_get_next_layer(last_ip_header);
+
+	/* encode the IP packet */
+	size = c_generic_encode(context, ip, packet_size, dest, dest_size,
+	                        packet_type, payload_offset);
+	if(size < 0)
+	{
+		goto quit;
+	}
+
+	/* update the context with the new ESP header */
+	if(g_context->tmp.packet_type == PACKET_IR ||
+	   g_context->tmp.packet_type == PACKET_IR_DYN)
+	{
+		memcpy(&(esp_context->old_esp), esp, sizeof(struct esphdr));
+	}
+
+quit:
+	return size;
+}
+
+
+/*
+ * Private function definitions
+ */
+
+
+/**
+ * @brief Build the static part of the ESP header
+ *
+ * \verbatim
+
+ Static part of ESP header (5.7.7.7):
+
+    +---+---+---+---+---+---+---+---+
+ 1  /              SPI              /   4 octets
+    +---+---+---+---+---+---+---+---+
+
+ SPI = Security Parameters Index
+
+\endverbatim
+ *
+ * @param context     The compression context
+ * @param next_header The ESP header
+ * @param dest        The rohc-packet-under-build buffer
+ * @param counter     The current position in the rohc-packet-under-build buffer
+ * @return            The new position in the rohc-packet-under-build buffer
+ */
+static int esp_code_static_esp_part(const struct c_context *context,
+                                    const unsigned char *next_header,
+                                    unsigned char *const dest,
+                                    int counter)
+{
+	const struct esphdr *esp = (struct esphdr *) next_header;
+
+	/* part 1 */
+	rohc_debugf(3, "ESP SPI = 0x%08x\n", ntohl(esp->security_parameters_index));
+	memcpy(&dest[counter], &esp->security_parameters_index, sizeof(uint32_t));
+	counter += sizeof(uint32_t);
+
+	return counter;
+}
+
+
+/**
+ * @brief Build the dynamic part of the ESP header
+ *
+ * \verbatim
+
+ Dynamic part of ESP header (5.7.7.7):
+
+    +---+---+---+---+---+---+---+---+
+ 1  /       Sequence Number         /   4 octets
+    +---+---+---+---+---+---+---+---+
+
+\endverbatim
+ *
+ * @param context     The compression context
+ * @param next_header The ESP header
+ * @param dest        The rohc-packet-under-build buffer
+ * @param counter     The current position in the rohc-packet-under-build buffer
+ * @return            The new position in the rohc-packet-under-build buffer
+ */
+static int esp_code_dynamic_esp_part(const struct c_context *context,
+                                     const unsigned char *next_header,
+                                     unsigned char *const dest,
+                                     int counter)
+{
+	struct c_generic_context *g_context;
+	struct sc_esp_context *esp_context;
+	const struct esphdr *esp;
+
+	assert(context != NULL);
+	assert(next_header != NULL);
+	assert(dest != NULL);
+
+	assert(context->specific != NULL);
+	g_context = (struct c_generic_context *) context->specific;
+	assert(g_context->specific != NULL);
+	esp_context = (struct sc_esp_context *) g_context->specific;
+
+	esp = (struct esphdr *) next_header;
+
+	/* part 1 */
+	rohc_debugf(3, "ESP SN = 0x%08x\n", ntohl(esp->sequence_number));
+	memcpy(&dest[counter], &esp->sequence_number, sizeof(uint32_t));
+	counter += sizeof(uint32_t);
+
+	return counter;
+}
+
+
+/**
+ * @brief Define the compression part of the ESP profile as described
+ *        in the RFC 3095.
+ */
+struct c_profile c_esp_profile =
+{
+	IPPROTO_ESP,         /* IP protocol */
+	NULL,                /* list of UDP ports, not relevant for UDP */
+	ROHC_PROFILE_ESP,    /* profile ID (see 8 in RFC 3095) */
+	"ESP / Compressor",  /* profile description */
+	c_esp_create,        /* profile handlers */
+	c_generic_destroy,
+	c_esp_check_context,
+	c_esp_encode,
+	c_generic_feedback,
+};
+

=== added file 'src/comp/c_esp.h'
--- src/comp/c_esp.h	1970-01-01 00:00:00 +0000
+++ src/comp/c_esp.h	2012-05-31 19:04:22 +0000
@@ -0,0 +1,49 @@
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/**
+ * @file   c_esp.h
+ * @brief  ROHC ESP compression profile
+ * @author FWX <rohc_team@xxxxxxxxxx>
+ * @author Didier Barvaux <didier@xxxxxxxxxxx>
+ */
+
+#ifndef C_ESP_H
+#define C_ESP_H
+
+#include "ip.h"
+#include "rohc_comp_internals.h"
+
+
+/*
+ * Function prototypes.
+ */
+
+int c_esp_create(struct c_context *const context, const struct ip_packet *ip);
+
+int c_esp_check_context(const struct c_context *context,
+                        const struct ip_packet *ip);
+
+int c_esp_encode(struct c_context *const context,
+                 const struct ip_packet *ip,
+                 const int packet_size,
+                 unsigned char *const dest,
+                 const int dest_size,
+                 rohc_packet_t *const packet_type,
+                 int *const payload_offset);
+
+#endif
+

=== modified file 'src/comp/c_generic.c'
--- src/comp/c_generic.c	2012-05-28 16:13:44 +0000
+++ src/comp/c_generic.c	2012-05-31 19:02:18 +0000
@@ -23,6 +23,7 @@
  * @author David Moreau from TAS
  * @author Emmanuelle Pechereau <epechereau@xxxxxxxxxxxxxxxxxxxx>
  * @author The hackers from ROHC for Linux
+ * @author FWX <rohc_team@xxxxxxxxxx>
  */
 
 #include "c_generic.h"
@@ -36,6 +37,7 @@
 #include "cid.h"
 #include "sdvl.h"
 #include "crc.h"
+#include "esp.h" /* TODO: for esphdr, should be removed by using a callback */
 
 #include <netinet/ip.h>
 #include <netinet/udp.h>
@@ -548,6 +550,7 @@
 	switch(context->profile->id)
 	{
 		case ROHC_PROFILE_RTP:
+		case ROHC_PROFILE_ESP:
 			p = ROHC_LSB_SHIFT_RTP_SN;
 			break;
 		case ROHC_PROFILE_UNCOMPRESSED:
@@ -768,14 +771,13 @@
 	unsigned int ip_proto;
 	int size;
 	int size_data;
-	int is_rtp;
 	int ret;
 
 	g_context = (struct c_generic_context *) context->specific;
 	if(g_context == NULL)
 	{
 		rohc_debugf(0, "generic context not valid\n");
-		return -1;
+		goto error;
 	}
 
 	g_context->tmp.changed_fields2 = 0;
@@ -795,7 +797,7 @@
 		/* there are 2 IP headers */
 		if(!ip_get_inner_packet(ip, &ip2))
 		{
-			return -1;
+			goto error;
 		}
 
 		g_context->tmp.nr_of_ip_hdr = 2;
@@ -807,7 +809,7 @@
 		{
 			if(!c_init_header_info(&g_context->ip2_flags, inner_ip))
 			{
-				return -1;
+				goto error;
 			}
 			g_context->is_ip2_initialized = 1;
 		}
@@ -826,7 +828,7 @@
 	{
 		/* the IP protocol field does not match the attended
 		 * next header protocol */
-		return -1;
+		goto error;
 	}
 	next_header = ip_get_next_layer(last_ip_header);
 
@@ -848,33 +850,64 @@
 	 */
 	detect_ip_id_behaviours(context, ip, inner_ip);
 
-	is_rtp = context->profile->id == ROHC_PROFILE_RTP;
-	if(is_rtp)
-	{
-		/* RTP profile: SN is the RTP SN */
-		struct udphdr *udp;
-		struct rtphdr *rtp;
-		struct sc_rtp_context *rtp_context;;
-		rtp_context = (struct sc_rtp_context *) g_context->specific;
-
-		if(g_context->tmp.nr_of_ip_hdr > 1)
-		{
-			udp = (struct udphdr *) ip_get_next_layer(inner_ip);
-		}
-		else
-		{
-			udp = (struct udphdr *) ip_get_next_layer(ip);
-		}
-
-		/* initialisation of SN with the SN field of the RTP packet */
-		rtp = (struct rtphdr *) (udp + 1);
-		g_context->sn = ntohs(rtp->sn);
-		c_add_ts(&rtp_context->ts_sc, rtp_context->tmp.timestamp, g_context->sn);
-	}
-	else
-	{
-		/* increase the SN every time we encode something */
-		g_context->sn++;
+	switch(context->profile->id)
+	{
+		case ROHC_PROFILE_RTP:
+		{
+			/* RTP profile: SN is the RTP SN */
+			struct udphdr *udp;
+			struct rtphdr *rtp;
+			struct sc_rtp_context *rtp_context;
+			rtp_context = (struct sc_rtp_context *) g_context->specific;
+
+			if(g_context->tmp.nr_of_ip_hdr > 1)
+			{
+				udp = (struct udphdr *) ip_get_next_layer(inner_ip);
+			}
+			else
+			{
+				udp = (struct udphdr *) ip_get_next_layer(ip);
+			}
+
+			/* initialisation of SN with the SN field of the RTP packet */
+			rtp = (struct rtphdr *) (udp + 1);
+			g_context->sn = ntohs(rtp->sn);
+			c_add_ts(&rtp_context->ts_sc, rtp_context->tmp.timestamp, g_context->sn);
+		}
+		break;
+
+		case ROHC_PROFILE_ESP:
+		{
+			/* ESP profile: SN is the ESP SN */
+			struct esphdr *esp;
+
+			if(g_context->tmp.nr_of_ip_hdr > 1)
+			{
+				esp = (struct esphdr *) ip_get_next_layer(inner_ip);
+			}
+			else
+			{
+				esp = (struct esphdr *) ip_get_next_layer(ip);
+			}
+
+			/* initialisation of SN with the SN field of the RTP packet */
+			g_context->sn = ntohl(esp->sequence_number);
+		}
+		break;
+
+		case ROHC_PROFILE_UDP:
+		case ROHC_PROFILE_UDPLITE:
+		case ROHC_PROFILE_IP:
+		{
+			/* generated SN: increase the SN every time we encode something */
+			g_context->sn++;
+		}
+		break;
+
+		default:
+			rohc_debugf(0, "unsupported profile 0x%04x\n", context->profile->id);
+			assert(0);
+			goto error;
 	}
 
 	rohc_debugf(3, "SN = %d\n",g_context->sn);
@@ -924,7 +957,7 @@
 	if(ret != ROHC_OK)
 	{
 		rohc_debugf(0, "failed to update the compression context\n");
-		return -1;
+		goto error;
 	}
 
 	/* STEP 5: decide which packet to send */
@@ -934,7 +967,7 @@
 	size = code_packet(context, ip, inner_ip, next_header, dest);
 	if(size < 0)
 	{
-		return -1;
+		goto error;
 	}
 
 	/* update the context with the new headers */
@@ -980,6 +1013,9 @@
 
 	/* return the length of the ROHC packet */
 	return size;
+
+error:
+	return -1;
 }
 
 
@@ -3809,7 +3845,7 @@
  7  |         Dynamic chain         |  present if D = 1, variable length
     |                               |
     +---+---+---+---+---+---+---+---+
- 8  |             SN                |  2 octets if not RTP
+ 8  |             SN                |  2 octets if not RTP nor ESP
     +---+---+---+---+---+---+---+---+
     |                               |
     |           Payload             |  variable length
@@ -3952,7 +3988,8 @@
 	}
 
 	/* part 8 */
-	if(context->profile->id != ROHC_PROFILE_RTP)
+	if(context->profile->id != ROHC_PROFILE_RTP &&
+	   context->profile->id != ROHC_PROFILE_ESP) // TODO: cleanup
 	{
 		uint16_t sn;
 		sn = htons(g_context->sn);
@@ -3998,7 +4035,7 @@
  6  /         Dynamic chain         / variable length
     |                               |
     +---+---+---+---+---+---+---+---+
- 7  |             SN                | 2 octets if not RTP
+ 7  |             SN                | 2 octets if not RTP nor ESP
     +---+---+---+---+---+---+---+---+
     :                               :
     /           Payload             / variable length
@@ -4091,7 +4128,8 @@
 	}
 
 	/* part 7 */
-	if(context->profile->id != ROHC_PROFILE_RTP)
+	if(context->profile->id != ROHC_PROFILE_RTP &&
+	   context->profile->id != ROHC_PROFILE_ESP) // TODO: cleanup
 	{
 		rohc_debugf(3, "SN = %d\n", g_context->sn);
 		dest[counter] = g_context->sn >> 8;
@@ -8399,6 +8437,9 @@
 				case ROHC_PROFILE_UDP:
 					total_size += 6; /* UDP part in IR packet */
 					break;
+				case ROHC_PROFILE_ESP:
+					total_size += 8; /* ESP part in IR packet */
+					break;
 				case ROHC_PROFILE_UDPLITE:
 					total_size += 8; /* size of UDP-lite part in IR packet */
 					break;
@@ -8440,21 +8481,24 @@
 				case ROHC_PROFILE_RTP:
 					if(original)
 					{
-						/* size min of RTP + UDP part in IR packet, the most
+						/* size min of RTP + UDP part in IR-DYN packet, the most
 						   compressed packet is estimated */
 						total_size += 13;
 					}
 					else
 					{
-						/* size max of RTP + UDP part in IR packet */
+						/* size max of RTP + UDP part in IR-DYN packet */
 						total_size += 19;
 					}
 					break;
 				case ROHC_PROFILE_UDP:
-					total_size += 2; /* size of UDP part in IR packet */
+					total_size += 2; /* size of UDP part in IR-DYN packet */
+					break;
+				case ROHC_PROFILE_ESP:
+					/* nothing to add */
 					break;
 				case ROHC_PROFILE_UDPLITE:
-					total_size += 4; /* size of UDP-lite part in IR packet */
+					total_size += 4; /* size of UDP-lite part in IR-DYN packet */
 					break;
 				case ROHC_PROFILE_IP:
 					/* nothing to add */

=== modified file 'src/comp/rohc_comp.c'
--- src/comp/rohc_comp.c	2012-05-26 15:17:53 +0000
+++ src/comp/rohc_comp.c	2012-05-29 19:48:30 +0000
@@ -48,6 +48,7 @@
 extern struct c_profile c_rtp_profile,
                         c_udp_profile,
                         c_udp_lite_profile,
+                        c_esp_profile,
                         c_ip_profile,
                         c_uncompressed_profile;
 
@@ -59,6 +60,7 @@
 	&c_rtp_profile,
 	&c_udp_profile,
 	&c_udp_lite_profile,
+	&c_esp_profile,
 	&c_ip_profile,
 	&c_uncompressed_profile,
 };

=== modified file 'src/comp/rohc_comp_internals.h'
--- src/comp/rohc_comp_internals.h	2012-05-26 15:17:53 +0000
+++ src/comp/rohc_comp_internals.h	2012-05-29 19:48:30 +0000
@@ -39,7 +39,7 @@
  */
 
 /** The number of ROHC profiles ready to be used */
-#define C_NUM_PROFILES 5
+#define C_NUM_PROFILES 6
 
 /** The maximal number of outgoing feedbacks that can be queued */
 #define FEEDBACK_RING_SIZE 10

=== modified file 'src/decomp/Makefile.am'
--- src/decomp/Makefile.am	2010-06-06 17:51:59 +0000
+++ src/decomp/Makefile.am	2012-05-29 19:48:30 +0000
@@ -14,6 +14,7 @@
 	d_ip.c \
 	d_udp.c \
 	d_udp_lite.c \
+	d_esp.c \
 	d_rtp.c
 
 INCLUDES = \
@@ -31,5 +32,6 @@
 	d_ip.h \
 	d_udp.h \
 	d_udp_lite.h \
+	d_esp.h \
 	d_rtp.h
 

=== added file 'src/decomp/d_esp.c'
--- src/decomp/d_esp.c	1970-01-01 00:00:00 +0000
+++ src/decomp/d_esp.c	2012-05-31 18:55:44 +0000
@@ -0,0 +1,484 @@
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/**
+ * @file   d_esp.c
+ * @brief  ROHC ESP decompression profile
+ * @author FWX <rohc_team@xxxxxxxxxx>
+ * @author Didier Barvaux <didier@xxxxxxxxxxx>
+ */
+
+#include "d_esp.h"
+#include "rohc_traces.h"
+#include "crc.h"
+#include "rohc_debug.h"
+#include "rohc_bit_ops.h"
+
+#include <stdint.h>
+#include <string.h>
+
+
+/*
+ * Public function definitions
+ */
+
+/**
+ * @brief Create the ESP decompression context
+ *
+ * This function is one of the functions that must exist in one profile for the
+ * framework to work.
+ *
+ * @return The newly-created ESP decompression context
+ */
+void * d_esp_create(void)
+{
+	struct d_generic_context *context;
+
+	/* create the generic context */
+	context = d_generic_create();
+	if(context == NULL)
+	{
+		goto quit;
+	}
+	context->specific = NULL;
+
+	/* create the LSB decoding context for SN (same shift value as RTP) */
+	context->sn_lsb_ctxt = rohc_lsb_new(ROHC_LSB_SHIFT_RTP_SN);
+	if(context->sn_lsb_ctxt == NULL)
+	{
+		rohc_debugf(0, "failed to create the LSB decoding context for SN\n");
+		goto destroy_context;
+	}
+
+	/* some ESP-specific values and functions */
+	context->next_header_len = sizeof(struct esphdr);
+	context->build_next_header = esp_build_uncompressed_esp;
+	context->decode_static_next_header = esp_decode_static_esp;
+	context->decode_dynamic_next_header = esp_decode_dynamic_esp;
+	context->decode_uo_tail = NULL;
+	context->compute_crc_static = esp_compute_crc_static;
+	context->compute_crc_dynamic = esp_compute_crc_dynamic;
+
+	/* create the ESP-specific part of the header changes */
+	context->last1->next_header_len = sizeof(struct esphdr);
+	context->last1->next_header = malloc(sizeof(struct esphdr));
+	if(context->last1->next_header == NULL)
+	{
+		rohc_debugf(0, "cannot allocate memory for the ESP-specific "
+		               "part of the header changes last1\n");
+		goto free_lsb_sn;
+	}
+	bzero(context->last1->next_header, sizeof(struct esphdr));
+
+	context->last2->next_header_len = sizeof(struct esphdr);
+	context->last2->next_header = malloc(sizeof(struct esphdr));
+	if(context->last2->next_header == NULL)
+	{
+		rohc_debugf(0, "cannot allocate memory for the ESP-specific "
+		               "part of the header changes last2\n");
+		goto free_last1_next_header;
+	}
+	bzero(context->last2->next_header, sizeof(struct esphdr));
+
+	context->active1->next_header_len = sizeof(struct esphdr);
+	context->active1->next_header = malloc(sizeof(struct esphdr));
+	if(context->active1->next_header == NULL)
+	{
+		rohc_debugf(0, "cannot allocate memory for the ESP-specific "
+		               "part of the header changes active1\n");
+		goto free_last2_next_header;
+	}
+	bzero(context->active1->next_header, sizeof(struct esphdr));
+
+	context->active2->next_header_len = sizeof(struct esphdr);
+	context->active2->next_header = malloc(sizeof(struct esphdr));
+	if(context->active2->next_header == NULL)
+	{
+		rohc_debugf(0, "cannot allocate memory for the ESP-specific "
+		               "part of the header changes active2\n");
+		goto free_active1_next_header;
+	}
+	bzero(context->active2->next_header, sizeof(struct esphdr));
+
+	/* set next header to ESP */
+	context->next_header_proto = IPPROTO_ESP;
+
+	return context;
+
+free_active1_next_header:
+	zfree(context->active1->next_header);
+free_last2_next_header:
+	zfree(context->last2->next_header);
+free_last1_next_header:
+	zfree(context->last1->next_header);
+free_lsb_sn:
+	rohc_lsb_free(context->sn_lsb_ctxt);
+destroy_context:
+	d_generic_destroy(context);
+quit:
+	return NULL;
+}
+
+
+/**
+ * @brief Destroy the context
+ *
+ * This function is one of the functions that must exist in one profile for the
+ * framework to work.
+ *
+ * @param context The compression context
+ */
+void d_esp_destroy(void *context)
+{
+	struct d_generic_context *g_context;
+
+	assert(context != NULL);
+	g_context = (struct d_generic_context *) context;
+
+	/* clean ESP-specific memory */
+	assert(g_context->last1 != NULL);
+	if(g_context->last1->next_header != NULL)
+	{
+		zfree(g_context->last1->next_header);
+	}
+	assert(g_context->last2 != NULL);
+	if(g_context->last2->next_header != NULL)
+	{
+		zfree(g_context->last2->next_header);
+	}
+	assert(g_context->active1 != NULL);
+	if(g_context->active1->next_header != NULL)
+	{
+		zfree(g_context->active1->next_header);
+	}
+	assert(g_context->active2 != NULL);
+	if(g_context->active2->next_header != NULL)
+	{
+		zfree(g_context->active2->next_header);
+	}
+
+	/* destroy the LSB decoding context for SN */
+	rohc_lsb_free(g_context->sn_lsb_ctxt);
+
+	/* destroy the resources of the generic context */
+	d_generic_destroy(context);
+}
+
+
+/**
+ * @brief Get the size of the ESP static part of an IR packet
+ *
+ * @return  The size of the ESP static part
+ */
+int esp_get_static_size(void)
+{
+	return sizeof(uint32_t);
+}
+
+
+/**
+ * @brief Find the length of the IR header
+ *
+ * This function is one of the functions that must exist in one profile for the
+ * framework to work.
+ *
+ * \verbatim
+
+ Basic structure of the IR packet (5.7.7.1):
+
+      0   1   2   3   4   5   6   7
+     --- --- --- --- --- --- --- ---
+ 1  |         Add-CID octet         |  if for small CIDs and CID != 0
+    +---+---+---+---+---+---+---+---+
+ 2  | 1   1   1   1   1   1   0 | D |
+    +---+---+---+---+---+---+---+---+
+    |                               |
+ 3  /    0-2 octets of CID info     /  1-2 octets if for large CIDs
+    |                               |
+    +---+---+---+---+---+---+---+---+
+ 4  |            Profile            |  1 octet
+    +---+---+---+---+---+---+---+---+
+ 5  |              CRC              |  1 octet
+    +---+---+---+---+---+---+---+---+
+    |                               |
+ 6  |         Static chain          |  variable length
+    |                               |
+    +---+---+---+---+---+---+---+---+
+    |                               |
+ 7  |         Dynamic chain         |  present if D = 1, variable length
+    |                               |
+    +---+---+---+---+---+---+---+---+
+ 8  |             SN                |  2 octets if not RTP nor ESP
+    +---+---+---+---+---+---+---+---+
+    |                               |
+ 9  |           Payload             |  variable length
+    |                               |
+     - - - - - - - - - - - - - - - -
+
+\endverbatim
+ *
+ * The function computes the length of the fields 2 + 4-8, ie. the first byte,
+ * the Profile and CRC fields, the static and dynamic chains (outer and inner
+ * IP headers + ESP header) and the SN (0 byte in case of ESP).
+ *
+ * @param context         The decompression context
+ * @param packet          The pointer on the IR packet minus the Add-CID byte
+ *                        (ie. the field 2 in the figure)
+ * @param plen            The length of the IR packet minus the Add-CID byte
+ * @param large_cid_len   The size of the large CID field
+ *                        (ie. field 3 in the figure)
+ * @return                The length of the IR header,
+ *                        0 if an error occurs
+ */
+unsigned int esp_detect_ir_size(struct d_context *context,
+                                unsigned char *packet,
+                                unsigned int plen,
+                                unsigned int large_cid_len)
+{
+	unsigned int length;
+	unsigned int d;
+
+	/* Profile and CRC fields + IP static & dynamic chains */
+	length = d_generic_detect_ir_size(context, packet, plen, large_cid_len);
+	if(length == 0)
+	{
+		goto quit;
+	}
+
+	/* ESP static part (see 5.7.7.7 in RFC 3095) */
+	length += esp_get_static_size();
+
+	/* ESP dynamic part if included (see 5.7.7.7 in RFC 3095) */
+	d = GET_BIT_0(packet);
+	if(d)
+	{
+		length += sizeof(uint32_t);
+	}
+
+quit:
+	return length;
+}
+
+
+/**
+ * @brief Find the length of the IR-DYN header
+ *
+ * This function is one of the functions that must exist in one profile for the
+ * framework to work.
+ *
+ * \verbatim
+
+ Basic structure of the IR-DYN packet (5.7.7.2):
+
+      0   1   2   3   4   5   6   7
+     --- --- --- --- --- --- --- ---
+ 1  :         Add-CID octet         : if for small CIDs and CID != 0
+    +---+---+---+---+---+---+---+---+
+ 2  | 1   1   1   1   1   0   0   0 | IR-DYN packet type
+    +---+---+---+---+---+---+---+---+
+    :                               :
+ 3  /     0-2 octets of CID info    / 1-2 octets if for large CIDs
+    :                               :
+    +---+---+---+---+---+---+---+---+
+ 4  |            Profile            | 1 octet
+    +---+---+---+---+---+---+---+---+
+ 5  |              CRC              | 1 octet
+    +---+---+---+---+---+---+---+---+
+    |                               |
+ 6  /         Dynamic chain         / variable length
+    |                               |
+    +---+---+---+---+---+---+---+---+
+ 7  |             SN                | 2 octets if not RTP nor ESP
+    +---+---+---+---+---+---+---+---+
+    :                               :
+ 8  /           Payload             / variable length
+    :                               :
+     - - - - - - - - - - - - - - - -
+
+\endverbatim
+ *
+ * The function computes the length of the fields 2 + 4-8, ie. the first byte,
+ * the Profile and CRC fields, the dynamic chains (outer and inner IP headers +
+ * ESP header) and the SN (0 byte in case of ESP).
+ *
+ * @param context         The decompression context
+ * @param packet          The IR-DYN packet after the Add-CID byte if present
+ *                        (ie. the field 2 in the figure)
+ * @param plen            The length of the IR-DYN packet minus the Add-CID byte
+ * @param large_cid_len   The size of the large CID field
+ *                        (ie. field 3 in the figure)
+ * @return                The length of the IR-DYN header,
+ *                        0 if an error occurs
+ */
+unsigned int esp_detect_ir_dyn_size(struct d_context *context,
+                                    unsigned char *packet,
+                                    unsigned int plen,
+                                    unsigned int large_cid_len)
+{
+	unsigned int length;
+
+	/* Profile and CRC fields + IP dynamic chains */
+	length = d_generic_detect_ir_dyn_size(context, packet, plen, large_cid_len);
+	if(length == 0)
+	{
+		goto quit;
+	}
+
+	/* ESP dynamic part (see 5.7.7.7 in RFC 3095) */
+	length += sizeof(uint32_t);
+
+quit:
+	return length;
+}
+
+
+/**
+ * @brief Decode the ESP static part of the ROHC packet
+ *
+ * @param context The generic decompression context
+ * @param packet  The ROHC packet to decode
+ * @param length  The length of the ROHC packet
+ * @param dest    The decoded ESP header
+ * @return        The number of bytes read in the ROHC packet,
+ *                -1 in case of failure
+ */
+int esp_decode_static_esp(struct d_generic_context *context,
+                          const unsigned char *packet,
+                          unsigned int length,
+                          unsigned char *dest)
+{
+	struct esphdr *esp = (struct esphdr *) dest;
+	int read = 0; /* number of bytes read from the packet */
+
+	/* check the minimal length to decode the ESP static part */
+	if(length < 4)
+	{
+		rohc_debugf(0, "ROHC packet too small (len = %d)\n", length);
+		goto error;
+	}
+
+	memcpy(&esp->security_parameters_index, packet, sizeof(uint32_t));
+	packet += sizeof(uint32_t);
+	read += sizeof(uint32_t);
+	rohc_debugf(3, "ESP SPI = 0x%08x\n", ntohl(esp->security_parameters_index));
+
+	return read;
+
+error:
+	return -1;
+}
+
+
+/**
+ * @brief Decode the ESP dynamic part of the ROHC packet
+ *
+ * @param context  The generic decompression context
+ * @param packet   The ROHC packet to decode
+ * @param length   The length of the ROHC packet
+ * @param dest     The decoded ESP header
+ * @return         The number of bytes read in the ROHC packet,
+ *                 -1 in case of failure
+ */
+int esp_decode_dynamic_esp(struct d_generic_context *context,
+                           const unsigned char *packet,
+                           unsigned int length,
+                           unsigned char *dest)
+{
+	struct d_esp_context *esp_context;
+	struct esphdr *esp;
+	int read = 0; /* number of bytes read from the packet */
+	uint32_t sn;
+
+	esp_context = context->specific;
+	esp = (struct esphdr *) dest;
+
+	/* check the minimal length to decode the ESP dynamic part */
+	if(length < sizeof(uint32_t))
+	{
+		rohc_debugf(0, "ROHC packet too small (len = %d)\n", length);
+		goto error;
+	}
+
+	/* retrieve the ESP sequence number from the ROHC packet */
+	memcpy(&esp->sequence_number, packet, sizeof(uint32_t));
+	packet += sizeof(uint32_t);
+	read += sizeof(uint32_t);
+	rohc_debugf(3, "ESP SN = 0x%08x\n", ntohl(esp->sequence_number));
+
+	/* init SN and IP-IDs (IPv4 only) */
+	sn = ntohl(esp->sequence_number);
+	rohc_lsb_set_ref(context->sn_lsb_ctxt, sn);
+	if(ip_get_version(&context->active1->ip) == IPV4)
+	{
+		d_ip_id_init(&context->ip_id1, ntohs(ipv4_get_id(&context->active1->ip)), sn); // TODO: pb with 16->32
+	}
+	if(context->multiple_ip && ip_get_version(&context->active2->ip) == IPV4)
+	{
+		d_ip_id_init(&context->ip_id2, ntohs(ipv4_get_id(&context->active2->ip)), sn); // TODO: pb with 16->32
+	}
+
+	return read;
+
+error:
+	return -1;
+}
+
+
+/**
+ * @brief Build an uncompressed ESP header
+ *
+ * @param context      The generic decompression context
+ * @param active       The ESP header changes
+ * @param dest         The buffer to store the ESP header (MUST be at least
+ *                     of sizeof(struct esphdr) length)
+ * @param payload_size The length of the ESP payload
+ * @return             The length of the next header (ie. the ESP header),
+ *                     -1 in case of error
+ */
+int esp_build_uncompressed_esp(struct d_generic_context *context,
+                               struct d_generic_changes *active,
+                               unsigned char *dest,
+                               int payload_size)
+{
+	struct esphdr *const esp = (struct esphdr *) active->next_header;
+
+	/* static SPI field + dynamic SN field */
+	memcpy(dest, esp, sizeof(struct esphdr));
+	rohc_debugf(3, "SPI = 0x%08x\n", ntohl(esp->security_parameters_index));
+	rohc_debugf(3, "SN = 0x%08x\n", ntohl(esp->sequence_number));
+
+	return sizeof(struct esphdr);
+}
+
+
+/**
+ * @brief Define the decompression part of the ESP profile as described
+ *        in the RFC 3095.
+ */
+struct d_profile d_esp_profile =
+{
+	ROHC_PROFILE_ESP,       /* profile ID (see 8 in RFC 3095) */
+	"ESP / Decompressor",   /* profile description */
+	d_generic_decode,       /* profile handlers */
+	d_generic_decode_ir,
+	d_esp_create,
+	d_esp_destroy,
+	esp_detect_ir_size,
+	esp_detect_ir_dyn_size,
+	esp_get_static_size,
+	d_generic_get_sn,
+};
+

=== added file 'src/decomp/d_esp.h'
--- src/decomp/d_esp.h	1970-01-01 00:00:00 +0000
+++ src/decomp/d_esp.h	2012-05-31 19:04:42 +0000
@@ -0,0 +1,68 @@
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/**
+ * @file   d_esp.h
+ * @brief  ROHC ESP decompression profile
+ * @author FWX <rohc_team@xxxxxxxxxx>
+ * @author Didier Barvaux <didier@xxxxxxxxxxx>
+ */
+
+#ifndef D_ESP_H
+#define D_ESP_H
+
+#include "esp.h"
+#include "d_generic.h"
+#include "d_ip.h"
+
+
+//TODO: make all functions private?
+/*
+ * Public function prototypes.
+ */
+
+void d_esp_destroy(void *context);
+
+unsigned int esp_detect_ir_size(struct d_context *context,
+                                unsigned char *packet,
+                                unsigned int plen,
+                                unsigned int large_cid_len);
+
+unsigned int esp_detect_ir_dyn_size(struct d_context *context,
+                                    unsigned char *packet,
+                                    unsigned int plen,
+                                    unsigned int large_cid_len);
+
+int esp_decode_static_esp(struct d_generic_context *context,
+                          const unsigned char *packet,
+                          unsigned int length,
+                          unsigned char *dest);
+
+int esp_decode_dynamic_esp(struct d_generic_context *context,
+                           const unsigned char *packet,
+                           unsigned int length,
+                           unsigned char *dest);
+
+int esp_get_static_size(void);
+
+int esp_build_uncompressed_esp(struct d_generic_context *context,
+                               struct d_generic_changes *active,
+                               unsigned char *dest,
+                               int payload_size);
+
+
+#endif
+

=== modified file 'src/decomp/d_generic.c'
--- src/decomp/d_generic.c	2012-05-26 20:22:11 +0000
+++ src/decomp/d_generic.c	2012-05-31 18:49:01 +0000
@@ -35,6 +35,7 @@
 #include "wlsb.h"
 #include "sdvl.h"
 #include "crc.h"
+#include "esp.h" /* TODO: for esphdr, should be removed with callbacks */
 
 #include <assert.h>
 
@@ -3334,7 +3335,7 @@
  7  |         Dynamic chain         |  present if D = 1, variable length
     |                               |
     +---+---+---+---+---+---+---+---+
- 8  |             SN                |  2 octets if not RTP
+ 8  |             SN                |  2 octets if not RTP nor ESP
     +---+---+---+---+---+---+---+---+
     |                               |
  9  |           Payload             |  variable length
@@ -3554,7 +3555,7 @@
  6  /         Dynamic chain         / variable length
     |                               |
     +---+---+---+---+---+---+---+---+
- 7  |             SN                | 2 octets if not RTP
+ 7  |             SN                | 2 octets if not RTP nor ESP
     +---+---+---+---+---+---+---+---+
     :                               :
  8  /           Payload             / variable length
@@ -4223,7 +4224,7 @@
 	}
 
 	/* TODO: next block of code should be in build_next_header() of the RTP
-	         profile */
+	         profile and ESP profile */
 	if(is_rtp)
 	{
 		/* RTP Marker (M) bit.
@@ -4243,6 +4244,13 @@
 		rtp->m = rtp_m_flag & 0x1;
 		rohc_debugf(3, "force RTP Marker (M) bit to %u\n", rtp->m);
 	}
+	else if(context->profile->id == ROHC_PROFILE_ESP)
+	{
+		struct esphdr *const esp = (struct esphdr *) g_context->active1->next_header;
+
+		/* update ESP SN */
+		esp->sequence_number = htonl((uint32_t) sn_decoded);
+	}
 
 	/* build the next header if necessary */
 	next_header = uncomp_packet;
@@ -5011,7 +5019,7 @@
 	}
 
 	/* TODO: next block of code should be in build_next_header() of the RTP
-	         profile */
+	         profile and ESP profile */
 	if(is_rtp)
 	{
 		struct udphdr *const udp = (struct udphdr *) g_context->active1->next_header;
@@ -5042,6 +5050,13 @@
 			rohc_debugf(3, "force RTP Payload Type (R-PT) = 0x%x\n", rtp_pt_bits);
 		}
 	}
+	else if(context->profile->id == ROHC_PROFILE_ESP)
+	{
+		struct esphdr *const esp = (struct esphdr *) g_context->active1->next_header;
+
+		/* update ESP SN */
+		esp->sequence_number = htonl((uint32_t) sn_decoded);
+	}
 
 	/* build the next header if necessary */
 	next_header = uncomp_packet;
@@ -6227,7 +6242,7 @@
 	}
 
 	/* TODO: next block of code should be in build_next_header() of the RTP
-	         profile */
+	         profile and ESP profile */
 	if(is_rtp)
 	{
 		struct udphdr *const udp = (struct udphdr *) g_context->active1->next_header;
@@ -6258,6 +6273,14 @@
 			rohc_debugf(3, "force RTP Payload Type (R-PT) = 0x%x\n", rtp_pt_bits);
 		}
 	}
+	else if(context->profile->id == ROHC_PROFILE_ESP)
+	{
+		struct esphdr *const esp = (struct esphdr *) g_context->active1->next_header;
+
+		/* update ESP SN */
+		esp->sequence_number = htonl((uint32_t) sn_decoded);
+	}
+
 
 	/* build the next header if necessary */
 	next_header = uncomp_packet;

=== modified file 'src/decomp/rohc_decomp.c'
--- src/decomp/rohc_decomp.c	2012-05-26 20:01:08 +0000
+++ src/decomp/rohc_decomp.c	2012-05-29 19:48:30 +0000
@@ -43,6 +43,7 @@
                         d_udp_profile,
                         d_ip_profile,
                         d_udplite_profile,
+                        d_esp_profile,
                         d_rtp_profile;
 
 /**
@@ -54,6 +55,7 @@
 	&d_udp_profile,
 	&d_ip_profile,
 	&d_udplite_profile,
+	&d_esp_profile,
 	&d_rtp_profile,
 };
 

=== modified file 'src/decomp/rohc_decomp.h'
--- src/decomp/rohc_decomp.h	2012-05-24 19:54:37 +0000
+++ src/decomp/rohc_decomp.h	2012-05-29 19:48:30 +0000
@@ -29,7 +29,7 @@
 #include "rohc_comp.h"
 
 /// The number of ROHC profiles ready to be used
-#define D_NUM_PROFILES 5
+#define D_NUM_PROFILES 6
 
 
 /// ROHC decompressor states (see 4.3.2 in the RFC 3095)

=== modified file 'statistics/generate_statistics.c'
--- statistics/generate_statistics.c	2012-05-26 20:01:08 +0000
+++ statistics/generate_statistics.c	2012-05-29 19:48:30 +0000
@@ -277,6 +277,7 @@
 	rohc_activate_profile(comp, ROHC_PROFILE_IP);
 	rohc_activate_profile(comp, ROHC_PROFILE_UDPLITE);
 	rohc_activate_profile(comp, ROHC_PROFILE_RTP);
+	rohc_activate_profile(comp, ROHC_PROFILE_ESP);
 	rohc_c_set_large_cid(comp, use_large_cid);
 
 	/* set the callback for random numbers */

=== modified file 'test/functional/feedback2/test_feedback2.c'
--- test/functional/feedback2/test_feedback2.c	2012-05-26 20:01:08 +0000
+++ test/functional/feedback2/test_feedback2.c	2012-05-29 19:48:30 +0000
@@ -274,6 +274,7 @@
 	rohc_activate_profile(comp, ROHC_PROFILE_IP);
 	rohc_activate_profile(comp, ROHC_PROFILE_UDPLITE);
 	rohc_activate_profile(comp, ROHC_PROFILE_RTP);
+	rohc_activate_profile(comp, ROHC_PROFILE_ESP);
 	if(is_large_cid)
 	{
 		rohc_c_set_large_cid(comp, 1);

=== modified file 'test/non_regression/Makefile.am'
--- test/non_regression/Makefile.am	2012-03-10 14:56:57 +0000
+++ test/non_regression/Makefile.am	2012-05-29 19:48:30 +0000
@@ -38,6 +38,7 @@
 	test_non_regression_ipv4_udp_rtp_more-than-14-bits-of-sn_smallcid.sh \
 	test_non_regression_ipv4_udp_rtp_lsb-interval-wraparound_smallcid.sh \
 	test_non_regression_ipv4_udp_smallcid.sh \
+	test_non_regression_ipv4_esp_smallcid.sh \
 	test_non_regression_ipv6ext_icmp_smallcid.sh \
 	test_non_regression_ipv6ext_icmp-large-ipv6-ext_smallcid.sh \
 	test_non_regression_ipv6ext_ipv6ext_icmp_smallcid.sh \
@@ -51,7 +52,8 @@
 	test_non_regression_ipv6_udp_rtp_audio-vlc_smallcid.sh \
 	test_non_regression_ipv6_udp_rtp_video2_smallcid.sh \
 	test_non_regression_ipv6_udp_rtp_video1_smallcid.sh \
-	test_non_regression_ipv6_udp_smallcid.sh
+	test_non_regression_ipv6_udp_smallcid.sh \
+	test_non_regression_ipv6_esp_smallcid.sh
 
 TESTS_LARGECID = \
 	test_non_regression_ipvx_largecid.sh \
@@ -86,6 +88,7 @@
 	test_non_regression_ipv4_udp_rtp_more-than-14-bits-of-sn_largecid.sh \
 	test_non_regression_ipv4_udp_rtp_lsb-interval-wraparound_largecid.sh \
 	test_non_regression_ipv4_udp_largecid.sh \
+	test_non_regression_ipv4_esp_largecid.sh \
 	test_non_regression_ipv6ext_icmp_largecid.sh \
 	test_non_regression_ipv6ext_icmp-large-ipv6-ext_largecid.sh \
 	test_non_regression_ipv6ext_ipv6ext_icmp_largecid.sh \
@@ -99,7 +102,8 @@
 	test_non_regression_ipv6_udp_rtp_audio-vlc_largecid.sh \
 	test_non_regression_ipv6_udp_rtp_video2_largecid.sh \
 	test_non_regression_ipv6_udp_rtp_video1_largecid.sh \
-	test_non_regression_ipv6_udp_largecid.sh
+	test_non_regression_ipv6_udp_largecid.sh \
+	test_non_regression_ipv6_esp_largecid.sh
 
 TESTS = \
 	$(TESTS_SMALLCID) \

=== added directory 'test/non_regression/inputs/ipv4/esp'
=== added file 'test/non_regression/inputs/ipv4/esp/description'
--- test/non_regression/inputs/ipv4/esp/description	1970-01-01 00:00:00 +0000
+++ test/non_regression/inputs/ipv4/esp/description	2012-05-29 19:48:30 +0000
@@ -0,0 +1,3 @@
+Test the ESP profile with IPv4/ESP packets (with random IP-ID)
+
+The capture was downloaded from the wireshark wiki.

=== added file 'test/non_regression/inputs/ipv4/esp/rohc_largecid.pcap'
Binary files test/non_regression/inputs/ipv4/esp/rohc_largecid.pcap	1970-01-01 00:00:00 +0000 and test/non_regression/inputs/ipv4/esp/rohc_largecid.pcap	2012-05-31 18:56:19 +0000 differ
=== added file 'test/non_regression/inputs/ipv4/esp/rohc_sizes_largecid'
--- test/non_regression/inputs/ipv4/esp/rohc_sizes_largecid	1970-01-01 00:00:00 +0000
+++ test/non_regression/inputs/ipv4/esp/rohc_sizes_largecid	2012-05-31 18:56:19 +0000
@@ -0,0 +1,624 @@
+compressor_num = 1	packet_num = 1	rohc_size = 184	packet_type = 0
+compressor_num = 2	packet_num = 1	rohc_size = 190	packet_type = 0
+compressor_num = 1	packet_num = 2	rohc_size = 190	packet_type = 0
+compressor_num = 2	packet_num = 2	rohc_size = 184	packet_type = 0
+compressor_num = 1	packet_num = 3	rohc_size = 184	packet_type = 0
+compressor_num = 2	packet_num = 3	rohc_size = 184	packet_type = 0
+compressor_num = 1	packet_num = 4	rohc_size = 170	packet_type = 1
+compressor_num = 2	packet_num = 4	rohc_size = 170	packet_type = 1
+compressor_num = 1	packet_num = 5	rohc_size = 170	packet_type = 1
+compressor_num = 2	packet_num = 5	rohc_size = 170	packet_type = 1
+compressor_num = 1	packet_num = 6	rohc_size = 170	packet_type = 1
+compressor_num = 2	packet_num = 6	rohc_size = 170	packet_type = 1
+compressor_num = 1	packet_num = 7	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 7	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 8	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 8	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 9	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 9	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 10	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 10	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 11	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 11	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 12	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 12	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 13	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 13	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 14	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 14	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 15	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 15	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 16	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 16	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 17	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 17	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 18	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 18	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 19	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 19	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 20	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 20	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 21	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 21	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 22	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 22	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 23	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 23	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 24	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 24	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 25	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 25	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 26	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 26	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 27	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 27	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 28	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 28	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 29	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 29	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 30	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 30	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 31	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 31	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 32	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 32	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 33	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 33	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 34	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 34	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 35	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 35	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 36	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 36	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 37	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 37	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 38	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 38	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 39	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 39	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 40	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 40	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 41	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 41	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 42	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 42	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 43	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 43	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 44	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 44	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 45	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 45	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 46	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 46	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 47	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 47	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 48	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 48	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 49	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 49	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 50	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 50	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 51	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 51	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 52	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 52	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 53	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 53	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 54	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 54	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 55	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 55	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 56	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 56	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 57	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 57	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 58	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 58	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 59	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 59	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 60	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 60	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 61	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 61	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 62	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 62	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 63	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 63	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 64	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 64	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 65	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 65	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 66	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 66	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 67	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 67	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 68	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 68	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 69	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 69	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 70	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 70	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 71	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 71	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 72	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 72	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 73	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 73	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 74	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 74	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 75	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 75	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 76	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 76	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 77	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 77	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 78	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 78	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 79	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 79	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 80	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 80	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 81	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 81	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 82	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 82	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 83	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 83	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 84	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 84	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 85	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 85	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 86	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 86	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 87	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 87	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 88	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 88	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 89	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 89	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 90	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 90	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 91	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 91	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 92	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 92	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 93	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 93	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 94	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 94	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 95	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 95	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 96	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 96	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 97	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 97	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 98	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 98	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 99	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 99	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 100	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 100	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 101	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 101	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 102	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 102	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 103	rohc_size = 163	packet_type = 7
+compressor_num = 2	packet_num = 103	rohc_size = 163	packet_type = 7
+compressor_num = 1	packet_num = 104	rohc_size = 163	packet_type = 7
+compressor_num = 2	packet_num = 104	rohc_size = 163	packet_type = 7
+compressor_num = 1	packet_num = 105	rohc_size = 163	packet_type = 7
+compressor_num = 2	packet_num = 105	rohc_size = 163	packet_type = 7
+compressor_num = 1	packet_num = 106	rohc_size = 163	packet_type = 7
+compressor_num = 2	packet_num = 106	rohc_size = 163	packet_type = 7
+compressor_num = 1	packet_num = 107	rohc_size = 161	packet_type = 7
+compressor_num = 2	packet_num = 107	rohc_size = 161	packet_type = 7
+compressor_num = 1	packet_num = 108	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 108	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 109	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 109	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 110	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 110	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 111	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 111	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 112	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 112	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 113	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 113	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 114	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 114	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 115	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 115	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 116	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 116	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 117	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 117	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 118	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 118	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 119	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 119	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 120	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 120	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 121	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 121	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 122	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 122	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 123	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 123	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 124	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 124	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 125	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 125	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 126	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 126	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 127	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 127	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 128	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 128	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 129	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 129	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 130	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 130	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 131	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 131	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 132	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 132	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 133	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 133	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 134	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 134	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 135	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 135	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 136	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 136	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 137	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 137	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 138	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 138	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 139	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 139	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 140	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 140	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 141	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 141	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 142	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 142	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 143	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 143	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 144	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 144	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 145	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 145	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 146	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 146	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 147	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 147	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 148	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 148	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 149	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 149	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 150	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 150	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 151	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 151	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 152	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 152	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 153	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 153	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 154	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 154	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 155	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 155	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 156	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 156	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 157	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 157	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 158	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 158	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 159	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 159	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 160	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 160	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 161	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 161	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 162	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 162	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 163	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 163	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 164	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 164	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 165	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 165	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 166	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 166	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 167	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 167	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 168	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 168	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 169	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 169	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 170	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 170	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 171	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 171	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 172	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 172	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 173	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 173	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 174	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 174	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 175	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 175	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 176	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 176	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 177	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 177	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 178	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 178	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 179	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 179	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 180	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 180	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 181	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 181	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 182	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 182	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 183	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 183	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 184	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 184	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 185	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 185	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 186	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 186	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 187	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 187	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 188	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 188	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 189	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 189	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 190	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 190	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 191	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 191	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 192	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 192	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 193	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 193	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 194	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 194	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 195	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 195	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 196	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 196	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 197	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 197	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 198	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 198	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 199	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 199	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 200	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 200	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 201	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 201	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 202	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 202	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 203	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 203	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 204	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 204	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 205	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 205	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 206	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 206	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 207	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 207	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 208	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 208	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 209	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 209	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 210	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 210	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 211	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 211	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 212	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 212	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 213	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 213	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 214	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 214	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 215	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 215	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 216	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 216	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 217	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 217	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 218	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 218	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 219	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 219	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 220	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 220	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 221	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 221	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 222	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 222	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 223	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 223	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 224	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 224	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 225	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 225	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 226	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 226	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 227	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 227	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 228	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 228	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 229	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 229	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 230	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 230	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 231	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 231	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 232	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 232	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 233	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 233	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 234	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 234	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 235	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 235	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 236	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 236	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 237	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 237	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 238	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 238	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 239	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 239	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 240	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 240	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 241	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 241	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 242	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 242	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 243	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 243	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 244	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 244	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 245	rohc_size = 163	packet_type = 7
+compressor_num = 2	packet_num = 245	rohc_size = 163	packet_type = 7
+compressor_num = 1	packet_num = 246	rohc_size = 163	packet_type = 7
+compressor_num = 2	packet_num = 246	rohc_size = 163	packet_type = 7
+compressor_num = 1	packet_num = 247	rohc_size = 163	packet_type = 7
+compressor_num = 2	packet_num = 247	rohc_size = 163	packet_type = 7
+compressor_num = 1	packet_num = 248	rohc_size = 163	packet_type = 7
+compressor_num = 2	packet_num = 248	rohc_size = 163	packet_type = 7
+compressor_num = 1	packet_num = 249	rohc_size = 161	packet_type = 7
+compressor_num = 2	packet_num = 249	rohc_size = 161	packet_type = 7
+compressor_num = 1	packet_num = 250	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 250	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 251	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 251	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 252	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 252	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 253	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 253	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 254	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 254	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 255	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 255	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 256	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 256	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 257	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 257	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 258	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 258	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 259	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 259	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 260	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 260	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 261	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 261	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 262	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 262	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 263	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 263	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 264	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 264	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 265	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 265	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 266	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 266	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 267	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 267	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 268	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 268	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 269	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 269	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 270	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 270	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 271	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 271	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 272	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 272	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 273	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 273	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 274	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 274	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 275	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 275	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 276	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 276	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 277	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 277	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 278	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 278	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 279	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 279	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 280	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 280	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 281	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 281	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 282	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 282	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 283	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 283	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 284	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 284	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 285	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 285	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 286	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 286	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 287	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 287	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 288	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 288	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 289	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 289	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 290	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 290	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 291	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 291	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 292	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 292	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 293	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 293	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 294	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 294	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 295	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 295	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 296	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 296	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 297	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 297	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 298	rohc_size = 163	packet_type = 7
+compressor_num = 2	packet_num = 298	rohc_size = 163	packet_type = 7
+compressor_num = 1	packet_num = 299	rohc_size = 163	packet_type = 7
+compressor_num = 2	packet_num = 299	rohc_size = 163	packet_type = 7
+compressor_num = 1	packet_num = 300	rohc_size = 163	packet_type = 7
+compressor_num = 2	packet_num = 300	rohc_size = 163	packet_type = 7
+compressor_num = 1	packet_num = 301	rohc_size = 163	packet_type = 7
+compressor_num = 2	packet_num = 301	rohc_size = 163	packet_type = 7
+compressor_num = 1	packet_num = 302	rohc_size = 161	packet_type = 7
+compressor_num = 2	packet_num = 302	rohc_size = 161	packet_type = 7
+compressor_num = 1	packet_num = 303	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 303	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 304	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 304	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 305	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 305	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 306	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 306	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 307	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 307	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 308	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 308	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 309	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 309	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 310	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 310	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 311	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 311	rohc_size = 160	packet_type = 2
+compressor_num = 1	packet_num = 312	rohc_size = 160	packet_type = 2
+compressor_num = 2	packet_num = 312	rohc_size = 160	packet_type = 2

=== added file 'test/non_regression/inputs/ipv4/esp/rohc_sizes_smallcid'
--- test/non_regression/inputs/ipv4/esp/rohc_sizes_smallcid	1970-01-01 00:00:00 +0000
+++ test/non_regression/inputs/ipv4/esp/rohc_sizes_smallcid	2012-05-31 18:56:15 +0000
@@ -0,0 +1,624 @@
+compressor_num = 1	packet_num = 1	rohc_size = 183	packet_type = 0
+compressor_num = 2	packet_num = 1	rohc_size = 188	packet_type = 0
+compressor_num = 1	packet_num = 2	rohc_size = 188	packet_type = 0
+compressor_num = 2	packet_num = 2	rohc_size = 183	packet_type = 0
+compressor_num = 1	packet_num = 3	rohc_size = 183	packet_type = 0
+compressor_num = 2	packet_num = 3	rohc_size = 183	packet_type = 0
+compressor_num = 1	packet_num = 4	rohc_size = 169	packet_type = 1
+compressor_num = 2	packet_num = 4	rohc_size = 169	packet_type = 1
+compressor_num = 1	packet_num = 5	rohc_size = 169	packet_type = 1
+compressor_num = 2	packet_num = 5	rohc_size = 169	packet_type = 1
+compressor_num = 1	packet_num = 6	rohc_size = 169	packet_type = 1
+compressor_num = 2	packet_num = 6	rohc_size = 169	packet_type = 1
+compressor_num = 1	packet_num = 7	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 7	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 8	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 8	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 9	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 9	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 10	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 10	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 11	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 11	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 12	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 12	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 13	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 13	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 14	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 14	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 15	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 15	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 16	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 16	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 17	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 17	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 18	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 18	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 19	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 19	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 20	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 20	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 21	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 21	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 22	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 22	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 23	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 23	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 24	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 24	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 25	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 25	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 26	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 26	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 27	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 27	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 28	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 28	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 29	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 29	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 30	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 30	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 31	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 31	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 32	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 32	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 33	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 33	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 34	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 34	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 35	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 35	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 36	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 36	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 37	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 37	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 38	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 38	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 39	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 39	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 40	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 40	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 41	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 41	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 42	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 42	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 43	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 43	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 44	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 44	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 45	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 45	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 46	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 46	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 47	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 47	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 48	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 48	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 49	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 49	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 50	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 50	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 51	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 51	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 52	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 52	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 53	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 53	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 54	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 54	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 55	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 55	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 56	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 56	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 57	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 57	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 58	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 58	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 59	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 59	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 60	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 60	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 61	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 61	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 62	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 62	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 63	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 63	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 64	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 64	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 65	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 65	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 66	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 66	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 67	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 67	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 68	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 68	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 69	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 69	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 70	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 70	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 71	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 71	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 72	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 72	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 73	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 73	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 74	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 74	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 75	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 75	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 76	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 76	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 77	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 77	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 78	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 78	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 79	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 79	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 80	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 80	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 81	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 81	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 82	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 82	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 83	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 83	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 84	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 84	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 85	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 85	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 86	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 86	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 87	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 87	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 88	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 88	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 89	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 89	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 90	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 90	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 91	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 91	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 92	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 92	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 93	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 93	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 94	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 94	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 95	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 95	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 96	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 96	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 97	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 97	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 98	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 98	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 99	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 99	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 100	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 100	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 101	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 101	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 102	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 102	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 103	rohc_size = 162	packet_type = 7
+compressor_num = 2	packet_num = 103	rohc_size = 162	packet_type = 7
+compressor_num = 1	packet_num = 104	rohc_size = 162	packet_type = 7
+compressor_num = 2	packet_num = 104	rohc_size = 162	packet_type = 7
+compressor_num = 1	packet_num = 105	rohc_size = 162	packet_type = 7
+compressor_num = 2	packet_num = 105	rohc_size = 162	packet_type = 7
+compressor_num = 1	packet_num = 106	rohc_size = 162	packet_type = 7
+compressor_num = 2	packet_num = 106	rohc_size = 162	packet_type = 7
+compressor_num = 1	packet_num = 107	rohc_size = 160	packet_type = 7
+compressor_num = 2	packet_num = 107	rohc_size = 160	packet_type = 7
+compressor_num = 1	packet_num = 108	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 108	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 109	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 109	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 110	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 110	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 111	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 111	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 112	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 112	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 113	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 113	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 114	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 114	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 115	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 115	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 116	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 116	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 117	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 117	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 118	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 118	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 119	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 119	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 120	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 120	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 121	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 121	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 122	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 122	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 123	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 123	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 124	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 124	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 125	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 125	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 126	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 126	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 127	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 127	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 128	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 128	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 129	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 129	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 130	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 130	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 131	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 131	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 132	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 132	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 133	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 133	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 134	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 134	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 135	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 135	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 136	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 136	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 137	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 137	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 138	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 138	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 139	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 139	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 140	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 140	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 141	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 141	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 142	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 142	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 143	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 143	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 144	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 144	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 145	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 145	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 146	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 146	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 147	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 147	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 148	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 148	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 149	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 149	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 150	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 150	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 151	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 151	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 152	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 152	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 153	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 153	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 154	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 154	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 155	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 155	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 156	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 156	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 157	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 157	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 158	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 158	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 159	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 159	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 160	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 160	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 161	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 161	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 162	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 162	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 163	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 163	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 164	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 164	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 165	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 165	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 166	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 166	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 167	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 167	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 168	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 168	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 169	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 169	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 170	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 170	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 171	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 171	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 172	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 172	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 173	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 173	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 174	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 174	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 175	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 175	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 176	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 176	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 177	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 177	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 178	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 178	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 179	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 179	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 180	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 180	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 181	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 181	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 182	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 182	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 183	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 183	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 184	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 184	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 185	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 185	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 186	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 186	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 187	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 187	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 188	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 188	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 189	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 189	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 190	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 190	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 191	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 191	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 192	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 192	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 193	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 193	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 194	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 194	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 195	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 195	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 196	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 196	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 197	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 197	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 198	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 198	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 199	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 199	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 200	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 200	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 201	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 201	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 202	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 202	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 203	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 203	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 204	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 204	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 205	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 205	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 206	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 206	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 207	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 207	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 208	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 208	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 209	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 209	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 210	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 210	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 211	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 211	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 212	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 212	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 213	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 213	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 214	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 214	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 215	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 215	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 216	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 216	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 217	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 217	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 218	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 218	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 219	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 219	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 220	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 220	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 221	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 221	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 222	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 222	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 223	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 223	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 224	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 224	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 225	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 225	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 226	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 226	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 227	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 227	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 228	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 228	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 229	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 229	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 230	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 230	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 231	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 231	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 232	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 232	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 233	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 233	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 234	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 234	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 235	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 235	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 236	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 236	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 237	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 237	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 238	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 238	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 239	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 239	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 240	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 240	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 241	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 241	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 242	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 242	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 243	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 243	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 244	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 244	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 245	rohc_size = 162	packet_type = 7
+compressor_num = 2	packet_num = 245	rohc_size = 162	packet_type = 7
+compressor_num = 1	packet_num = 246	rohc_size = 162	packet_type = 7
+compressor_num = 2	packet_num = 246	rohc_size = 162	packet_type = 7
+compressor_num = 1	packet_num = 247	rohc_size = 162	packet_type = 7
+compressor_num = 2	packet_num = 247	rohc_size = 162	packet_type = 7
+compressor_num = 1	packet_num = 248	rohc_size = 162	packet_type = 7
+compressor_num = 2	packet_num = 248	rohc_size = 162	packet_type = 7
+compressor_num = 1	packet_num = 249	rohc_size = 160	packet_type = 7
+compressor_num = 2	packet_num = 249	rohc_size = 160	packet_type = 7
+compressor_num = 1	packet_num = 250	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 250	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 251	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 251	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 252	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 252	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 253	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 253	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 254	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 254	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 255	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 255	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 256	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 256	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 257	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 257	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 258	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 258	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 259	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 259	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 260	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 260	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 261	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 261	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 262	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 262	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 263	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 263	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 264	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 264	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 265	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 265	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 266	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 266	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 267	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 267	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 268	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 268	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 269	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 269	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 270	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 270	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 271	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 271	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 272	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 272	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 273	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 273	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 274	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 274	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 275	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 275	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 276	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 276	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 277	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 277	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 278	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 278	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 279	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 279	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 280	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 280	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 281	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 281	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 282	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 282	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 283	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 283	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 284	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 284	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 285	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 285	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 286	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 286	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 287	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 287	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 288	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 288	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 289	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 289	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 290	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 290	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 291	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 291	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 292	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 292	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 293	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 293	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 294	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 294	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 295	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 295	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 296	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 296	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 297	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 297	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 298	rohc_size = 162	packet_type = 7
+compressor_num = 2	packet_num = 298	rohc_size = 162	packet_type = 7
+compressor_num = 1	packet_num = 299	rohc_size = 162	packet_type = 7
+compressor_num = 2	packet_num = 299	rohc_size = 162	packet_type = 7
+compressor_num = 1	packet_num = 300	rohc_size = 162	packet_type = 7
+compressor_num = 2	packet_num = 300	rohc_size = 162	packet_type = 7
+compressor_num = 1	packet_num = 301	rohc_size = 162	packet_type = 7
+compressor_num = 2	packet_num = 301	rohc_size = 162	packet_type = 7
+compressor_num = 1	packet_num = 302	rohc_size = 160	packet_type = 7
+compressor_num = 2	packet_num = 302	rohc_size = 160	packet_type = 7
+compressor_num = 1	packet_num = 303	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 303	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 304	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 304	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 305	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 305	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 306	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 306	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 307	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 307	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 308	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 308	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 309	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 309	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 310	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 310	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 311	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 311	rohc_size = 159	packet_type = 2
+compressor_num = 1	packet_num = 312	rohc_size = 159	packet_type = 2
+compressor_num = 2	packet_num = 312	rohc_size = 159	packet_type = 2

=== added file 'test/non_regression/inputs/ipv4/esp/rohc_smallcid.pcap'
Binary files test/non_regression/inputs/ipv4/esp/rohc_smallcid.pcap	1970-01-01 00:00:00 +0000 and test/non_regression/inputs/ipv4/esp/rohc_smallcid.pcap	2012-05-31 18:56:15 +0000 differ
=== added file 'test/non_regression/inputs/ipv4/esp/source.pcap'
Binary files test/non_regression/inputs/ipv4/esp/source.pcap	1970-01-01 00:00:00 +0000 and test/non_regression/inputs/ipv4/esp/source.pcap	2012-05-29 19:48:30 +0000 differ
=== added directory 'test/non_regression/inputs/ipv6/esp'
=== added file 'test/non_regression/inputs/ipv6/esp/description'
--- test/non_regression/inputs/ipv6/esp/description	1970-01-01 00:00:00 +0000
+++ test/non_regression/inputs/ipv6/esp/description	2012-05-29 19:48:30 +0000
@@ -0,0 +1,3 @@
+Test the ESP profile with IPv6/ESP packets
+
+The capture was downloaded from the wireshark wiki.

=== added file 'test/non_regression/inputs/ipv6/esp/rohc_largecid.pcap'
Binary files test/non_regression/inputs/ipv6/esp/rohc_largecid.pcap	1970-01-01 00:00:00 +0000 and test/non_regression/inputs/ipv6/esp/rohc_largecid.pcap	2012-05-31 18:56:22 +0000 differ
=== added file 'test/non_regression/inputs/ipv6/esp/rohc_sizes_largecid'
--- test/non_regression/inputs/ipv6/esp/rohc_sizes_largecid	1970-01-01 00:00:00 +0000
+++ test/non_regression/inputs/ipv6/esp/rohc_sizes_largecid	2012-05-31 18:56:22 +0000
@@ -0,0 +1,144 @@
+compressor_num = 1	packet_num = 1	rohc_size = 143	packet_type = 0
+compressor_num = 2	packet_num = 1	rohc_size = 149	packet_type = 0
+compressor_num = 1	packet_num = 2	rohc_size = 149	packet_type = 0
+compressor_num = 2	packet_num = 2	rohc_size = 143	packet_type = 0
+compressor_num = 1	packet_num = 3	rohc_size = 143	packet_type = 0
+compressor_num = 2	packet_num = 3	rohc_size = 143	packet_type = 0
+compressor_num = 1	packet_num = 4	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 4	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 5	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 5	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 6	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 6	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 7	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 7	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 8	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 8	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 9	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 9	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 10	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 10	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 11	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 11	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 12	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 12	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 13	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 13	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 14	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 14	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 15	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 15	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 16	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 16	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 17	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 17	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 18	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 18	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 19	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 19	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 20	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 20	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 21	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 21	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 22	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 22	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 23	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 23	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 24	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 24	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 25	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 25	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 26	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 26	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 27	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 27	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 28	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 28	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 29	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 29	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 30	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 30	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 31	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 31	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 32	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 32	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 33	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 33	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 34	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 34	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 35	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 35	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 36	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 36	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 37	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 37	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 38	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 38	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 39	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 39	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 40	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 40	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 41	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 41	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 42	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 42	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 43	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 43	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 44	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 44	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 45	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 45	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 46	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 46	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 47	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 47	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 48	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 48	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 49	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 49	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 50	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 50	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 51	rohc_size = 143	packet_type = 0
+compressor_num = 2	packet_num = 51	rohc_size = 149	packet_type = 0
+compressor_num = 1	packet_num = 52	rohc_size = 149	packet_type = 0
+compressor_num = 2	packet_num = 52	rohc_size = 143	packet_type = 0
+compressor_num = 1	packet_num = 53	rohc_size = 143	packet_type = 0
+compressor_num = 2	packet_num = 53	rohc_size = 143	packet_type = 0
+compressor_num = 1	packet_num = 54	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 54	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 55	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 55	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 56	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 56	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 57	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 57	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 58	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 58	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 59	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 59	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 60	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 60	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 61	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 61	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 62	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 62	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 63	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 63	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 64	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 64	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 65	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 65	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 66	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 66	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 67	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 67	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 68	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 68	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 69	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 69	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 70	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 70	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 71	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 71	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 72	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 72	rohc_size = 94	packet_type = 2

=== added file 'test/non_regression/inputs/ipv6/esp/rohc_sizes_smallcid'
--- test/non_regression/inputs/ipv6/esp/rohc_sizes_smallcid	1970-01-01 00:00:00 +0000
+++ test/non_regression/inputs/ipv6/esp/rohc_sizes_smallcid	2012-05-31 18:56:26 +0000
@@ -0,0 +1,144 @@
+compressor_num = 1	packet_num = 1	rohc_size = 142	packet_type = 0
+compressor_num = 2	packet_num = 1	rohc_size = 147	packet_type = 0
+compressor_num = 1	packet_num = 2	rohc_size = 147	packet_type = 0
+compressor_num = 2	packet_num = 2	rohc_size = 142	packet_type = 0
+compressor_num = 1	packet_num = 3	rohc_size = 142	packet_type = 0
+compressor_num = 2	packet_num = 3	rohc_size = 142	packet_type = 0
+compressor_num = 1	packet_num = 4	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 4	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 5	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 5	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 6	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 6	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 7	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 7	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 8	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 8	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 9	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 9	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 10	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 10	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 11	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 11	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 12	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 12	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 13	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 13	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 14	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 14	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 15	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 15	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 16	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 16	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 17	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 17	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 18	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 18	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 19	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 19	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 20	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 20	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 21	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 21	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 22	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 22	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 23	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 23	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 24	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 24	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 25	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 25	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 26	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 26	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 27	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 27	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 28	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 28	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 29	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 29	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 30	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 30	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 31	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 31	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 32	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 32	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 33	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 33	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 34	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 34	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 35	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 35	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 36	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 36	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 37	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 37	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 38	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 38	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 39	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 39	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 40	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 40	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 41	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 41	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 42	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 42	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 43	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 43	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 44	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 44	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 45	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 45	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 46	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 46	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 47	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 47	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 48	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 48	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 49	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 49	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 50	rohc_size = 93	packet_type = 2
+compressor_num = 2	packet_num = 50	rohc_size = 93	packet_type = 2
+compressor_num = 1	packet_num = 51	rohc_size = 143	packet_type = 0
+compressor_num = 2	packet_num = 51	rohc_size = 149	packet_type = 0
+compressor_num = 1	packet_num = 52	rohc_size = 149	packet_type = 0
+compressor_num = 2	packet_num = 52	rohc_size = 143	packet_type = 0
+compressor_num = 1	packet_num = 53	rohc_size = 143	packet_type = 0
+compressor_num = 2	packet_num = 53	rohc_size = 143	packet_type = 0
+compressor_num = 1	packet_num = 54	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 54	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 55	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 55	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 56	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 56	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 57	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 57	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 58	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 58	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 59	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 59	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 60	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 60	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 61	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 61	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 62	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 62	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 63	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 63	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 64	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 64	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 65	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 65	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 66	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 66	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 67	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 67	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 68	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 68	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 69	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 69	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 70	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 70	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 71	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 71	rohc_size = 94	packet_type = 2
+compressor_num = 1	packet_num = 72	rohc_size = 94	packet_type = 2
+compressor_num = 2	packet_num = 72	rohc_size = 94	packet_type = 2

=== added file 'test/non_regression/inputs/ipv6/esp/rohc_smallcid.pcap'
Binary files test/non_regression/inputs/ipv6/esp/rohc_smallcid.pcap	1970-01-01 00:00:00 +0000 and test/non_regression/inputs/ipv6/esp/rohc_smallcid.pcap	2012-05-31 18:56:26 +0000 differ
=== added file 'test/non_regression/inputs/ipv6/esp/source.pcap'
Binary files test/non_regression/inputs/ipv6/esp/source.pcap	1970-01-01 00:00:00 +0000 and test/non_regression/inputs/ipv6/esp/source.pcap	2012-05-29 19:48:30 +0000 differ
=== modified file 'test/non_regression/test_non_regression.c'
--- test/non_regression/test_non_regression.c	2012-05-26 20:01:08 +0000
+++ test/non_regression/test_non_regression.c	2012-05-29 19:48:30 +0000
@@ -852,6 +852,7 @@
 	rohc_activate_profile(comp1, ROHC_PROFILE_IP);
 	rohc_activate_profile(comp1, ROHC_PROFILE_UDPLITE);
 	rohc_activate_profile(comp1, ROHC_PROFILE_RTP);
+	rohc_activate_profile(comp1, ROHC_PROFILE_ESP);
 	rohc_c_set_large_cid(comp1, use_large_cid);
 
 	/* set the callback for random numbers on compressor 1 */
@@ -879,6 +880,7 @@
 	rohc_activate_profile(comp2, ROHC_PROFILE_IP);
 	rohc_activate_profile(comp2, ROHC_PROFILE_UDPLITE);
 	rohc_activate_profile(comp2, ROHC_PROFILE_RTP);
+	rohc_activate_profile(comp2, ROHC_PROFILE_ESP);
 	rohc_c_set_large_cid(comp2, use_large_cid);
 
 	/* set the callback for random numbers on compressor 2 */

=== added symlink 'test/non_regression/test_non_regression_ipv4_esp_largecid.sh'
=== target is u'test_non_regression.sh'
=== added symlink 'test/non_regression/test_non_regression_ipv4_esp_smallcid.sh'
=== target is u'test_non_regression.sh'
=== added symlink 'test/non_regression/test_non_regression_ipv6_esp_largecid.sh'
=== target is u'test_non_regression.sh'
=== added symlink 'test/non_regression/test_non_regression_ipv6_esp_smallcid.sh'
=== target is u'test_non_regression.sh'
=== modified file 'test/robustness/empty_payload/test_empty_payload.c'
--- test/robustness/empty_payload/test_empty_payload.c	2012-05-26 20:01:08 +0000
+++ test/robustness/empty_payload/test_empty_payload.c	2012-05-29 19:48:30 +0000
@@ -317,6 +317,7 @@
 		rohc_activate_profile(comp, ROHC_PROFILE_IP);
 		rohc_activate_profile(comp, ROHC_PROFILE_UDPLITE);
 		rohc_activate_profile(comp, ROHC_PROFILE_RTP);
+		rohc_activate_profile(comp, ROHC_PROFILE_ESP);
 	}
 
 	/* create the ROHC decompressor in unidirectional mode */

=== modified file 'test/robustness/piggybacking_feedback/test_piggybacking_feedback.c'
--- test/robustness/piggybacking_feedback/test_piggybacking_feedback.c	2012-05-26 20:01:08 +0000
+++ test/robustness/piggybacking_feedback/test_piggybacking_feedback.c	2012-05-29 19:48:30 +0000
@@ -182,6 +182,7 @@
 	rohc_activate_profile(compA, ROHC_PROFILE_IP);
 	rohc_activate_profile(compA, ROHC_PROFILE_UDPLITE);
 	rohc_activate_profile(compA, ROHC_PROFILE_RTP);
+	rohc_activate_profile(compA, ROHC_PROFILE_ESP);
 
 	/* set the callback for random numbers on compressor A */
 	if(!rohc_comp_set_random_cb(compA, gen_random_num, NULL))
@@ -204,6 +205,7 @@
 	rohc_activate_profile(compB, ROHC_PROFILE_IP);
 	rohc_activate_profile(compB, ROHC_PROFILE_UDPLITE);
 	rohc_activate_profile(compB, ROHC_PROFILE_RTP);
+	rohc_activate_profile(compB, ROHC_PROFILE_ESP);
 
 	/* set the callback for random numbers on compressor B */
 	if(!rohc_comp_set_random_cb(compB, gen_random_num, NULL))

Attachment: signature.asc
Description: PGP signature


References