linux-ppp.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Guillaume Nault <gnault@redhat.com>
To: linux-ppp@vger.kernel.org
Subject: Re: PPPoE Modem hangup after random time - how to debug?
Date: Wed, 06 May 2020 20:20:18 +0000	[thread overview]
Message-ID: <20200506202018.GA29247@pc-3.home> (raw)
In-Reply-To: <CAPJ9Yc8Wvxb_UoqGu=wrrWX2HP5AwE98jvcS3XYnvevxa0RZpg@mail.gmail.com>

On Wed, May 06, 2020 at 11:15:46AM -0400, James Carlson wrote:
> On 2020-05-06 10:26, Guillaume Nault wrote:
> > On Wed, May 06, 2020 at 11:52:48AM +0200, David Balažic wrote:
> >> (the last line is from my fix, the connection is now not dropped when
> >> the PADT is not for us; works fine, my connection stays up and
> >> working)
> >>
> > Looks like a more fundamental issue. This frame shouldn't have been
> > accepted in the first place. Can you also print the packet class
> > ("... pkt_type %u", ..., skb->pkt_type)?
> > 
> > Testing the destination MAC here is likely to just paper over the
> > problem.
> 
> Having either sketchy (e.g., CRC hash filter based) or just absent
> hardware filtering of unicast addresses isn't an unknown property for
> some Ethernet devices.  Relying on exact match from the underlying
> hardware seems like a bad idea.  (Some, for instance, can either receive
> "all multicast" or can filter using the low N bits of the CRC to index
> into a 2^N-bit hash table, but can't really exclude a unicast packet
> that happens to match the low N bits of a selectively enabled multicast
> address.  See, for example, the PowerQUICC implementation.  But there
> are quite a few that work like this.  It wouldn't surprise me in the
> least that 'ar71xx' [Atheros/Qualcomm?] is like this.)
> 
Yes, but that's just a limitation of the chip. I'm not a driver guy,
but I'd expect the driver to do whatever is need, in software, to fix
such limitations.

> I agree that having to test the MAC address right here is a bit lame and
> that the driver itself ought to assist the hardware in doing the Right
> Thing.
> 
Yes, we shouldn't have to check the destination MAC address in all
ethertype handlers. The Ethernet layer has to do its job.

But looking at the openwrt code, it seems that the driver properly
calls eth_type_trans(). So skb->pkt_type should be correctly set and we
could use it to know if the frame was for us. It'd still be good to
verify that skb->pkt_type = PACKET_OTHERHOST when the original problem
happens.

Testing if ->pkt_type = PACKET_HOST in the PPPoE discovery handler
would be a good thing anyway, to avoid processing packets just because
someone started tcpdump. That might also "fix" David's problem as a
side effect.

> -- 
> James Carlson         42.703N 71.076W         <carlsonj@workingcode.com>
> 

      parent reply	other threads:[~2020-05-06 20:20 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-22 17:45 PPPoE Modem hangup after random time - how to debug? David Balažic
2020-04-22 19:51 ` Michael Richardson
2020-04-22 22:00 ` James Carlson
2020-04-23  0:08 ` Guillaume Nault
2020-04-23  0:41 ` Michael Richardson
2020-04-23  2:01 ` James Carlson
2020-04-23 10:37 ` David Balažic
2020-04-23 11:12 ` David Balažic
2020-04-23 12:13 ` David Balažic
2020-04-23 15:59 ` Michael Richardson
2020-04-23 16:01 ` Michael Richardson
2020-04-24 13:47 ` David Balažic
2020-04-24 14:02 ` David Balažic
2020-04-24 14:26 ` James Carlson
2020-04-24 15:44 ` Guillaume Nault
2020-04-24 15:54 ` Guillaume Nault
2020-04-26  1:38 ` Michael Richardson
2020-04-26 12:44 ` David Balažic
2020-04-26 12:48 ` David Balažic
2020-04-26 19:03 ` David Balažic
2020-04-27  2:14 ` Michael Richardson
2020-04-27  9:59 ` David Balažic
2020-04-27 13:43 ` James Carlson
2020-04-27 20:08 ` Guillaume Nault
2020-04-27 20:30 ` Guillaume Nault
2020-04-27 23:34 ` David Balažic
2020-04-28 10:18 ` David Balažic
2020-04-28 11:00 ` Guillaume Nault
2020-04-29 11:58 ` David Balažic
2020-05-03 10:31 ` David Balažic
2020-05-04 12:27 ` Guillaume Nault
2020-05-04 13:01 ` Guillaume Nault
2020-05-04 15:54 ` David Balažic
2020-05-04 16:36 ` David Balažic
2020-05-04 18:11 ` Guillaume Nault
2020-05-04 18:43 ` David Balažic
2020-05-06  9:52 ` David Balažic
2020-05-06 10:34 ` David Balažic
2020-05-06 14:26 ` Guillaume Nault
2020-05-06 15:02 ` Guillaume Nault
2020-05-06 15:15 ` James Carlson
2020-05-06 15:39 ` David Balažic
2020-05-06 15:54 ` David Balažic
2020-05-06 20:20 ` Guillaume Nault [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200506202018.GA29247@pc-3.home \
    --to=gnault@redhat.com \
    --cc=linux-ppp@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).