Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Mar 1995 07:01:23 -0500
From:      Jeffrey C Honig <jch@nr-tech.cit.cornell.edu>
To:        gated-alpha@gated.cornell.edu
Cc:        freebsd-questions@FreeBSD.org
Subject:   Re: Gated is crashing my system! 
Message-ID:  <199503221201.HAA04926@mitchell.cit.cornell.edu>
In-Reply-To: Message from Thomas Pusateri <pusateri@netedge.com> on Tue, 21 Mar 1995 14:38:14 -0500.<9503211938.AA04017@NetEdge.COM> 

next in thread | previous in thread | raw e-mail | index | archive | help
> I don't have it handy, but maybe Jeff can send it to anyone interested
> or I'll try and dig it up.

Here is Tom's patch.

Jeff

*** in.c.latest	Sun May 29 22:30:14 1994
--- in.c	Tue Sep 13 10:21:05 1994
***************
*** 48,53 ****
--- 48,60 ----
  #include "in_var.h"
  
  #ifdef INET
+ #ifdef MULTICAST
+ /*
+  * save list of multicast addresses when interface addresses are changed
+  */
+ static struct in_multi *in_multisave = 0;
+ #endif /* MULTICAST */
+ 
  /*
   * Formulate an Internet address from network + host.
   */
***************
*** 459,464 ****
--- 466,475 ----
  			else
  				printf("Didn't unlink inifadr from list\n");
  		}
+ #ifdef MULTICAST
+ 		/* save multicast addresses for change of address */
+ 		in_multisave = oia->ia_multiaddrs;
+ #endif /* MULTICAST */
  		(void) m_free(dtom(oia));
  		break;
  
***************
*** 573,580 ****
  	if (ifp->if_flags & IFF_MULTICAST) {
  		struct in_addr addr;
  
! 		addr.s_addr = htonl(INADDR_ALLHOSTS_GROUP);
! 		in_addmulti(&addr, ifp);
  	}
  #endif
  	return (error);
--- 584,597 ----
  	if (ifp->if_flags & IFF_MULTICAST) {
  		struct in_addr addr;
  
!                 if (in_multisave && in_multisave->inm_ifp == ifp) {
!                     ia->ia_multiaddrs = in_multisave;
!                 }
!                 else {
!                     addr.s_addr = htonl(INADDR_ALLHOSTS_GROUP);
!                     in_addmulti(&addr, ifp);
!                 }
!                 in_multisave = (struct in_multi *) 0;
  	}
  #endif
  	return (error);




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199503221201.HAA04926>