[LARTC] use or non-use of multiple processors in forwarding
I'm testing to see how fast A can ping C without losing packets. A -- B -- C B is a dual processor (Intel(R) XEON(TM) CPU 1.80GHz) machine. /proc/stat shows me that all of the work is done by one cpu, the other does nothing. Does anyone have any ideas of why this should be the case and what I can do to change it? I'm hoping I can get higher throughput if both of the cpu's participate. ___ LARTC mailing list / [EMAIL PROTECTED] http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Re: [LARTC] What happens when guaranteed BW cannot be delivered (HTB and CBQ)
On Friday 08 November 2002 20:33, Mathieu Deziel wrote: > Hi all, > > Suppose you have the following hypothetical scenario. > Your traffic enters the root queue (HTB or CBQ). Then, traffic is > subdivided into level 2 classes. Some of the level 2 classes are > subdivided further into level 3 classes. > This is all done according to some filters (this is not the point here, > though). > > [L1 Root] > > L2L2 > / \ > L3 L3 > > Of course, all the leaf classes are configured to a given "base" or > "guaranteed" rate. > The sum of these guaranteed rate does not exceed the total available > bandwidth". > The sum of the base rates of the children of a class does not exceed the > base rate of the parent. > Also, if other queues are not using their base BW, their available BW > can be borrowed by other, up to "the total available bandwidth" > Specifically, if we are using HTB, the ceil of each class would be set > to the "the total available bandwidth" > > Now, on some medium, it is hard to evaluate in advance the available > bandwidth on the link. > For example, on Ethernet, when there is a lot of traffic, the available > BW for a node can become low. > > Lets say that this is what happens: > 1. The sum of the base rate of all leafs classes is 1Mbps. > 2. Ethernet 10Mbits/sec NIC card is used. > 3. At a given point in time, there is a lot of traffic in the network, > and our node has only 0.7Mbits/sec available for transmission. The > situation remains like this for a while. > 4. During the same period, all flows are using completely their base > rate (i.e. traffic is flowing in all classes at their base rate, so > globally there is 1Mbps flowing in the queuing mechanism). > > Definitely, some classes will not get their base rate. > And now, finally, here are my questions. :) > For both CBQ and HTB, which classes will start to starve first? Is this > done according to their priority, according to their base rate, or is it > totally random? > Have HTB and CBQ been designed to handle this kind of situation? > > I am looking for answers in term of general behavior of HTB and CBQ. Htb will handle this nicely. All traffic will distributed according to the rates. I'm doing some tests about it, but someone gave me 30 vcd's with StarTrek movies on it, so some of my tests are delayed :) I did some tests about it but I have no results available. But the settings like rate and burst are satisified even if there is less bandwidth available then configured. I think cbq does the same but I'm not sure. Stef -- [EMAIL PROTECTED] "Using Linux as bandwidth manager" http://www.docum.org/ #lartc @ irc.oftc.net ___ LARTC mailing list / [EMAIL PROTECTED] http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
[LARTC] What happens when guaranteed BW cannot be delivered (HTB and CBQ)
Hi all, Suppose you have the following hypothetical scenario. Your traffic enters the root queue (HTB or CBQ). Then, traffic is subdivided into level 2 classes. Some of the level 2 classes are subdivided further into level 3 classes. This is all done according to some filters (this is not the point here, though). [L1 Root] || L2L2 / \ L3 L3 Of course, all the leaf classes are configured to a given "base" or "guaranteed" rate. The sum of these guaranteed rate does not exceed the total available bandwidth". The sum of the base rates of the children of a class does not exceed the base rate of the parent. Also, if other queues are not using their base BW, their available BW can be borrowed by other, up to "the total available bandwidth" Specifically, if we are using HTB, the ceil of each class would be set to the "the total available bandwidth" Now, on some medium, it is hard to evaluate in advance the available bandwidth on the link. For example, on Ethernet, when there is a lot of traffic, the available BW for a node can become low. Lets say that this is what happens: 1. The sum of the base rate of all leafs classes is 1Mbps. 2. Ethernet 10Mbits/sec NIC card is used. 3. At a given point in time, there is a lot of traffic in the network, and our node has only 0.7Mbits/sec available for transmission. The situation remains like this for a while. 4. During the same period, all flows are using completely their base rate (i.e. traffic is flowing in all classes at their base rate, so globally there is 1Mbps flowing in the queuing mechanism). Definitely, some classes will not get their base rate. And now, finally, here are my questions. For both CBQ and HTB, which classes will start to starve first? Is this done according to their priority, according to their base rate, or is it totally random? Have HTB and CBQ been designed to handle this kind of situation? I am looking for answers in term of general behavior of HTB and CBQ. Thank you all, Mathieu. -- Mathieu Deziel Computer Network Researcher ___ LARTC mailing list / [EMAIL PROTECTED] http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Re: [LARTC] Route Vlans
Laurent, You should be able to do it with some elbow grease and Ben Greear's linux vlan implementation. http://www.candelatech.com/~greear/vlan.html This allows you to attach a single ethernet device to an 802.1q port on your switch, and configure multiple interfaces for each VLAN. If you want to route, just turn the box into a router--sure it has only one ethernet cable, but it has multiple interfaces, right? I have no experience with it. Good luck, -Martin : Hello, : : Is it possible with a linux Bow to route différents VLANs, like a router : : cisco can does ? : : Thank for your answers : : Laurent Foucher : : ___ : LARTC mailing list / [EMAIL PROTECTED] : http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/ : -- Martin A. Brown --- SecurePipe, Inc. --- [EMAIL PROTECTED] ___ LARTC mailing list / [EMAIL PROTECTED] http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
[LARTC] Route Vlans
Hello, Is it possible with a linux Bow to route différents VLANs, like a router cisco can does ? Thank for your answers Laurent Foucher ___ LARTC mailing list / [EMAIL PROTECTED] http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
[LARTC] Cross posted this List on my site, please do the same if you have not
The open side of bandwitdh tools and utilities looks like it is really taking off, it is not easy to find out who is doing what, so please cross post everything you can with a blurb so others can navigate and find information. It will be several years before this technology converges. Until then summarized links at various web sites will help everybody. Thanks to all on this list that pointed out technologies and have given me feedback on my tools. Art www.apconnections.net ___ LARTC mailing list / [EMAIL PROTECTED] http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
[LARTC] WFQ qdisc
Hi, Has anybody tried this implementation of the WFQ qdisc ? http://home.sch.bme.hu/~tusi/wfq/ WFQ is a good alternative for wireless links, where you don't know in advance the available bandwidth, because of contention (also the case on some wired links such as Ethernet) but also because the link layer can change the waveform to a more robust one if the channel conditions degrade (for example 802.11). This is a bit of a problem with HTB right now. -- Mathieu Deziel Computer Network Researcher ___ LARTC mailing list / [EMAIL PROTECTED] http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Re: [LARTC] HTB
Dear Rimas, I think you trying to remove any qdisc already present on your egress queue. If you have not created any qdisc before trying to remove it, then defn't it will give such error. You need to redirect it to /dev/null. if you trying to do the same before creating the root qdisc. shekhar On Fri, 2002-11-08 at 18:38, Rimas wrote: > shekhar, > > >Make sure you had enable the HTB support in Kernel for Fair Queuing. > I did it. > > When I look to htb-start (debug file) I seethe error message only in one > place: > > # Fri Nov 8 10:56:35 GMT 2002 > > # ip link show > 1: lo: mtu 16436 qdisc noqueue > link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 > 2: shaper0: <> mtu 1500 qdisc noop qlen 10 > link/ether > 3: eth0: mtu 1500 qdisc pfifo_fast qlen 100 > link/ether 00:50:04:6c:3c:5b brd ff:ff:ff:ff:ff:ff > 4: eth1: mtu 1500 qdisc pfifo_fast qlen 100 > link/ether 00:50:da:3c:d9:8b brd ff:ff:ff:ff:ff:ff > 5: eth2: mtu 1500 qdisc pfifo_fast qlen 100 > link/ether 00:04:e2:26:3d:80 brd ff:ff:ff:ff:ff:ff > > # tc qdisc del dev eth0 root > RTNETLINK answers: No such file or directory > ^ > # tc qdisc add dev eth0 root handle 1 htb default 30 r2q 100 > > # ip link show > 1: lo: mtu 16436 qdisc noqueue > link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 > 2: shaper0: <> mtu 1500 qdisc noop qlen 10 > link/ether > 3: eth0: mtu 1500 qdisc htb qlen 100 > link/ether 00:50:04:6c:3c:5b brd ff:ff:ff:ff:ff:ff > 4: eth1: mtu 1500 qdisc pfifo_fast qlen 100 > link/ether 00:50:da:3c:d9:8b brd ff:ff:ff:ff:ff:ff > 5: eth2: mtu 1500 qdisc pfifo_fast qlen 100 > link/ether 00:04:e2:26:3d:80 brd ff:ff:ff:ff:ff:ff > > # tc class add dev eth0 parent 1: classid 1:2 htb rate 5Mbit burst 15k > > # tc class add dev eth0 parent 1:2 classid 1:10 htb rate 5Mbit burst 15k > > # tc qdisc add dev eth0 parent 1:10 handle 10 sfq perturb 10 > > # tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip sport > 80 0x classid 1:10 > > # tc class add dev eth0 parent 1:2 classid 1:20 htb rate 3Mbit ceil 5Mbit > burst 15k > > # tc qdisc add dev eth0 parent 1:20 handle 20 sfq perturb 10 > > # tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip dport > 25 0x classid 1:20 > > # tc class add dev eth0 parent 1:2 classid 1:30 htb rate 1Kbit ceil 5Mbit > burst 15k > > # tc qdisc add dev eth0 parent 1:30 handle 30 sfq perturb 10 > > Any ideas? > > Thnak you > > Rimas > ___ LARTC mailing list / [EMAIL PROTECTED] http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Re: [LARTC] Dynamic bandwidth allocation ?
Dear Serban, Following is my setup. I had a gateway machine with dialup modem and ethernet card. I am connected to local LAN using ethernet card. Now i want to implement a CBQ + fw filter base bandwidth management system. The problem i faced is 1) I had a modem which is connected with my ISP for browsing, downloading etc.., 2) The modem doesn't give me fixed bandwidth. Now how i assume a fixed pipe, or how i play with the bandwidth available at particular moment so every user get a fair chance. Suppose i want to create a three class. say class A, class B, class C. Class A is for high priority traffic. class B is for low priority traffic. class C is for Some specific ports. Then how i implement this with dynamic bandwidth which i rev, using modem. Thanks in advance. shekhar On Thu, 2002-11-07 at 19:01, SERBAN Rares wrote: > Hi Shekhar, > > Please read the paper in attachment. Two things you > can do with the CBQ: to guarantee bandwidth and > sharing the excess bandwidth. May be, you need a > dynamic allocation for free bandwidth and you can use > CBQ link-sharing propreties or, may be, you need a > dynamic allocation of the guaranteed bandwidth. > Yes, you can do with tc dynamic allocation of > bandwidth! > No, it is not possible to implement with cbq.ini. > My, advise is to understand the CBQ implementation. > > Best regards, > > R. > --- Chandrashekhar Rane <[EMAIL PROTECTED]> > wrote: > > Dear All, > > > > I have some doubt. > > > > 1) Is dynamic bandwidth allocation using tc is > > possible? > > 2) If yes, the how to implement it. > > 3) Is it possible to implement it with cbq.init > > script > > > > > > Thanks in advance > > > > regards > > shekhar > > > > > > > > > > ___ > > LARTC mailing list / [EMAIL PROTECTED] > > http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: > http://lartc.org/ > > > > __ > Do you Yahoo!? > U2 on LAUNCH - Exclusive greatest hits videos > http://launch.yahoo.com/u2 ___ LARTC mailing list / [EMAIL PROTECTED] http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Re: [LARTC] Dynamic bandwidth allocation ?
Dear Stef, Thanks for the reply. But i want to implement the same for the dialup modem. In which case i don't have the fixed pipe of 10kbps. Because some times dialup modem gives me a bandwidth of 8kbps to 1kbps. In this situation of varing bandwidth how i implement the same. Waiting for your reply. regards shekhar On Fri, 2002-11-08 at 14:17, Stef Coene wrote: > On Friday 08 November 2002 05:17, Chandrashekhar Rane wrote: > > Dear Stef, > > > > Thanks for the reply. > > > > By dynamic allocation of bandwidth i mean to say, it should get > > allocated according to the situation to the individual classes. > > > > Consider a example, say i have a pipe of 10kbps. I am dividing this > > pipe in three classes with bandwidth of 1kbps, 1.5kbps and 7.5kbps > > respectively. > > > > I am trying to implement this using CBQ with fw filter. > > > > 1kbps pipe i am allocating to fixed ip say 192.168.2.12 and 1.5kbps pipe > > i am allocating to another ip say 192.168.2.22 and remaining 7.5kbps > > pipe i am allocating to 192.168.2.0/24 network. > > > > If the person sitting on 192.168.2.12 or 192.168.2.22 is absent for the > > day, then the bandwidth allocated to them should be release for the > > other user. > > > > How to achieve this objective. > > > > Waiting for a kind response from your side. > Very easy to do so. > > bounded class of 10kbps > 3 child not-bounded classes : > 1kbps > 1.5 kbps > 7.5 kbps > > 3 fiters : > filter 1 pust all 192.168.2.12 in 1 kbps class > filter 2 pust all 192.168.2.22 in 1.5 kbps class > filter 3 pust all 192.168.2.0/24 in 7.5 kbps class > > And you are done. > If 1kbps class is not used, the bandwidth is distributed to the other class. > If you want this bandwidth allocated to the 1.5 kbps you can do this : > > bounded class of 10kbps > 2 child not-bounded classes : > 2.5 kbps > 2 child not bounded classes : > 1 kbps > 1.5 kbps > 7.5 kbps > > Stef > > > -- > > [EMAIL PROTECTED] > "Using Linux as bandwidth manager" > http://www.docum.org/ > #lartc @ irc.oftc.net > ___ LARTC mailing list / [EMAIL PROTECTED] http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
[LARTC] Load Balancing over A Bidirectional and Uni-directional Link
Hi All, I want to achieve load balancing over two internet links where one link is both upload and download and the other link is download only (satellite). I am running a linux host as a router with one internet link of 256 kbps which supports about 50 LAN users. We are not running any servers and all the traffic originates from the LAN. My first link (say link A) gives me a bandwidth of 256 kbps (upload as well as download) and is through an ethernet interface. I am planning to add a satellite link (link B) which will give me a download only bandwidth of 256 kbps. This link will be through a PCI - DVB (Digital Video Broadcast) Card. I want to configure the system in such a manner that all the upload is done through link A while the download traffic gets equally divided between the two links. I have seen the LARTC - HOWTO which explains load balancing over multiple links. But the problem in this case is that there is only one outgoing physical link. How do I setup routing as well as the SNAT in IPTABLES so that I am able to achieve load balancing between the two links. Thank you, __ Do you Yahoo!? U2 on LAUNCH - Exclusive greatest hits videos http://launch.yahoo.com/u2 ___ LARTC mailing list / [EMAIL PROTECTED] http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
[LARTC] router redandancy with vrrpd
Hi all, maybe someone of you guys can help me on my problem. I have 2 Zebra 0.93a routers with SuSE Linux 8.0. Each router as working BGP sessions to some uplink providers. Each one has an interface dedicated for my internal network. The idea is that the other router starts up all 50 gateway ip addresses needed on its internal interface. I'm dealing with a lot of /24 networks, each one has x.x.x.1 as gateway. To make this easier I changed the netmask from /32 to /24 in the vrrpd source code and recompiled. No problem until now. But, when the gateway addresses are up, I cannot reach me servers. I did I simple ping, and got no response at all. I tried arping, and I got an immediate response. After that ping also worked. But only for some minutes, and the servers got lost again. After that I shut down vrrpd and added my gateway addresses manually to the interface: ip addr add x.x.x.1 brd + dev $INT And I got the same problem there. Then I tried using aliases, but again the same problem. If I do a simple ifconfig $INT x.x.x.1 netmask 255.255.255.0 broadcast x.x.x.255 then I won't have the problem at all. I don't think the problem is directly related to vrrpd, but I cannot figure out what's going wrong here. Some additional infos: I'm using arpd instead of kernel space arp I have approx. 1000 Servers connected via multiple switches behind my internal nic. I need to bring ip approx. 50 secondary ip addresses. Perhaps there are to many servers connected via one nic, but why does it work with ifconfig and not with ip addr add. Thanx in advance Sascha ___ LARTC mailing list / [EMAIL PROTECTED] http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Re: [LARTC] Dynamic bandwidth allocation ?
On Friday 08 November 2002 05:17, Chandrashekhar Rane wrote: > Dear Stef, > > Thanks for the reply. > > By dynamic allocation of bandwidth i mean to say, it should get > allocated according to the situation to the individual classes. > > Consider a example, say i have a pipe of 10kbps. I am dividing this > pipe in three classes with bandwidth of 1kbps, 1.5kbps and 7.5kbps > respectively. > > I am trying to implement this using CBQ with fw filter. > > 1kbps pipe i am allocating to fixed ip say 192.168.2.12 and 1.5kbps pipe > i am allocating to another ip say 192.168.2.22 and remaining 7.5kbps > pipe i am allocating to 192.168.2.0/24 network. > > If the person sitting on 192.168.2.12 or 192.168.2.22 is absent for the > day, then the bandwidth allocated to them should be release for the > other user. > > How to achieve this objective. > > Waiting for a kind response from your side. Very easy to do so. bounded class of 10kbps 3 child not-bounded classes : 1kbps 1.5 kbps 7.5 kbps 3 fiters : filter 1 pust all 192.168.2.12 in 1 kbps class filter 2 pust all 192.168.2.22 in 1.5 kbps class filter 3 pust all 192.168.2.0/24 in 7.5 kbps class And you are done. If 1kbps class is not used, the bandwidth is distributed to the other class. If you want this bandwidth allocated to the 1.5 kbps you can do this : bounded class of 10kbps 2 child not-bounded classes : 2.5 kbps 2 child not bounded classes : 1 kbps 1.5 kbps 7.5 kbps Stef -- [EMAIL PROTECTED] "Using Linux as bandwidth manager" http://www.docum.org/ #lartc @ irc.oftc.net ___ LARTC mailing list / [EMAIL PROTECTED] http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Re: [LARTC] Dynamic bandwidth allocation ?
What do you mean "smart htb/cbq setup"? Please, can you detail with some examples? Thanks, R. --- Stef Coene <[EMAIL PROTECTED]> wrote: > On Thursday 07 November 2002 20:34, SERBAN Rares > wrote: > > Hi Stef, > > > > Try to read this paper. > I tried but 15p was too much :) > It can be done. But it requires some external > scripting to implement it. But > I'm conviced about the benefits. Like Michael said, > I think a smart htb/cbq > setup can do the same. > > Stef > > -- > > [EMAIL PROTECTED] > "Using Linux as bandwidth manager" > http://www.docum.org/ > #lartc @ irc.oftc.net > __ Do you Yahoo!? U2 on LAUNCH - Exclusive greatest hits videos http://launch.yahoo.com/u2 ___ LARTC mailing list / [EMAIL PROTECTED] http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/