Odd queue behaviour 6.39.3 between pppoe-client and pppoe-server

I have found a somewhat subtle bug in the latest stable firmware. It is
there in earlier code as well.

Here is the basic configuration:

Internet — | pppoe Client - router - pppoe server| — Customer CPE



We assign a simple queue to each customer’s pppoe connection via Radius
profile, e.g. 20 mbit down, 3 mbit up.

If pppoe server is running directly on an ethernet interface, it works
perfectly.

If pppoe server is running on a bridge, which is connected to an
ethernet interface, the downlink (i.e. traffic from internet to CPE) is
rate limited correctly, but the uplink rate limit from CPE to Internet
seems to not do anything, giving the customer the full speed of the
internet connection.

I have many routers where pppoe server rate limiting works fine on a
bridge, but it seems to be an ‘edge case’ where traffic goes from a
pppoe-server interface to a pppoe-client interface on a bridge, and misses the
rate-limiting.

Has anyone else seen this?

Interestingly, I’ve discovered that the ‘use IP firewall for PPPoE’ was checked. Unchecking this seems to cause expected queue behaviour.

So I think the issue is resolved but I’m a bit baffled that this option would cause the queues to not operate as expected?