Index | Thread | Search

From:
Claudio Jeker <cjeker@diehard.n-r-g.com>
Subject:
Re: multicast route global variable
To:
Alexander Bluhm <bluhm@openbsd.org>
Cc:
tech@openbsd.org
Date:
Tue, 23 Jun 2026 20:19:47 +0200

Download raw body.

Thread
On Tue, Jun 23, 2026 at 08:17:36PM +0200, Alexander Bluhm wrote:
> Hi,
> 
> To move towards multiprocessor multicast routing, we have to get
> rid of global variables.  This sin one is easy.
> 
> ok?
 
Wow! OK claudio@

> bluhm
> 
> Index: netinet/ip_mroute.c
> ===================================================================
> RCS file: /data/mirror/openbsd/cvs/src/sys/netinet/ip_mroute.c,v
> diff -u -p -r1.150 ip_mroute.c
> --- netinet/ip_mroute.c	19 Jul 2025 16:40:40 -0000	1.150
> +++ netinet/ip_mroute.c	23 Jun 2026 17:44:39 -0000
> @@ -740,8 +740,6 @@ get_api_config(struct mbuf *m)
>  	return (0);
>  }
>  
> -static struct sockaddr_in sin = { sizeof(sin), AF_INET };
> -
>  int
>  add_vif(struct socket *so, struct mbuf *m)
>  {
> @@ -771,6 +769,8 @@ add_vif(struct socket *so, struct mbuf *
>  	if (vifcp->vifc_flags & VIFF_TUNNEL)
>  		return (EOPNOTSUPP);
>  	{
> +		struct sockaddr_in sin = { sizeof(sin), AF_INET };
> +
>  		sin.sin_addr = vifcp->vifc_lcl_addr;
>  		ifa = ifa_ifwithaddr(sintosa(&sin), rtableid);
>  		if (ifa == NULL)
> @@ -1205,6 +1205,7 @@ ip_mforward(struct mbuf *m, struct ifnet
>  		mrtstat_inc(mrts_no_route);
>  
>  		{
> +			struct sockaddr_in sin = { sizeof(sin), AF_INET };
>  			struct igmpmsg *im;
>  
>  			/*
> 

-- 
:wq Claudio