From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (Client CN "mout.gmx.net", Issuer "TeleSec ServerPass DE-1" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id DEB7721F113 for ; Wed, 29 Jan 2014 14:01:34 -0800 (PST) Received: from hms-beagle.home.lan ([217.86.112.208]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0MH5Sw-1W4jAk0Wyg-00Dmmo for ; Wed, 29 Jan 2014 23:01:32 +0100 Content-Type: text/plain; charset=windows-1252 Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\)) From: Sebastian Moeller In-Reply-To: <8533.1391030878@sandelman.ca> Date: Wed, 29 Jan 2014 23:01:31 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <17C2006F-9078-4B51-B19E-1B258B001012@gmx.de> References: <8533.1391030878@sandelman.ca> To: Michael Richardson X-Mailer: Apple Mail (2.1510) X-Provags-ID: V03:K0:L30/sxJBkCznJ0Pr9TIYnZZySwe/+F9vq5EMTHSMelsM2FfApO8 Uj6eLEttWGONDqpcIKfdJ+Xefpg1HnNj6fJd3ueg/v11D2QbQVQraSJrj8d4qExfjJ9dQG+ We9KSEjm/rwj2w6AvrhJB2dkjURClnyeUKSaIgMudVn39lufu4SoH4kV98tW9QsEu49SLtJ ZBi2KA2Xq+TpFCIuX1Wwg== Cc: cerowrt-devel Subject: Re: [Cerowrt-devel] rsync over ssh X-BeenThere: cerowrt-devel@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: Development issues regarding the cerowrt test router project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jan 2014 22:01:35 -0000 Hi Michael, On Jan 29, 2014, at 22:27 , Michael Richardson wrote: >=20 > I often run rsync over ssh to transfer files. > I suspect that they are being classified wrong, and are competing with = my > interactive ssh sessions. I experience classic bufferbloat issues = with a > congested uplink when typing. (But, DNS and web is unaffected, it = seems) >=20 > I notice in ssh_config(5) man page that it says: >=20 > IPQoS Specifies the IPv4 type-of-service or DSCP class for = connections. Accepted values are ``af11'', > ``af12'', ``af13'', ``af21'', ``af22'', ``af23'', = ``af31'', ``af32'', ``af33'', ``af41'', ``af42'', > ``af43'', ``cs0'', ``cs1'', ``cs2'', ``cs3'', ``cs4'', = ``cs5'', ``cs6'', ``cs7'', ``ef'', ``lowdelay'', > ``throughput'', ``reliability'', or a numeric value. This = option may take one or two arguments, sepa- > rated by whitespace. If one argument is specified, it is = used as the packet class unconditionally. If > two values are specified, the first is automatically = selected for interactive sessions and the second > for non-interactive sessions. The default is ``lowdelay'' = fo.r interactive sessions and ``throughput'' > for non-interactive sessions. >=20 >=20 You could try to add "-o IPQoS ef" to your interactive sessions? = But this will only have a chance of working, if you use simple.qos, as = smiliest.qos does not have any priority tiers=85 (I am sure you know = that already). =46rom simple.qos: ipt_setup() { ipt -t mangle -N QOS_MARK_${IFACE} ipt -t mangle -A QOS_MARK_${IFACE} -j MARK --set-mark 0x2 # You can go further with classification but... ipt -t mangle -A QOS_MARK_${IFACE} -m dscp --dscp-class CS1 -j MARK = --set-mark 0x3 ipt -t mangle -A QOS_MARK_${IFACE} -m dscp --dscp-class CS6 -j MARK = --set-mark 0x1 ipt -t mangle -A QOS_MARK_${IFACE} -m dscp --dscp-class EF -j MARK = --set-mark 0x1 ipt -t mangle -A QOS_MARK_${IFACE} -m dscp --dscp-class AF42 -j MARK = --set-mark 0x1 ipt -t mangle -A QOS_MARK_${IFACE} -m tos --tos Minimize-Delay -j MARK = --set-mark 0x1 # and it might be a good idea to do it for udp tunnels too # Turn it on. Preserve classification if already performed ipt -t mangle -A POSTROUTING -o $DEV -m mark --mark 0x00 -g = QOS_MARK_${IFACE} ipt -t mangle -A POSTROUTING -o $IFACE -m mark --mark 0x00 -g = QOS_MARK_${IFACE} # The Syn optimization was nice but fq_codel does it for us # ipt -t mangle -A PREROUTING -i s+ -p tcp -m tcp --tcp-flags = SYN,RST,ACK SYN -j MARK --set-mark 0x01 # Not sure if this will work. Encapsulation is a problem period ipt -t mangle -A PREROUTING -i vtun+ -p tcp -j MARK --set-mark 0x2 # tcp = tunnels need ordering # Emanating from router, do a little more optimization # but don't bother with it too much. ipt -t mangle -A OUTPUT -p udp -m multiport --ports 123,53 -j DSCP = --set-dscp-class AF42 #Not clear if the second line is needed Looks to my untrained eye as if CS1 ends up in the scavenger background = queue, EF in contrast should end up in the highest priority queue. (And = if the rsync and interactive sessions terminate at the same end points = they need to to be separated into different tiers/fq_codel instances, = otherwise they end up in the same fq_codel bin and will affect each = other; as far as I understand). > I can see no evidence that my IPv6 packets are being changed in = anyway. > On IPv4, I see: >=20 > 16:25:50.744290 IP (tos 0x8, ttl 64, id 62723, offset 0, flags [DF], = proto TCP (6), length 52) > 209.87.252.250.51417 > 97.107.133.15.22: Flags [F.], cksum 0x5735 = (correct), seq 623906, ack 3314, win 110, options [nop,nop,TS val = 1178738167 ecr 2623900673], length 0 >=20 > I'm not sure that "tos 0x8" is particularly useful. It's DSCP 1, and I = think > it's actually being marked TOS-like. >=20 > Will any value here have any affect on default 3.10 qos.sh script? My bet is on EF for the interact sessions=85 best Sebastian >=20 > -- > ] Never tell me the odds! | ipv6 mesh = networks [ > ] Michael Richardson, Sandelman Software Works | network = architect [ > ] mcr@sandelman.ca http://www.sandelman.ca/ | ruby on = rails [ >=20 >=20 >=20 >=20 > _______________________________________________ > Cerowrt-devel mailing list > Cerowrt-devel@lists.bufferbloat.net > https://lists.bufferbloat.net/listinfo/cerowrt-devel