Subject: [rohc] rfc5225 RoHCv2 ipv4_outer_irregular format question

From: Klaus Warnke <[email-masked]>
Date: Fri, 13 Apr 2012 16:57:14 +0200

Hello

In the encoding method ipv4() in the format ipv4_outer_irregular{}:

   COMPRESSED ipv4_outer_irregular {
     ENFORCE(is_innermost == 0);
     ip_id    =:=
       ip_id_enc_irreg(ip_id_behavior_outer.UVALUE)      [ 0, 16 ];
     tos_tc   =:= static_or_irreg(outer_ip_flag, 8)      [ 0, 8 ];
     ttl_hopl =:= static_or_irreg(outer_ip_flag, 8)      [ 0, 8 ];
   }

I could not determine how the value of the IP-ID in case of
ip_id_behavior_outer is either IP_ID_BEHAVIOR_SEQUENTIAL or
IP_ID_BEHAVIOR_SEQUENTIAL_SWAPPED is computed.

The encoding method ip_id_enc_irreg() is used to handle the IP-ID here.
But for the IP-ID behavior cases stated above I can not figure out,
how it is computed.

Did I oversee something?

Maybe the line
     ip_id         =:= inferred_sequential_ip_id       [ 0 ];
is absent here?

But it could not be, because the English text definition talks
about ip_id_behavior_innermost.

ip_id_enc_irreg(behavior)
{
   UNCOMPRESSED {
     ip_id [ 16 ];
   }

   COMPRESSED ip_id_seq {
     ENFORCE(behavior == IP_ID_BEHAVIOR_SEQUENTIAL);
+++    ip_id         =:= inferred_sequential_ip_id       [ 0 ];
   }

   COMPRESSED ip_id_seq_swapped {
     ENFORCE(behavior == IP_ID_BEHAVIOR_SEQUENTIAL_SWAPPED);
+++    ip_id         =:= inferred_sequential_ip_id       [ 0 ];
   }

   COMPRESSED ip_id_rand {
     ENFORCE(behavior == IP_ID_BEHAVIOR_RANDOM);
     ip_id =:= irregular(16) [ 16 ];
   }

   COMPRESSED ip_id_zero {
     ENFORCE(behavior == IP_ID_BEHAVIOR_ZERO);
     ip_id =:= uncompressed_value(16, 0) [ 0 ];
   }
}

If not, could please someone explain, how the IP-ID is computed for the 
outer headers?

Or in other words: If I receive an ipv4_outer_irregular{} format, how I 
get the IP-ID,
if its behavior is sequential or sequential swapped, i.e. no IP-ID bits 
are received
within the irregular chain.

Thanks and regards,
Klaus

-- 
Klaus Warnke		[email-masked]
http://www.acticom.de
Tel +49-30-4849.6891

acticom GmbH
Schwedter Str. 9b, 10119 Berlin, Germany
Managing Directors:  Olaf Kehrer, Gerrit Schulte
Commercial Register: Berlin-Charlottenburg HRB 73245
VAT-ID DE205131766