Hello, I have a very unusual issue that I have never seen before. I have a custom uClibc based system that I am trying to setup load balancing for. I have enabled the following in the network section of the kernel (2.4.25): # # Networking options # CONFIG_PACKET=y CONFIG_PACKET_MMAP=y # CONFIG_NETLINK_DEV is not set CONFIG_NETFILTER=y # CONFIG_NETFILTER_DEBUG is not set CONFIG_FILTER=y CONFIG_UNIX=y CONFIG_INET=y # CONFIG_IP_MULTICAST is not set # CONFIG_IP_ADVANCED_ROUTER is not set # CONFIG_IP_PNP is not set # CONFIG_NET_IPIP is not set # CONFIG_NET_IPGRE is not set # CONFIG_INET_ECN is not set # CONFIG_SYN_COOKIES is not set # # IP: Netfilter Configuration # # CONFIG_IP_NF_CONNTRACK is not set # CONFIG_IP_NF_IPTABLES is not set # CONFIG_IP_NF_ARPTABLES is not set # CONFIG_IP_NF_COMPAT_IPCHAINS is not set # CONFIG_IP_NF_COMPAT_IPFWADM is not set CONFIG_BRIDGE=y # # QoS and/or fair queueing # CONFIG_NET_SCHED=y CONFIG_NET_SCH_CBQ=y CONFIG_NET_SCH_HTB=y CONFIG_NET_SCH_CSZ=y CONFIG_NET_SCH_HFSC=y CONFIG_NET_SCH_PRIO=y CONFIG_NET_SCH_RED=y CONFIG_NET_SCH_SFQ=y CONFIG_NET_SCH_TEQL=y CONFIG_NET_SCH_TBF=y CONFIG_NET_SCH_GRED=y CONFIG_NET_SCH_DSMARK=y CONFIG_NET_SCH_INGRESS=y CONFIG_NET_QOS=y CONFIG_NET_ESTIMATOR=y CONFIG_NET_CLS=y CONFIG_NET_CLS_TCINDEX=y CONFIG_NET_CLS_ROUTE4=y CONFIG_NET_CLS_ROUTE=y CONFIG_NET_CLS_FW=y CONFIG_NET_CLS_U32=y CONFIG_NET_CLS_RSVP=y CONFIG_NET_CLS_RSVP6=y CONFIG_NET_CLS_POLICE=y Iproute2-2.4.7-now-ss010824 gets patched with: htb3.6_tc.diff iproute2-2.4.7-netlink.patch iproute2-includes.patch When the system starts up it already shows a qdisc attached to eth0. This is just in bringing up the interface and not setting any commands with tc: qdisc pfifo_fast 0: dev eth0 [Unknown qdisc, optlen=20] The system will work fine in this scenario. It''s only when I try to apply any other qdiscs to ANY interface in the system (regardless of whether it is eth0 or not), that I loose all inbound connectivity to the system. It will allow me to connect with tcp outbound, but icmp does not work outbound or inbound. This is totally got me stumped! Any ideas? Thanx, Roy
Rado, I guess the issue centers around every linux box I have shows the pfifo_qdisc when I do an ''ip link show''. But when I do a tc it does not do this. This definitely tells me that tc is not reading the qdiscs properly which also probably means it is not setting them right either. Problem is that is compiles properly and does not give me an errors during build. This is really starting to drive me crazy. Appreciate your help. Thanx, Roy -----Original Message----- From: Radoslav Kolev [mailto:radolin@del.bg] Sent: Monday, March 01, 2004 5:03 AM To: Roy Walker Subject: Re: [LARTC] Strange tc issue Hi, Roy! Roy Walker wrote:> When the system starts up it already shows a qdisc attached to eth0. > This is just in bringing up the interface and not setting any commands> with tc: > > qdisc pfifo_fast 0: dev eth0 [Unknown qdisc, optlen=20] >Every interface has a QDISC when it''s brought up, and by default this is the pfifo_fast qdisc, which does no shaping but just passes packets to the interface on a First In First Our basis. So this a perfectly normal thing (beast :-) for the Douglas adam fans).> The system will work fine in this scenario. It''s only when I try to > apply any other qdiscs to ANY interface in the system (regardless of > whether it is eth0 or not), that I loose all inbound connectivity to > the system. It will allow me to connect with tcp outbound, but icmp > does not work outbound or inbound. >I''m not sure about that, check your iptables configurations. Also old versions of HTB used to drop any traffic not filtered into a class, may be a similar problem. Greetings, Rado
Roy Walker wrote:> I guess the issue centers around every linux box I have shows the > pfifo_qdisc when I do an ''ip link show''. But when I do a tc it does > not do this. This definitely tells me that tc is not reading the > qdiscs properly which also probably means it is not setting them > right either. Problem is that is compiles properly and does not > give me an errors during build. > > This is really starting to drive me crazy. Appreciate your help.The things you say seem partly contradictory, and it is really not clear what is the problem - however, I will give an example of what things do on *my* system so you can spot the discrepancy between your systems. ,---- | ... no configuration ... | shiro:~# ip link show dev eth0 | 7: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100 | link/ether 00:30:1b:ae:6a:66 brd ff:ff:ff:ff:ff:ff | shiro:~# tc qdisc show dev eth0 | qdisc pfifo_fast 0: [Unknown qdisc, optlen=20] | shiro:~# tc class show dev eth0 | shiro:~# tc filter show dev eth0 | | ... add a qdisc ... | shiro:~# tc qdisc add dev eth0 root pfifo limit 100 | | ... show configuration again ... | shiro:~# ip link show eth0 | 7: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo qlen 100 | link/ether 00:30:1b:ae:6a:66 brd ff:ff:ff:ff:ff:ff | shiro:~# tc qdisc show dev eth0 | qdisc pfifo 8002: limit 100p | shiro:~# tc class show dev eth0 | shiro:~# tc filter show dev eth0 `---- And no loss of connectivity to anywhere, or anything of the likes. If this does not work for you, then there is something seriously wrong either with your kernel or with tc. If this does work for you, I suggest specifying exactly what you commands you are saying that cause your problems - there might be something wrong there. -- Naked _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
I have been working on this problem and have tried MANY different things to get it working. So let me recap as best I can. I have the following configuration working fine: uClibc 0.9.26 built Linux 2.4.22 kernel system with iproute2-2.4.7-now-ss010824 and bridge-utils-0.9.6. When I move to Kernel 2.4.25 the tc shaping on the bridge interface does not work. It stops all ip traffic. If I setup the bridge and bind the ip to an Ethernet interface and run tc on that it works. I guess what I need is the correct patches to apply against an iproute2 package with a 2.4.25 Kernel. Can someone kick me some links? Thanx, Roy -----Original Message----- From: Nuutti Kotivuori [mailto:naked@iki.fi] Sent: Monday, March 01, 2004 4:08 PM To: Roy Walker Cc: lartc@mailman.ds9a.nl Subject: Re: Strange tc issue Roy Walker wrote:> I guess the issue centers around every linux box I have shows the > pfifo_qdisc when I do an ''ip link show''. But when I do a tc it does > not do this. This definitely tells me that tc is not reading the > qdiscs properly which also probably means it is not setting them > right either. Problem is that is compiles properly and does not > give me an errors during build. > > This is really starting to drive me crazy. Appreciate your help.The things you say seem partly contradictory, and it is really not clear what is the problem - however, I will give an example of what things do on *my* system so you can spot the discrepancy between your systems. ,---- | ... no configuration ... | shiro:~# ip link show dev eth0 | 7: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100 | link/ether 00:30:1b:ae:6a:66 brd ff:ff:ff:ff:ff:ff | shiro:~# tc qdisc show dev eth0 | qdisc pfifo_fast 0: [Unknown qdisc, optlen=20] | shiro:~# tc class show dev eth0 | shiro:~# tc filter show dev eth0 | | ... add a qdisc ... | shiro:~# tc qdisc add dev eth0 root pfifo limit 100 | | ... show configuration again ... | shiro:~# ip link show eth0 | 7: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo qlen 100 | link/ether 00:30:1b:ae:6a:66 brd ff:ff:ff:ff:ff:ff | shiro:~# tc qdisc show dev eth0 | qdisc pfifo 8002: limit 100p | shiro:~# tc class show dev eth0 | shiro:~# tc filter show dev eth0 `---- And no loss of connectivity to anywhere, or anything of the likes. If this does not work for you, then there is something seriously wrong either with your kernel or with tc. If this does work for you, I suggest specifying exactly what you commands you are saying that cause your problems - there might be something wrong there. -- Naked _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/