From e1596dff1edc9bb55d4b7bac63c67c5aeac11541 Mon Sep 17 00:00:00 2001 From: Bill Fenner Date: Fri, 28 Feb 1997 19:40:48 +0000 Subject: [PATCH] Fix a comment and some commented-out code in ip_mloopback to reflect how multicast loopback really works. --- sys/netinet/ip_output.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c index 68d30c768928..0ca3ee200736 100644 --- a/sys/netinet/ip_output.c +++ b/sys/netinet/ip_output.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ip_output.c 8.3 (Berkeley) 1/21/94 - * $Id$ + * $Id: ip_output.c,v 1.51 1997/02/22 09:41:36 peter Exp $ */ #define _IP_VHL @@ -1310,18 +1310,17 @@ ip_mloopback(ifp, m, dst) } /* * NB: - * We can't simply call ip_input() directly because - * the ip_mforward() depends on the `input interface' - * being set to something unreasonable so that we don't - * attempt to forward the looped-back copy. - * It's also not clear whether there are any lingering - * reentrancy problems in other areas which might be - * exposed by this code. For the moment, we'll err - * on the side of safety by continuing to abuse - * loinput(). + * It's not clear whether there are any lingering + * reentrancy problems in other areas which might + * be exposed by using ip_input directly (in + * particular, everything which modifies the packet + * in-place). Yet another option is using the + * protosw directly to deliver the looped back + * packet. For the moment, we'll err on the side + * of safety by continuing to abuse looutput(). */ #ifdef notdef - copym->m_pkthdr.rcvif = &loif[0]; + copym->m_pkthdr.rcvif = ifp; ip_input(copym) #else (void) looutput(ifp, copym, (struct sockaddr *)dst, NULL);