raichoo: > + switch (__IPV6_ADDR_MC_SCOPE(addr)) { > > + case __IPV6_ADDR_SCOPE_NODELOCAL: > I recommend instead using IN6_IS_ADDR_MC_NODELOCAL() and its ilk from netinet/in.h . They are defined by the SUS.