[rohc] rfc5225 RoHCv2 ipv4_outer_irregular format question

Klaus Warnke <klaus.warnke@acticom.de> Fri, 13 April 2012 14:57 UTC

Return-Path: <klaus.warnke@acticom.de>
X-Original-To: rohc@ietfa.amsl.com
Delivered-To: rohc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4EDDB21F863F for <rohc@ietfa.amsl.com>; Fri, 13 Apr 2012 07:57:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.67
X-Spam-Level:
X-Spam-Status: No, score=-1.67 tagged_above=-999 required=5 tests=[AWL=0.930, BAYES_00=-2.599]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zbTn0g5W7AwA for <rohc@ietfa.amsl.com>; Fri, 13 Apr 2012 07:57:19 -0700 (PDT)
Received: from mail.acticom-networks.com (mail.acticom-networks.com [87.106.254.214]) by ietfa.amsl.com (Postfix) with ESMTP id 867EC21F84F0 for <rohc@ietf.org>; Fri, 13 Apr 2012 07:57:18 -0700 (PDT)
Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.acticom-networks.com (Postfix) with ESMTP id 93F391C00F4A for <rohc@ietf.org>; Fri, 13 Apr 2012 16:57:17 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at acticom-networks.com
Received: from mail.acticom-networks.com ([127.0.0.1]) by localhost (mail.acticom-networks.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id r-GCE9WB4p0B for <rohc@ietf.org>; Fri, 13 Apr 2012 16:57:16 +0200 (CEST)
Received: from godfather.bln.acticom.de (backupsrv [87.139.237.181]) by mail.acticom-networks.com (Postfix) with ESMTP id E2D5F1C00F46 for <rohc@ietf.org>; Fri, 13 Apr 2012 16:57:15 +0200 (CEST)
Received: from [192.168.33.27] (tornado.bln.acticom.de [192.168.33.27]) by godfather.bln.acticom.de (Postfix) with ESMTP id 2550CF3E8E for <rohc@ietf.org>; Fri, 13 Apr 2012 16:57:15 +0200 (CEST)
Message-ID: <4F883ECA.6040209@acticom.de>
Date: Fri, 13 Apr 2012 16:57:14 +0200
From: Klaus Warnke <klaus.warnke@acticom.de>
User-Agent: Mozilla/5.0 (Windows NT 6.0; rv:8.0) Gecko/20111105 Thunderbird/8.0
MIME-Version: 1.0
To: "rohc@ietf.org" <rohc@ietf.org>
Content-Type: text/plain; charset="ISO-8859-15"; format="flowed"
Content-Transfer-Encoding: 7bit
Subject: [rohc] rfc5225 RoHCv2 ipv4_outer_irregular format question
X-BeenThere: rohc@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Robust Header Compression <rohc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rohc>, <mailto:rohc-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rohc>
List-Post: <mailto:rohc@ietf.org>
List-Help: <mailto:rohc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rohc>, <mailto:rohc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 13 Apr 2012 14:57:20 -0000

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		klaus.warnke@acticom.de
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