I have a suggestion for a feature for pf, adaptable tbr.

Instead of doing estimation of overhead of a network link like
a dsl uplink the tbr can be modified to adapt instead.

In my case I have run PPPoE over a DSL link that is AAL5 LLC/SNAP.
In altq_subr.c I changed: 
                tbr->tbr_token -= TBR_SCALE(m_pktlen(m));

to:
                if (m_pktlen(m) <= 38)
                        tbr->tbr_token -= 
TBR_SCALE((m_pktlen(m)+8+3+3+2+2+18+6+2+47)/48*53);
                else
                        tbr->tbr_token -= TBR_SCALE(106);


my traffic shaper now works well even in the extreme cases where
DSL overhead is 165% (TCP ACK, 40 byte IP => 106 bytes ATM).

What would be really nice would be to be able to configure this
from pf.conf, something like
queue vr0_blk tbradapt PPPOE-LLCSNAP-AAL5 ...

It would be simple to add more adapters for the other media once
this is in place.

RFC1483 bridging over AAL5 LLC/SNAP:
                if (m_pktlen(m) <= 46)
                        tbr->tbr_token -= 
TBR_SCALE((m_pktlen(m)+8+3+3+2+2+18+47)/48*53);
                else
                        tbr->tbr_token -= TBR_SCALE(106);

or PPP over AAL5 VCMUX:
                tbr->tbr_token -= TBR_SCALE((m_pktlen(m)+8+2+47)48*53);

and so on.

Comments ?


/Tony


-- 
---
Tony Sarendal - [EMAIL PROTECTED]
IP/Unix
        -= The scorpion replied,
                "I couldn't help it, it's my nature" =-

Reply via email to