On 7 May 2014 04:11, Stuart Henderson <s...@spacehopper.org> 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..
Just as another data point, in my setup, where I also use a trunk, and sis as hardware NIC, this does not work anymore on 5.5: pppoe > vlan > trunk > sis > switch > bridged DSL modem but this works: pppoe > sis3 (excluded from trunk now) > bridged DSL modem I don't set any MAC addresses by hand, and the NICs don't have VLAN_HWTAGGING, which would point to your 2). $ ifconfig sis0 hwfeatures sis0: flags=28b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST,NOINET6> mtu 1500 hwfeatures=10<VLAN_MTU> hardmtu 1518 lladdr 00:00:24:c8:33:54 description: connected to PROCURVE J9080A (22) priority: 0 trunk: trunkdev trunk0 groups: sis media: Ethernet autoselect (100baseTX full-duplex) status: active $ ifconfig trunk0 hwfeatures trunk0: flags=28943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,NOINET6> mtu 1500 hwfeatures=10010<VLAN_MTU> hardmtu 1500 lladdr 00:00:24:c8:33:54 priority: 0 trunk: trunkproto lacp trunk id: [(8000,00:00:24:c8:33:54,406B,0000,0000), (8000,b4:39:d6:21:c3:a0,0202,0000,0000)] trunkport sis2 active,collecting,distributing trunkport sis1 active,collecting,distributing trunkport sis0 active,collecting,distributing groups: trunk media: Ethernet autoselect status: active $ dmesg | grep sis sis0 at pci2 dev 0 function 0 "NS DP83815 10/100" rev 0x00, DP83816A: irq 7, address 00:00:24:c8:33:54 nsphyter0 at sis0 phy 0: DP83815 10/100 PHY, rev. 1 sis1 at pci2 dev 1 function 0 "NS DP83815 10/100" rev 0x00, DP83816A: irq 9, address 00:00:24:c8:33:55 nsphyter1 at sis1 phy 0: DP83815 10/100 PHY, rev. 1 sis2 at pci2 dev 2 function 0 "NS DP83815 10/100" rev 0x00, DP83816A: irq 11, address 00:00:24:c8:33:56 nsphyter2 at sis2 phy 0: DP83815 10/100 PHY, rev. 1 sis3 at pci2 dev 3 function 0 "NS DP83815 10/100" rev 0x00, DP83816A: irq 10, address 00:00:24:c8:33:57 nsphyter3 at sis3 phy 0: DP83815 10/100 PHY, rev. 1