On Wed, May 07, 2014 at 02:11:09AM +0000, Stuart Henderson wrote: > On 2014-05-02, Thorsten Bonck <thors...@bonck.net> wrote: > > On Fri, May 02, 2014 at 08:14:40PM +0000, Peter J. Philipp wrote: > >> On Fri, May 02, 2014 at 09:14:16PM +0200, thors...@bonck.net wrote: > >> > > maybe you could try to put pppoe0 on rl0, untag vlan10 on switch port > >> > > where rl0 is connected and tag other vlans on the same port ... > >> > > >> > Sadly, that is not possible for me. > >> > rl0 is directly connected to a Ubiquiti NanoStation M, which is setup as > >> > a blackbox transparent bridge by my ISP. > >> > vlan id 10 is also required by my ISP for all PPP/PPPoE stuff. > >> > I could put a tagging switch in between rl0 and the bridge as a last > >> > resort, but for right now I am still looking for a reason why 5.4 works > >> > and 5.5 seems to answer to a wrong MAC. > >> > > >> > Looking through the changes from 5.4 I found "Stop defining > >> > SIOC{S,G}ETVLAN as SIOC{S,G}IFGENERIC. Lets vlan(4) handle > >> > pppoe(4)-specific ioctls and vice versa without smashing the stack of > >> > the caller". Is it possible my problem is somehow connected to that? > >> > >> Hello, > >> > >> I'd probably do a tcpdump -v -n -e -s 200 -X -i rl0 as well.. perhaps you > >> can see somewhere where the aa:aa:aa:aa:aa:aa is coming from. Perhaps > >> there > >> is an offset logic error somewhere as the pppoe driver reads the PADO > >> source > >> address from the mbuf etherheader which was prepended. If you can't make > >> out any AAAAAAAAAAAA's in the frame then that's further suspicous. > > > > After some staring at the dumped frames, I can describe the problem more > > detailed. > > Assume listed devices to have following macs: > > > > rl0 11:22:33:44:55:66 > > PPPoE server aa:bb:cc:dd:ee:ff > > > > rl0 broadcasts PADI to ff:ff:ff:ff:ff:ff. > > PPPoE servers mac sends a PADO to rl0 mac. > > rl0 sends a PADR to mac aa:bb:55:66:aa:bb. > > timeout happens, since no device with aa:bb:55:66:aa:bb exists in the > > network. > > > > Now change rl0 mac to 11:22:33:44:77:88: > > PADI,PADO phase unchanged. > > rl0 sends a PADR to mac aa:bb:77:88:aa:bb. > > > > I only have a very basic understanding of C and basically no > > understanding of the OpenBSD kernel. > > The PADR should be assembled around line 703 in src/sys/net/if_pppoe.c > > but I could not find any clues where this mix up happens. > > > > Best Regards, > > Thorsten > > > > > > I have pppoe-over-vlan working fine on 5.5 here. (More specifically: > multiple pppoe interfaces with pppoedev on a vlan, vlandev on a > trunk, failover trunk over a pair of bnx - trunk/bnx both show > VLAN_HWTAGGING in "ifconfig hwfeatures"). > > Considering what may be different between your setup and mine, > I'm wondering if it could be either 1) your use of lladdr to adjust > the MAC address or 2) use of rl(4) which doesn't do hw tagging.. >
Thanks to your hint to VLAN_HWTAGGING, I setup another installation on a machine that provides a em(4) nic which has this feature. Now everything, including the lladdr, just works. Thanks to everyone who helped so far! Best Regards, Thorsten