Ethereal-users: Re[2]: [Ethereal-users] MLDv2

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Christian <ruhle@xxxxxxxxx>
Date: Thu, 10 Jul 2003 16:55:54 +0200
Thursday, July 10, 2003, 1:59:14 PM, you wrote:

JM> On Wed, Jul 09, 2003 at 02:22:42PM +0200, Christian wrote:
>> It is possible to see MLDv2 captures with ethereal?

JM> Ethereal captures the packets. If MLDv2 is based on icmpv6, then the generic
JM> icmpv6 part will be decoded, but nothing else.

Yes, MLDv2 is an sub-protocol of ICMPv6. The first 32 bit of the MLDv2
message are the ICMPv6 header (see below).
All MLDv2 messages be sent with a link-local IPv6 Source Address
(basis header), and an IPv6 Router Alert option in a Hop-by-Hop Options
header.
What happens with 'not decoded part'? Can I see it in the
'Hex-Code-Field'?

>> If yes, where can I get a Patch for Ethereal?

JM> There is no patch. If I understand things correctly, MLDv2 is the equivalent
JM> of igmpv3 for ipv6. If so: How similar are these two? Would it be possible
JM> to reuse the existing igmpv3 code?  How much do the draft revisions change
JM> between editions?

MLDv2 is derived from the IPv4s Internet Group Management Protocol,
IGMPv3. The functionality is the same, but there are some differences
in the message format.
The first 32 bit in the IGMPv3 message are not the ICMPv4 header. The
type-field is there a pure IGMP type-field (in opposition to MLDv2,
where the type-field is a ICMPv6 field).

That's the MLDv2 Query Message (the first 32 bits = ICMPv6):
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Type = 130   |      Code     |           Checksum            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Maximum Response Code      |           Reserved            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   *                                                               *
   |                                                               |
   *                       Multicast Address                       *
   |                                                               |
   *                                                               *
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Resv  |S| QRV |     QQIC      |     Number of Sources (N)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   *                                                               *
   |                                                               |
   *                       Source Address [1]                      *
   |                                                               |
   *                                                               *
   |                                                               | 

and that's the IGMPv3 Query Message:
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |  Type = 0x11  | Max Resp Code |           Checksum            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                         Group Address                         |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  | Resv  |S| QRV |     QQIC      |     Number of Sources (N)     |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                       Source Address [1]                      |
  +-                                                             -+

Is it possible to use the IGMPv3 code?
Support Ethereal IGMPv3 by default or is a patch necessary?

Best regards,
 Christian                            mailto:ruhle@xxxxxxxxx

  
JM>   Ciao
JM>         Jörg