I spoke too early; I thought frames were broken but actually it was not.
What was happening, according to tcpdump(8), was that frames, both broadcast
and unicast, are flooded for some reason, and pppoe(4) fails to receive
necessary frames in order.

OTOH, assigning IP addresses and pinging between pair(4)'s doesn't flood
frames.

bridge(4) and bpf(4) interacting badly?

On Thu, Jun 02, 2016 at 10:34:10AM +0900, Masao Uebayashi wrote:
> I'm playing with PPPoE and it (npppd(8) + ppppoe(4)) works fine with patched
> pair(4) interfaces, that's good.
> 
>        patch
>   pair0 --- pair1
>   pppoe     npppd
> 
> To try more wierd things, I added one pair(4), to which npppd(8) was listening
> on, to a bridge(4).  This stops pppoe(4) from working.  Seems PPPoE Discovery
> frames sent to pppoe(4) get broken.
> 
>        patch     bridge0
>   pair0 --- pair1 =====
>   pppoe     npppd
> 
> If I add another interface, e.g. vether(4), to the bridge and let npppd(8)
> listen on vether(4), things work.
> 
>        patch     bridge0
>   pair0 --- pair1 ===== vether0
>   pppoe                 npppd
> 
> I thought adding an interface (pair1) to a bridge does not change what pair1
> sees logically, or am I wrong?
> 
> Masao

Reply via email to