lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 3 Feb 2014 09:50:06 -0500 From: Greg Kuperman <gregk@....EDU> To: netdev <netdev@...r.kernel.org> Subject: Requeues and ECN marking Hi all, I am testing a new congestion control protocol that relies on explicit congestion notifications (ECN) to notify the receiver of a congestion event. I have a rate limited link of 1 Mbps, and I am using the RED queuing discipline with ECN enabled. What I have noticed is that no matter how small I set my queue size, or how low I set my minimum marking level, the first ECN marked packet does not get sent out for about 10 seconds after the input rate exceeds the output rate. Further examination shows that ECN marking does not occur until the number or requeues hits 1000. Below are two queries of tc -s -d qdisc ls dev eth1. qdisc red 8028: root refcnt 2 limit 10000000b min 1b max 0b ecn ewma 30 Plog 21 Scell_log 31 Sent 1307892 bytes 1247 pkt (dropped 0, overlimits 0 requeues 960) backlog 1052118b 962p requeues 960 marked 0 early 0 pdrop 0 other 0 qdisc red 8028: root refcnt 2 limit 10000000b min 1b max 0b ecn ewma 30 Plog 21 Scell_log 31 Sent 1379262 bytes 1312 pkt (dropped 0, overlimits 72 requeues 1024) backlog 1122468b 1027p requeues 1024 marked 72 early 0 pdrop 0 other 0 The txqueuelen defaults to 1000 for the interface, so I figured that packets maybe buffering there, and then dequeuing, before any packets are marked. I set txqueuelen to lower values (all the way down to 1), but the exact same behavior occurs (no marked packets until number of dequeues hits 1000). In contrast, if I set txqueuele to something very high, I get no requeues, drops, or marked packets. My goal is for packets to be marked as soon as the ingress rate exceeds the egress. Am I correct in thinking that the requeuing operation is the culprit? Can I eliminate requeues? Is there something else I can do to get the behavior I am looking for? Thank you all for the help. And please cc me in your replies; I'm not 100% sure if I get all the messages from this mailing list. Best, Greg -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists