Joshua Graessley wrote:
[ ... ]
> If someone is using broadcast for a service discovery protocol instead
> of multicast, they would want services, whether running locally or
> remotely, to receive that broadcast.

Sure, since the thing doing service discovery may not be the same as
the thing (or things) advertising services.

> If loopback is the only interface, it might still be desirable to find
> services running on the local machine.

Besides, giving the loopback special case behavior when it's not needed doesn't
strike me as a good idea.  Presumably one would want to remove the second test:

                /*
                 * Multicasts with a time-to-live of zero may be looped-
                 * back, above, but must not be transmitted on a network.
                 * Also, multicasts addressed to the loopback interface
                 * are not sent -- the above call to ip_mloopback() will
                 * loop back a copy if this host actually belongs to the
                 * destination group on the loopback interface.
                 */
                if (ip->ip_ttl == 0 || ifp->if_flags & IFF_LOOPBACK) {
                        m_freem(m);
                        goto done;
                }

...around line 380 of /usr/src/sys/netinet/ip_output.c, and rebuild the kernel
to test your suggested change out.

-Chuck


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message

Reply via email to