Contact Us Post Here to Contact Site Administrators and Moderators How to Post in the The UNIX and Linux Forums NETEM - fq_codel and pfifo_fast change/add tc rule Post 303039021 by Neo on Thursday 19th of September 2019 11:05:17 PM
As as recall, the netem package has issues related to granularity; and when I did a quick look, I found this in the man page:

The main known limitation of Netem are related to timer granularity, since Linux is not a real-time operating system.
This could be way off base, but perhaps using a 0.5% loss parameter is too granular for Linux?

Did you experiment using a larger parameter, such as 5% or even 2% first, to test?

Sorry if this is not helpful or I'm way off the mark.

EDIT: Yes, I am way off the mark... I just read this in the docs on Packet Loss:


Packet loss
Random packet loss is specified in the 'tc' command in percent. The smallest possible non-zero value is:

232 = 0.0000000232%

 # tc qdisc change dev eth0 root netem loss 0.1%
This causes 1/10th of a percent (i.e 1 out of 1000) packets to be randomly dropped.

An optional correlation may also be added. This causes the random number generator to be less random and can be used to emulate packet burst losses.

 # tc qdisc change dev eth0 root netem loss 0.3% 25%
This will cause 0.3% of packets to be lost, and each successive probability depends by a quarter on the last one.

Probn = .25 * Probn-1 + .75 * Random

I'm really interested in this topic, so looking forward to any updates. What version of Linux are you using? I may install netem on Ubuntu and check it out.

Test Your Knowledge in Computers #361
Difficulty: Medium
The rmdir command remove directories, even if they are not empty.
True or False?

7 More Discussions You Might Find Interesting

1. Email Antispam Techniques and Email Filtering

procmail rule

I can tell this is not a recently active formum, but here goes, "why doesn't this procmail rule block messages with víagra or v1agra appearing in the subject header :0 * ^Subject:.*(víagra¦v1agra¦pénis¦prescripti0n¦Medicati0n¦M0rtgage¦Xanaxz) { LOG="(THE 7 DIRTY WORDS) " :0 ... (4 Replies)
Discussion started by: jones
4 Replies

2. Shell Programming and Scripting

How do I add the option to change the path in a menu?

How do I add the option to change the path in a menu? I have this script. The user chooses a number and had the option of doing something, looking for log files etc. There is a possibility they might want to look at a different path other than what I have given them such as... (2 Replies)
Discussion started by: taekwondo
2 Replies

3. Post Here to Contact Site Administrators and Moderators

Rule # 8

In light of this board's rule stating "no BSD vs. Linux vs. Windows or similar threads," is the following post legal (can I post it)? Hi. I'm thinking about obtaining a web server for business purposes and I want to learn to administer and maintain the server myself. I need to be able to use... (1 Reply)
Discussion started by: bluegospel
1 Replies

4. UNIX for Dummies Questions & Answers

BASH: Change alias to script to add a task

Hi. I use an alias, "homeperm" as shorthand for curl -o. Since most of what I download via cUrl is graphic image files -- jpeg files -- I'd like to be able to change this alias to a script, or use it to invoke a function, which will not only download the file but date-stamp it using Exiv2 in... (4 Replies)
Discussion started by: SilversleevesX
4 Replies

5. UNIX for Dummies Questions & Answers

Using sed to change lines and add them if they don't exist..

I've googled the hell out of this, and in my quest to advance my knowledge and expertise in modifying phones to make them more awesome, I ended up here. I've found answers about patterns and whatnot that seem really complex for what I am trying to do, and basically it is this: if the line says... (2 Replies)
Discussion started by: Silentbtdeadly
2 Replies

6. Shell Programming and Scripting

Add character to specific columns using sed or awk and make it a permanent change

Hi, I am writing a shell script where I want that # should be added in all those lines as the first character where the pattern matches. file has lot of functions defined #!/bin/bash fn a { beautiful evening sunny day } fn b { } fn c { hello world .its a beautiful day ... (12 Replies)
Discussion started by: ashima jain
12 Replies

7. UNIX for Beginners Questions & Answers

Command to change add permissions for a new user to all files in all subfolders and folders

Hi there! I'm new to Unix and haven't done command line stuff since MS-Dos and Turbo Pascal (hah!), I would love some help figuring out this basic command (what I assume is basic). I'd like to add a User to the permissions of all files in a folder and all files in all subfolders, as well... (9 Replies)
Discussion started by: Janjbrt
9 Replies
FQ_CoDel(8)							       Linux							       FQ_CoDel(8)

CoDel - Fair Queuing (FQ) with Controlled Delay (CoDel) SYNOPSIS
tc qdisc ... fq_codel [ limit PACKETS ] [ flows NUMBER ] [ target TIME ] [ interval TIME ] [ quantum BYTES ] [ ecn | noecn ] DESCRIPTION
FQ_Codel (Fair Queuing Controlled Delay) is queuing discipline that combines Fair Queuing with the CoDel AQM scheme. FQ_Codel uses a sto- chastic model to classify incoming packets into different flows and is used to provide a fair share of the bandwidth to all the flows using the queue. Each such flow is managed by the CoDel queuing discipline. Reordering within a flow is avoided since Codel internally uses a FIFO queue. PARAMETERS
limit has the same semantics as codel and is the hard limit on the real queue size. When this limit is reached, incoming packets are dropped. Default is 10240 packets. flows is the number of flows into which the incoming packets are classified. Due to the stochastic nature of hashing, multiple flows may end up being hashed into the same slot. Newer flows have priority over older ones. This parameter can be set only at load time since memory has to be allocated for the hash table. Default value is 1024. target has the same semantics as codel and is the acceptable minimum standing/persistent queue delay. This minimum delay is identified by tracking the local minimum queue delay that packets experience. Default value is 5ms. interval has the same semantics as codel and is used to ensure that the measured minimum delay does not become too stale. The minimum delay must be experienced in the last epoch of length .B interval. It should be set on the order of the worst-case RTT through the bottleneck to give endpoints sufficient time to react. Default value is 100ms. quantum is the number of bytes used as 'deficit' in the fair queuing algorithm. Default is set to 1514 bytes which corresponds to the Ethernet MTU plus the hardware header length of 14 bytes. ecn | noecn has the same semantics as codel and can be used to mark packets instead of dropping them. If ecn has been enabled, noecn can be used to turn it off and vice-a-versa. Unlike codel, ecn is turned on by default. EXAMPLES
#tc qdisc add dev eth0 root fq_codel #tc -s qdisc show qdisc fq_codel 8002: dev eth0 root refcnt 2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn Sent 428514 bytes 2269 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0 new_flows_len 0 old_flows_len 0 #tc qdisc add dev eth0 root fq_codel limit 2000 target 3ms interval 40ms noecn #tc -s qdisc show qdisc fq_codel 8003: dev eth0 root refcnt 2 limit 2000p flows 1024 quantum 1514 target 3.0ms interval 40.0ms Sent 2588985006 bytes 1783629 pkt (dropped 0, overlimits 0 requeues 34869) backlog 0b 0p requeues 34869 maxpacket 65226 drop_overlimit 0 new_flow_count 73 ecn_mark 0 new_flows_len 1 old_flows_len 3 SEE ALSO
tc(8), tc-codel(8), tc-red(8) AUTHORS
FQ_CoDel was implemented by Eric Dumazet. This manpage was written by Vijay Subramanian. Please report corrections to the Linux Networking mailing list <>. iproute2 4 June 2012 FQ_CoDel(8)

Featured Tech Videos

All times are GMT -4. The time now is 10:21 AM.
Unix & Linux Forums Content Copyright 1993-2020. All Rights Reserved.
Privacy Policy