Network Working Group Francis Dupont Internet-Draft INRIA Expire in six months 1997/03/23 17:50:50MET Implications of the GSE Addressing Scheme to IPv6 Multicast 1. Status of this Memo This document is an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as ``work in progress.'' To learn the current status of any Internet-Draft, please check the 1id-abstracts.txt listing contained in the Internet-Drafts Shadow Directories on ftp.is.co.za (Africa) , nic.nordu.net (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast ), or ftp.isi.edu (US West Coast). 2. Abstract This document presents some implications for the GSE Addressing Scheme ([1] draft-ietf-ipngwg-gseaddr-00.txt proposal by Mike O'Dell) on IPv6 multicast: a new scope for large structures and a clever way to compare two addresses for the election of a designated router. 3. Introduction The GSE Addressing Scheme cuts IPv6 unicast provider-based addresses into two 8 octet fields, the first one for routing and the second one for an ``end system designator''. The routing part begins with a large structure ID. The scopes defined by the RFC 1884 (IPv6 Addressing Architecture) for multicast addresses in section 2.6 pages 14 and 15 have no value between organization-local (8) and global (E) scopes. The IGMP version 2 proposal (draft-ietf-idmr-igmp-v2-06.txt) specifies an election process for the ``Querier'' multicast router on a physical network (this election process is a part of the DVMRP v3 proposal (draft-ietf-idmr-dvmrp-v3-04.txt) too): the multicast router with the ``lower'' IP address is selected. 4. Large Structure Scope A new scope for large-structure-local scope with the value C (12) is defined. The Address Testing Macro for Basic Socket Interface Extensions for IPv6 (draft-ietf-ipngwg-bsd-api-07.txt) is: int IN6_IS_ADDR_MC_LSLOCAL (const struct in6_addr *); 5. Clever Address Comparison The ESD field is far more stable than the routing half at the beginning of an address and is unique on the link. This document defines the way to compare two addresses: only the tail 8 octets (the ESD field) MUST be compared. The code for the lower test looks like: (((x)->s6_addr[8] < (y)->s6_addr[8]) || (((x)->s6_addr[8] == (y)->s6_addr[8]) && (((x)->s6_addr[9] < (y)->s6_addr[9]) || (((x)->s6_addr[9] == (y)->s6_addr[9]) && (((x)->s6_addr[10] < (y)->s6_addr[10]) || (((x)->s6_addr[10] == (y)->s6_addr[10]) && (((x)->s6_addr[11] < (y)->s6_addr[11]) || (((x)->s6_addr[11] == (y)->s6_addr[11]) && (((x)->s6_addr[12] < (y)->s6_addr[12]) || (((x)->s6_addr[12] == (y)->s6_addr[12]) && (((x)->s6_addr[13] < (y)->s6_addr[13]) || (((x)->s6_addr[13] == (y)->s6_addr[13]) && (((x)->s6_addr[14] < (y)->s6_addr[14]) || (((x)->s6_addr[14] == (y)->s6_addr[14]) && ((x)->s6_addr[15] < (y)->s6_addr[15]))))))))))))))) Obviously one can write far simpler code for a big endian 64 bit architecture. 6. Security Considerations Security considerations are not addressed in this memo. 7. Author's address Francis Dupont INRIA Rocquencourt Domaine de Voluceau B.P. 105 78153 Le Chesnay Cedex FRANCE E-mail: Francis.Dupont@inria.fr