4.10-STABLE - ADSL PPPoE

Rob Clark robclark at tds.net
Sat Jun 5 20:04:17 GMT 2004


On Sat, 5 Jun 2004 12:47:12 -0500 (CDT)
Archie Cobbs <archie at dellroad.org> wrote:

> Rafael R Obelheiro wrote:
> > > > > I update my system 4.10-STABLE(27 May) to FreeBSD
> > > > > 4.10-STABLE(June 2) without problems but now my
> > > > > connection ADSL does not work , previously worked
> > > > > correctly, and the connections with loopback
> > > > > 127.0.0.1 delay much, example ssh/ftp/ 127.0.0.1
> > > > > delay 30 - 40 seconds.
> > > > > 
> > > > I seen this same behavior today (06.03.04) after
> > > > updating sources. My last update was 05.27.04 and
> > > > everything worked fine at that point in the branch.
> > > > 
> > > 
> > > Apologies for following up on my own post, but i've
> > > narrowed down the failure window a bit.
> > > 
> > >  Edit src/sys/netgraph/ng_ether.c
> > >   Add delta 1.2.2.15 2004.06.01.22.55.24 archie
> > 
> > This is the culprit. I was having the same problem
> > (PPPoE stopped
> 
> Oops, my apologies.. I incorrectly applied the MFC. Please
> try the patch below (apply to the newer version of
> ng_ether.c) and let me know if this makes things work
> again.
> 
> Thanks,
> -Archie

Archie, 

Thanks for the expeditious replies.  I applied the patch -
it works!

Thanks,
Rob


> 
> _________________________________________________________
> _________________ Archie Cobbs      *        CTO, Awarix  
>      *      http://www.awarix.com
> 
> --- ng_ether.c.orig	Sat Jun  5 12:45:04 2004
> +++ ng_ether.c	Sat Jun  5 12:45:35 2004
> @@ -89,7 +89,7 @@
>  static void	ng_ether_detach(struct ifnet *ifp); 
>  
>  /* Other functions */
> -static void	ng_ether_input2(node_p node,
> +static void	ng_ether_input2(hook_p hook,
>  		    struct mbuf **mp, struct ether_header *eh);
>  static int	ng_ether_glueback_header(struct mbuf **mp,
>  			struct ether_header *eh);
> @@ -203,7 +203,7 @@
>  	/* If "lower" hook not connected, let packet
>  	continue */ if (priv->lower == NULL)
>  		return;
> -	ng_ether_input2(node, mp, eh);
> +	ng_ether_input2(priv->lower, mp, eh);
>  }
>  
>  /*
> @@ -224,7 +224,7 @@
>  		m_freem(m);
>  		return;
>  	}
> -	ng_ether_input2(node, &m, eh);
> +	ng_ether_input2(priv->orphan, &m, eh);
>  	if (m != NULL)
>  		m_freem(m);
>  }
> @@ -237,9 +237,9 @@
>   * NOTE: this function will get called at splimp()
>   */
>  static void
> -ng_ether_input2(node_p node, struct mbuf **mp, struct
> ether_header *eh)+ng_ether_input2(hook_p hook, struct mbuf
> **mp, struct ether_header *eh)
>  {
> -	const priv_p priv = node->private;
> +	const priv_p priv = hook->node->private;
>  	meta_p meta = NULL;
>  	int error;
>  
> @@ -248,7 +248,7 @@
>  		return;
>  
>  	/* Send out lower/orphan hook */
> -	(void)ng_queue_data(priv->lower, *mp, meta);
> +	(void)ng_queue_data(hook, *mp, meta);
>  	*mp = NULL;
>  }
>  


More information about the freebsd-stable mailing list