Adding PPPoE interface with QinQ with accel-cmd misses inside tag

PPPoE related questions
Post Reply
lbw
Posts: 27
Joined: 09 Mar 2019, 00:16

Adding PPPoE interface with QinQ with accel-cmd misses inside tag

Post by lbw »

Hi

I haven't had a chance to look into this yet, but I've noticed, that in a 802.1ad QinQ environment, if I add a PPPoE interface (e.g. eth3.1234) via accel-cmd, then the PADO response to the PADI is missing the (inside) C-tag. If I restart accel-ppp with that same interface present, but up first before the application starts, obviously, the issue goes away.

One of the maintainers may be able to find the issue quicker than I can. Otherwise, I'll look into it next week and try and produce a patch.

Thanks
dimka88
Posts: 866
Joined: 13 Oct 2014, 05:51
Contact:

Re: Adding PPPoE interface with QinQ with accel-cmd misses inside tag

Post by dimka88 »

Hi, which ethertype are you using?
Maybe in config you exactly use re: (regular expression)?
lbw
Posts: 27
Joined: 09 Mar 2019, 00:16

Re: Adding PPPoE interface with QinQ with accel-cmd misses inside tag

Post by lbw »

I'm using 0x8100 rather than 0x8a88. It doesn't really matter either way I've found.

I can reproduce it if I do a:

pppoe interface add eth3.1234

What I see in the tcpdump capture on the interface is:

- PADI comes in with S and C tags
- PADO goes out with S tag only

My config is this:

vlan-mon=re:eth3.[0-9]+,100-4000
interface=re:eth3.[0-9]+
vlan-name=%I.%N

However, if I stop accel-ppp and restart it, it works fine, the PADO goes out with the S and C tags on the newly configured eth3.1234.
dimka88
Posts: 866
Joined: 13 Oct 2014, 05:51
Contact:

Re: Adding PPPoE interface with QinQ with accel-cmd misses inside tag

Post by dimka88 »

Can you check with adding `pppoe interface add eth3.1234.1234` I mean with C-VLAN
lbw
Posts: 27
Joined: 09 Mar 2019, 00:16

Re: Adding PPPoE interface with QinQ with accel-cmd misses inside tag

Post by lbw »

That does not solve the problem and in fact, makes it worse in the following use case:

1. You cannot run say:

accel-cmd# pppoe interface add eth3.2702.1200

Without the interface eth3.2702.1200 being up. Usually, the interface associated with the c-tag will be auto-created by accel-ppp.

Therefore, I brought up the interface manually with:

# ip link add link eth3.2702 eth3.2702.1200 type vlan proto 802.1q id 1200

Then what I saw was that actually, the PADO went out on eth3 with all vlan tags removed!

21:22:44.192621 18:f1:45:73:0b:73 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 81: vlan 402, p 0, ethertype 802.1Q, vlan 2702, p 0, ethertype 802.1Q, vlan 1200, p 0, ethertype PPPoE D, PPPoE PADI [Vendor-Specific "......1234....XH.....:"] [Service-Name] [Host-Uniq 0x00492018]

21:22:44.192957 a0:36:9f:c3:2b:92 > 18:f1:45:73:0b:73, ethertype 802.1Q (0x8100), length 76: vlan 402, p 0, ethertype PPPoE D, PPPoE PADO [AC-Name "accel-ppp"] [Service-Name] [AC-Cookie 0x9D3AA162878CAFF04BAB45F3843649945F2326981AC1B06F] [Host-Uniq 0x00492018]

Please ignore the outside tag VLAN 402, that's just for spanning purposes for me to sniff the port.

2. The standard use case of just doing:

# ip link add link eth3 eth3.2702 type vlan proto 802.1q id 2702
# ip link set eth3.2702 up
accel-cmd# pppoe interface add eth3.2702

Ends up with this:

21:29:15.945539 18:f1:45:73:0b:73 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 73: vlan 1200, p 0, ethertype PPPoE D, PPPoE PADI [Vendor-Specific "......1234....XH.....:"] [Service-Name] [Host-Uniq 0x00492018]

21:29:16.045711 a0:36:9f:c3:2b:9e > 18:f1:45:73:0b:73, ethertype PPPoE D (0x8863), length 72: PPPoE PADO [AC-Name "accel-ppp"] [Service-Name] [AC-Cookie "7.Vk.V.....C~8.n...."E>'"] [Host-Uniq 0x00492018]

It's pretty strange.

Thoughts?
Post Reply