[LARTC] htb causes roaring penguin's pppoe daemon to terminate connection

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi

I know, the subject sounds quite strange. Well, here is the situation.

I'm using 2.4.17 with the htb patch and the latest h323 patch from the
netfilter cvs. I've been using htb and h323 on 2.4.16 and never experienced
any problems but with 2.4.17 the pppoe daemon from roaring penguin that
I'm using sometimes terminates with the error message:
pppoe[pid]: send (sendPacket): No buffer space available

This situation arises when my upstream is full. When I flush the htb rules
everything's fine.

Maybe someone experienced the same problem or can give me a hint what
I should try to eliminate the problem.

Thank you for your interest.


Thomas

Here is my htb script (based on the howto):


#!/bin/bash

DOWNLINK=765
UPLINK=125
DEV=ppp0
PHYS=eth1 # underlying physical device

ifconfig $DEV txqueuelen 200
ifconfig $PHYS txqueuelen 2

tc qdisc del dev $DEV root    > /dev/null 2>&1
tc qdisc del dev $DEV ingress > /dev/null 2>&1

# some shortcuts
ADDQDISC="tc qdisc add dev $DEV"
ADDCLASS="tc class add dev $DEV"
ADDFILTER="tc filter add dev $DEV"

########## uplink #############

$ADDQDISC root handle 1: htb default 900

$ADDCLASS parent 1: classid 1:1 htb rate ${UPLINK}kbit burst 1540

   $ADDCLASS parent 1:1 classid 1:10 htb rate 40kbit ceil 100kbit burst 1540  \
   prio 1
     $ADDCLASS parent 1:10 classid 1:100 htb rate 20kbit ceil 100kbit \
     burst 1540 prio 1
     $ADDCLASS parent 1:10 classid 1:200 htb rate 20kbit ceil 100kbit \
     burst 1540 prio 2

   $ADDCLASS parent 1:1 classid 1:30 htb rate 15kbit ceil ${UPLINK}kbit \
   burst 1540 prio 2

   $ADDCLASS parent 1:1 classid 1:40 htb rate 70kbit ceil ${UPLINK}kbit \
   burst 1540 prio 3
      $ADDCLASS parent 1:40 classid 1:800 htb rate 40kbit ceil ${UPLINK}kbit \
      burst 1540 prio 1
      $ADDCLASS parent 1:40 classid 1:900 htb rate 30kbit ceil ${UPLINK}kbit \
      burst 1540 prio 2


# all get Stochastic Fairness except icmp/tos traffic
$ADDQDISC parent 1:100 handle 100: sfq perturb 10
$ADDQDISC parent 1:200 handle 200: sfq perturb 10
$ADDQDISC parent 1:30 handle 30: pfifo limit 5
$ADDQDISC parent 1:800 handle 800: sfq perturb 10
$ADDQDISC parent 1:900 handle 900: sfq perturb 10

$ADDFILTER parent 1:0 protocol ip prio 1 handle 1 fw flowid 1:100
$ADDFILTER parent 1:0 protocol ip prio 2 handle 2 fw flowid 1:200
$ADDFILTER parent 1:0 protocol ip prio 3 u32 match ip tos 0x10 0xff flowid 1:30
$ADDFILTER parent 1:0 protocol ip prio 3 u32 match ip protocol 1 0xff \
  flowid 1:30

$ADDFILTER parent 1:0 protocol ip prio 3 u32 \
    match ip protocol 6 0xff \
    match u8 0x05 0x0f at 0 \
    match u16 0x0000 0xffc0 at 2 \
    match u8 0x10 0xff at 33 \
    flowid 1:30

$ADDFILTER parent 1:0 protocol ip prio 4 handle 3 fw flowid 1:800




########## downlink #############

$ADDQDISC handle ffff: ingress

$ADDFILTER parent ffff: protocol ip prio 50 u32 match ip src \
    0.0.0.0/0 police rate ${DOWNLINK}kbit burst 5k drop flowid :1



[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux