rfc5225 RoHCv2 ipv4_outer_irregular format question
Klaus Warnke <[email protected]> Fri, 13 Apr 2012 16:57:14 +0200
| Newsgroups | gmane.ietf.rohc |
|---|---|
| Message-ID | <[email protected]> |
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 protected]
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