Subject: [Ipoverib] Bit number of IP address in MGID

From: [email-masked] (Koji Takahara)
Date: Tue, 5 Feb 2002 11:53:45 +0900 (JST)

I want to change the bit number of IP multicast address included in MGID.
My proposal is written at the last of this mail.

Vivek and Jerry state the following in draft-ietf-ipoib-link-multicast-00.txt.
----From draft-ietf-ipoib-link-multicast-00.txt ----
   |   8    |  4 |  4 |     16 bits     | 16 bits |      80 bits       |
   +------ -+----+----+-----------------+---------+--------------------+
   |11111111|0001|scop|<IPoIB signature>|< P_Key >|      group ID      |
   +--------+----+----+-----------------+---------+--------------------+
             :
             :
   An IP multicast address is used together with a given IPoIB link
   P_Key to form the MGID of the IB multicast group. For IPv6 the lower
   80-bit of the group ID is used directly in the lower 80-bit of the
   MGID. For IPv4, the group ID is only 28-bit long and the rest of the
   80 bits are filled with 0.
----

On the other hand, in the world of SVR4 UNIX,
we follow the following standard.
   Open Group Technical Standard Data Link Provider Interface(DLPI), 
   Version 2, January 2000

And the DLPI driver has to create multicast group 
when it accepts DL_ENABMULTI_REQ from the upper-layer. 

In Solaris, the address passed by DL_ENABMULTI_REQ is 
Ethernet multicast address.

About the Ethernet multicast address for IPv6, RFC2464 says the following.
----From RFC2464 ----
    An IPv6 packet with a multicast destination address DST, consisting
    of the sixteen octets DST[1] through DST[16], is transmitted to the
    Ethernet multicast address whose first two octets are the value 3333
    hexadecimal and whose last four octets are the last four octets of
    DST.
                  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                  |0 0 1 1 0 0 1 1|0 0 1 1 0 0 1 1|
                  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                  |   DST[13]     |   DST[14]     |
                  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                  |   DST[15]     |   DST[16]     |
                  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
----

About the Ethernet multicast address for IPv4, RFC1112 says the following.
----From RFC1112 ----
    An IP host group address is mapped to an Ethernet multicast address
    by placing the low-order 23-bits of the IP address into the low-order
    23 bits of the Ethernet multicast address 01-00-5E-00-00-00 (hex).
----

So the DLPI driver in Solaris can get only
the lower 32-bit of the multicast IPv6 address and
the lower 23-bit of the multicast IPv4 address.

Does the other OS have the same problem ?

Would you change of the bit number of IP multicast address 
included in MGID as follows to solve the above problem ?
  (IPv6)  80-bit --> 32-bit
  (IPv4)  28-bit --> 23-bit
_______________________________________________________________
Koji Takahara  Email: [email-masked]
Development Dept.5,  Infrastructure Systems division,
Computer Group, Fujitsu Limitted

_______________________________________________
IPoverIB mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/ipoverib

---

From: Vivek Kashyap <[email-masked]>
Date: Tue, 5 Feb 2002 10:19:37 -0800 (PST)

Koji,

        DL_ENABMULTI_REQ primitive includes the multicast address
        length. Your implementation needs to be modified as needed for
        the IPoIB link. 
	
        As far as I know the complete multicast address (and therefore
        dependent on the link) needs to be passed to the driver. So
        reducing the number of the bits in the mapping really has no
        effect anyway.

Vivek

-- 
Vivek Kashyap
Linux Technology Center, IBM
[email-masked] 
[email-masked] 
503 578 3422 (o)