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

Reply via email to