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

Re: Need a Traffic Shaping Crash Course Please



For some reason, this isn't showing up on lists.debian.user, so I will go ahead and repost it here...


David Purton wrote:

On Sun, Jul 18, 2004 at 04:29:06PM -0700, Scarletdown wrote:

-bash-2.05b# ifup eth1
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
Failed to bring up eth1.



Chances are, you're missing kernel modules

This is some relavant bits from my 2.4 kernel config


You need the QoS stuff:

#
# QoS and/or fair queueing
#
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_CSZ=m
# CONFIG_NET_SCH_HFSC is not set
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
# CONFIG_NET_SCH_DELAY is not set
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_QOS=y
CONFIG_NET_ESTIMATOR=y
CONFIG_NET_CLS=y
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_CLS_POLICE=y



I've also including advanced routing stuff in the kernel gives better
results:

CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_FWMARK=y
CONFIG_IP_ROUTE_NAT=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_TOS=y
CONFIG_IP_ROUTE_VERBOSE=y


How do I get that stuff into the kernel? I'm assuming that it is going to require compiling a new one, which is something I dread having to do. The one time I attempted to compile a new kernel, the process failed miserably, resulting in an unbootable system (I guess I must have missed a step along the way.) That was on a testing system fortunately, so there was no harm done and I simply did a complete Linux reinstall.

This time, however, it will need to be done on two fully operational systems, so a failure will be more "catastrophic". Therefore, I will need precise step by step instructions on how to do this. And if things do still go wrong, instructions on how to recover using something like Knoppix (which is actually how I did my Linux install in the first place) or Mepis.

At least, once this is done, I should have another useful geekly skill under my belt. :D



Reply to: