I've been trying to replace my ISP provided router with an OpenBSD 5.6
system, but I can't get PPPoE working. Using the userspace pppd
daemon on a linux machine appears to work, but no luck using pppoe(4).
I did some debugging using wireshark, and for some reason
when my OpenBSD system sends the very first PPP discovery packet, it
receives no response. I can't find any meaningful difference between
the packet that OpenBSD is sending and the packet that my linux machine
As reported by wireshark, the successful packet from linux is describe
below. My ISP decided that the internet service needs to be under a
VLAN with id 35.
The BSD ethernet frame has extra padding to bring it to 64-bytes,
whereas the linux packet is only 36-bytes
The BSD vlan tag has priority 3 set, rather than priority 0 in the linux
The PPPoE Host-Uniq tag is different, but this appears to be a random or
I also plugged in to the other end of my ISP provided router and
captured the discovery packet from it. It looks the same as the linux
packet, except it's padded to 60-bytes and the host-uniq tag is
different. The vlan priority is set to 0 in that packet as well.
I've tried to get pf to set the pri tag on my vlan packets to 0, but I'm
new to pf and I couldn't get it to work. I tried this rule and a few
match out all set prio 0
My best guesses at what's going wrong:
1) Some sort of MTU failure that isn't visible in wireshark. I messed
around with the MTU values for the pppoe0 and re0 interfaces, but didn't
have any luck there yet.
2) Some lame bug in my ISP's equipment that is failing due to the
VLAN priority being 3 instead of 0, or the packet being padded to 64-bytes.
Sorry for the marathon long email, I wanted to include everything I
thought was relevant.
If anyone has any ideas on where I can look to debug this further I'd
really appreciate it.
Anyone know why I can't get the vlan pri set to 0? Or is there a way I
can write raw ethernet frames to the wire. Is a raw socket low-level
enough for this?
On Sun, Apr 12, 2015 at 4:28 PM, Adam Van Ymeren <[hidden email]> wrote:
> I did some debugging using wireshark, and for some reason
> when my OpenBSD system sends the very first PPP discovery packet, it
> receives no response.
> My best guesses at what's going wrong:
> 2) Some lame bug in my ISP's equipment that is failing due to the
> VLAN priority being 3 instead of 0, or the packet being padded to 64-bytes.
For anyone following along or anyone who may hit the same issue, setting
the VLAN priority to 0 fixes the issue. My ISP is Bell in Ontario.
I was unable to set the priority using PF however, I ended up compiling
a custom kernel that always sets it to 0.
I was linked to this thread in private of someone hitting the same issue
and it appears that this at least used to be a bug in PF.