- 20 Jan, 2012 3 commits
-
-
Eric Dumazet authored
TCA_CHOKE_MAX_P permits to express high resolution RED probability. tc qdisc add dev $DEV parent 1:1 handle 10: est 1sec 8sec choke \ limit 90 ecn min 10 max 30 probability 0.05 bandwidth 10Mbit Before patch : tc -s -d qdisc show dev eth3 qdisc ... limit 90p min 10p max 30p ecn ewma 3 Plog 19 Scell_log 13 After : qdisc ... limit 90p min 10p max 30p ecn ewma 3 probability 0.05 Scell_log 13 Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
-
Eric Dumazet authored
Adds an optional Random Early Detection on each SFQ flow queue. Traditional SFQ limits count of packets, while RED permits to also control number of bytes per flow, and adds ECN capability as well. 1) We dont handle the idle time management in this RED implementation, since each 'new flow' begins with a null qavg. We really want to address backlogged flows. 2) if headdrop is selected, we try to ecn mark first packet instead of currently enqueued packet. This gives faster feedback for tcp flows compared to traditional RED [ marking the last packet in queue ] Example of use : tc qdisc add dev $DEV parent 1:1 handle 10: est 1sec 4sec sfq \ limit 3000 headdrop flows 512 divisor 16384 \ redflowlimit 100000 min 8000 max 60000 probability 0.20 ecn qdisc sfq 10: parent 1:1 limit 3000p quantum 1514b depth 127 headdrop flows 512/16384 divisor 16384 ewma 6 min 8000b max 60000b probability 0.2 ecn prob_mark 0 prob_mark_head 4876 prob_drop 6131 forced_mark 0 forced_mark_head 0 forced_drop 0 Sent 1175211782 bytes 777537 pkt (dropped 6131, overlimits 11007 requeues 0) rate 99483Kbit 8219pps backlog 689392b 456p requeues 0 In this test, with 64 netperf TCP_STREAM sessions, 50% using ECN enabled flows, we can see number of packets CE marked is smaller than number of drops (for non ECN flows) If same test is run, without RED, we can check backlog is much bigger. qdisc sfq 10: parent 1:1 limit 3000p quantum 1514b depth 127 headdrop flows 512/16384 divisor 16384 Sent 1148683617 bytes 795006 pkt (dropped 0, overlimits 0 requeues 0) rate 98429Kbit 8521pps backlog 1221290b 841p requeues 0 Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
-
Eric Dumazet authored
Reported-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
-
- 19 Jan, 2012 7 commits
-
-
Eric Dumazet authored
Enable Adaptative RED algo, using : tc qdisc ... red limit BYTES ... adaptative ... Support of high precision probability/max_p setting and reporting, with support of old kernels. With a new kernel, "Plog ..." is replaced in tc output by "probability value" : qdisc red 10: dev eth3 parent 1:1 limit 360Kb min 30Kb max 90Kb ecn ewma 5 probability 0.09 Scell_log 15
-
Stephen Hemminger authored
Fixed up version of patch from Hagen Paul Pfeifer <hagen@jauu.net> Also run spell check.
-
Hagen Paul Pfeifer authored
This patch add rate shaping as well as cell support. The link-rate can be specified via rate options. Three optional arguments control the cell knobs: packet-overhead, cell-size, cell-overhead. To ratelimit eth0 root queue to 5kbit/s, with a 20 byte packet overhead, 100 byte cell size and a 5 byte per cell overhead: tc qdisc add dev eth0 root netem rate 5kbit 20 100 5 Signed-off-by: Hagen Paul Pfeifer <hagen@jauu.net>
-
Hagen Paul Pfeifer authored
Signed-off-by: Hagen Paul Pfeifer <hagen@jauu.net>
-
Masatake YAMATO authored
This is trivial patch for libnetlink.c in iproute2. In iproute2/include/linux/netlink.h NLM_F_DUMP is defines as: #define NLM_F_DUMP (NLM_F_ROOT|NLM_F_MATCH) It is not used in libnetlink.c. If used, the code becomes a bit easier to read. Signed-off-by: Masatake YAMATO <yamato@redhat.com>
-
Vijay Subramanian authored
Signed-off-by: Vijay Subramanian <subramanian.vijay@gmail.com>
-
Stephen Hemminger authored
Incorporate change to fix inet_diag build failure.
-
- 10 Jan, 2012 3 commits
-
-
Stephen Hemminger authored
Initial merge window version of headers
-
Stephen Hemminger authored
lintian says: W: iproute: manpage-has-bad-whatis-entry usr/share/man/man7/tc-hfsc.7.gz W: iproute: manpage-has-bad-whatis-entry usr/share/man/man8/ip-address.8.gz W: iproute: manpage-has-bad-whatis-entry usr/share/man/man8/ip-addrlabel.8.gz W: iproute: manpage-has-bad-whatis-entry usr/share/man/man8/ip-link.8.gz W: iproute: manpage-has-bad-whatis-entry usr/share/man/man8/ip-maddress.8.gz W: iproute: manpage-has-bad-whatis-entry usr/share/man/man8/ip-monitor.8.gz W: iproute: manpage-has-bad-whatis-entry usr/share/man/man8/ip-mroute.8.gz W: iproute: manpage-has-bad-whatis-entry usr/share/man/man8/ip-neighbour.8.gz W: iproute: manpage-has-bad-whatis-entry usr/share/man/man8/ip-netns.8.gz W: iproute: manpage-has-bad-whatis-entry usr/share/man/man8/ip-ntable.8.gz W: iproute: manpage-has-bad-whatis-entry usr/share/man/man8/ip-route.8.gz W: iproute: manpage-has-bad-whatis-entry usr/share/man/man8/ip-rule.8.gz W: iproute: manpage-has-bad-whatis-entry usr/share/man/man8/ip-tunnel.8.gz W: iproute: manpage-has-bad-whatis-entry usr/share/man/man8/ip-xfrm.8.gz
-
Stephen Hemminger authored
Leftover from change to original code.
-
- 05 Jan, 2012 1 commit
-
-
Stephen Hemminger authored
-
- 03 Jan, 2012 6 commits
-
-
Jan Engelhardt authored
Upsteam: has not been sent yet Requesting the xt action never succeeded because it registered using the wrong name.
-
Jan Engelhardt authored
Upstream: not sent yet Any tests involving iptables _MUST_ utilize pkg-config to find the proper locations of the installation.
-
Stephen Hemminger authored
Spell check the README files and remove out of date release notes.
-
Stephen Hemminger authored
Use existing compile flag to indicate that input() is not used by tc ematch, fixes compiler warning.
-
Stephen Hemminger authored
yyerror() should take const char * on current bison.
-
Jan Engelhardt authored
gcc -DLIBDIR=\"/usr/lib64\" -D_GNU_SOURCE -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wstrict-prototypes -fPIC -DXT_LIB_DIR=\"/usr/lib64/xtables\" -I../include -DRESOLVE_HOSTNAMES -DLIBDIR=\"/usr/lib64\" -fPIC -c -o ipx_pton.o ipx_pton.c In file included from ../include/utils.h:8:0, from ipx_ntop.c:5: ../include/libnetlink.h: In function 'rta_getattr_u64': ../include/libnetlink.h:84:2: warning: implicit declaration of function 'memcpy' ../include/libnetlink.h:84:2: warning: incompatible implicit declaration of built-in function 'memcpy'
-
- 29 Dec, 2011 2 commits
-
-
Stephen Hemminger authored
Based on earlier implementation by James Chapman. But instead of dragging in all of libnl, use existing libnetlink infrastructure.
-
Stephen Hemminger authored
Based on idea in libmnl, add attribute access functions instead of explicitly exposing casts. Also handle possible alignment issues of u64.
-
- 28 Dec, 2011 1 commit
-
-
Stephen Hemminger authored
Both rtnl_talk and rtnl_dump had a callback for handling portions of netlink message that do not match the correct pid or seq. But this callback was never used by any part of iproute2 so remove it.
-
- 24 Dec, 2011 1 commit
-
-
Eric Dumazet authored
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
-
- 23 Dec, 2011 4 commits
-
-
Stephen Hemminger authored
New functions to handle u8, u16, u32, u64 and string attribute types. Use common code for all attribute wrappers.
-
Stephen Hemminger authored
Avoid having to cast buffer being sent.
-
Stephen Hemminger authored
Incorporate support for new loss models.
-
Stephen Hemminger authored
Format man page with conventional style (BNF and italics) to make it match other pages. Fix loss model options to match what will implemented!
-
- 22 Dec, 2011 3 commits
-
-
Stephen Hemminger authored
Keep in sync
-
Stephen Hemminger authored
The man page for ip command had grown too large to be readable. Break it up into separate pages.
-
Florian Westphal authored
With help from Eric Dumazet. Man page is derived in parts from README file contained in Juliusz Chroboczeks original sfb kernel patch.
-
- 09 Dec, 2011 1 commit
-
-
Eric Dumazet authored
Add harddrop support (kernel support added a long time ago), and various cleanups. min BYTES, max BYTES are now optional and follow Sally Floyd's recommendations. By the way, our default 2% probability is a bit low, Sally recommends 10%. Not a big deal if upcoming adaptative algo is deployed. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
-
- 01 Dec, 2011 3 commits
-
-
Hagen Paul Pfeifer authored
Signed-off-by: Hagen Paul Pfeifer <hagen@jauu.net>
-
Eric Dumazet authored
Documentation advises to set burst to (min+min+max)/(3*avpkt) Let tc do this automatically if user doesnt provide burst himself. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
-
Eric Dumazet authored
Check for burst values that are too small. Reported-by: Dave Taht <dave.taht@gmail.com> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
-
- 23 Nov, 2011 5 commits
-
-
Greg Rose authored
Add ip link command parsing for VF spoof checking enable/disable V2 - Fixed problem with parsing of dump info on kernels that don't support the spoof checking option and also wrapped the ifla_vf_info structure in #ifdef __KERNEL__ to prevent user space from directly accessing the structure V3 - Improved parsing of vfinfo V4 - Put Makefile back to proper list of subdirs V5 - Remove struct ifla_vf_info, it is only used by the kernel V6 - Make sure spoof check is reported by the driver - rtnl will set it to -1 to indicate driver didn't report a value. Signed-off-by: Greg Rose <gregory.v.rose@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-
Eric Dumazet authored
Support ECNSEEN reporting in ss command. ESTAB 0 0 10.170.73.123:4900 10.170.73.125:51001 uid:501 ino:385994 sk:f31e5f00 mem:(r0,w0,f0,t0) ts sack ecn ecnseen bic wscale:8,8 rto:210 rtt:18.75/15 ato:40 cwnd:10 send 69.9Mbps rcv_space:32768 "ecn" means TCP session negociated ECN capability (TCP layer) at setup time "ecnseen" at least one frame with ECT(0) or ECT(1) or ECN (IP layer) was received from peer. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
-
Thomas Jarosch authored
get_distribution() returns an int. cppcheck reported: [tc/q_netem.c:243]: (style) Checking if unsigned variable 'dist_size' is less than zero. The mismatch actually rendered the error checking after get_distribution() ineffective. Signed-off-by: Thomas Jarosch <thomas.jarosch@intra2net.com>
-
Thomas Jarosch authored
Detected by cppcheck. Signed-off-by: Thomas Jarosch <thomas.jarosch@intra2net.com>
-
Stephen Hemminger authored
-