Subject: multicast groups on unnumbered interfaces?
To: None <tech-net@netbsd.org>
From: Nick Amato <naamato@nexthop.com>
List: tech-net
Date: 09/25/2002 17:31:56
Is there a good reason why we can't join multicast groups on interfaces
that have no address?  It doesn't seem like inm_ia in struct in_multi
is used by much of anything.

There seems to be some kludge code to store multicast addresses
on interfaces that have lost their last IPv[46] address, for later
restoration when an interface regains one.

Yet, in_addmulti() in in.c does not allow for a multicast group to be added
to an interface that does not have an address:

		IFP_TO_IA(ifp, ia);
                if (ia == NULL) {
                        free(inm, M_IPMADDR);
                        splx(s);
                        return (NULL);
                }

The IP_ADD_MEMBERSHIP code allows the interface index to be given
using the 0/8 hack, but the code above does not let it work.

Nick Amato
naamato@nexthop.com