More information at http://cern.ch/ipv6
Since OSPF is the protocol routing IPv4, OSPF3 has been chosen as IGP. The topology of the two protocols will be the same as well as link costs and timers.
Every domain has been allocated a /44. A domain correspond to an OSPF area.
Inside each domain, several /48 has been assigned to different purposes. All the domains have at least one /48 for routers (loopbacks, p2p) and one /48 for all client addresses (and gateways).
Every subnet is defined has /64. A subnet is assigned to each loopback, each p2p, each interface connecting to users. The rationale of this wasting decision is to simplify the creation of subnets in the Network database and the fact that as of today there are 2000 prefixes in the biggest OSPF area, far from the 65000 /64 subnets that can be obtained from a /64; certain routers in use have also a routing table limitation to 4000 prefixes.
The initial idea about client address assignment was to disable RA and to rely on DHCPv6 only. Unfortunately the default-gateway information cannot be provided by DHCPv6 yet, so different solutions have been tested.
Setting M and/or O bits in the RA is not enough to prevent a client to use SLAAC, they will only tell the client to send a DHCPv6 request. Some router (Cisco, HP) allow to set a no-autoconfig option which prevent the prefix to be added to the RAs; but this option is not available in Brocade (as of August 2012). One solution could be the use of prefix-length greater than /64; this will prevent SLAAC to kick in while still preserving the default gateway via the Link Local address of the router.
Disabling SLAAC is important in order to be sure that a normal client will not use unregistered addresses; this will allow address tracking as it is done with IPv4. Malicious users are not prevented from using unregistered address, though. Another reason to prevent the use of SLAAC is the User Registration mechanism in use today.