Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 Jun 2004 12:47:12 -0500 (CDT)
From:      Archie Cobbs <archie@dellroad.org>
To:        Rafael R Obelheiro <rroNOSPAM@das.ufsc.br>
Cc:        acardenas@bsdperu.org
Subject:   Re: 4.10-STABLE - ADSL PPPoE
Message-ID:  <200406051747.i55HlCr4001236@arch20m.dellroad.org>
In-Reply-To: <20040604232523.A22373@das.ufsc.br>

next in thread | previous in thread | raw e-mail | index | archive | help
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 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;
 }
 



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