From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oo1-xc36.google.com (mail-oo1-xc36.google.com [IPv6:2607:f8b0:4864:20::c36]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 8FD583B29D for ; Wed, 23 Sep 2020 13:36:38 -0400 (EDT) Received: by mail-oo1-xc36.google.com with SMTP id k13so82071oor.2 for ; Wed, 23 Sep 2020 10:36:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=zToeYExa7ac0pRHh/ejtQ7eLzCNCoIEjG1J+b5HFVAI=; b=a1IYFiWPsFtTtuuMjM45J1xhf8AD3+NUi71YxYXPUTjLJILePSS594ItpgeETcjzV0 jqHbE4YiodhCtNzX6xUCzGBWJQjZP2C+6UEqWPk2nEiiPHAs/FKoBDRyPcVdFGdarxWt PpD0x96c05oFI2HcWkutWnWZCAj4wAPjkarZeG6vK+qMnKXwpKWQRyOj/nayl+VFakDd 18KaxE4FdCaQ//+uogUcT00QEbeSNSD863o9CzbfFA+IcO0YFboxnBi1iKC5ijv6+4ul BjNQ2bFTEoqTfZKoJdMBTzcBTMrDbS3XTfZ94aOBZAr9Kbpg5Pb9VhWtMXmZQJxUcdxm Tokw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=zToeYExa7ac0pRHh/ejtQ7eLzCNCoIEjG1J+b5HFVAI=; b=JYVPjsLB3X3Uwg+xiiHxCGr6tu+3XNX6wQ9BhLx0iJCbKUL3bzS64cNgFKRZxwGse8 IUPlny9RZ1wOJxmkXIsaDRf1rWmEIub1FGRkonDAbwhjNubChVqImxjf+7iuruP4opQx wUFptNZVH2AR1YCZ32aW+mG9uD04Lqwzjq62d7itVkndCZrXXVJTO+Oll2EnHs3Fj8KI Rx8cdQg/JCNm5n16J0ufI3LpubBfgo+qDPOsR+QyCLAIqOWBFnPol8PkFo2vOP2HDLqM WxdDA/r8PMomNQtiGlXLazat4oX7nAdZGtFF7EAlHWqIrdRfw/XqlvAvUHgcXUhR2cYP UKmQ== X-Gm-Message-State: AOAM531HWnEo8sV3PlyAi32nzbOJqKpQ5XnB4MGSpEi3Cpg+VEsbnVcJ ytZR3KypxyazscVpKcnylNJ3bVzQ7MY+ikRVeCQ= X-Google-Smtp-Source: ABdhPJwhXnSY7nfAOaJMdFXom7FnIMjXzpiQBE/or+97QzxdI94ceYkcyq/tCq+49+qtO2cJH7b7r/RdUx3mHLAy53Y= X-Received: by 2002:a4a:95f1:: with SMTP id p46mr537149ooi.93.1600882597618; Wed, 23 Sep 2020 10:36:37 -0700 (PDT) MIME-Version: 1.0 References: <32080.1597787724@localhost> In-Reply-To: <32080.1597787724@localhost> From: Daniel Sterling Date: Wed, 23 Sep 2020 13:36:28 -0400 Message-ID: To: Michael Richardson Cc: bloat Content-Type: text/plain; charset="UTF-8" Subject: Re: [Bloat] cake + ipv6 X-BeenThere: bloat@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: General list for discussing Bufferbloat List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Sep 2020 17:36:38 -0000 Thanks to everyone for their input, I ran some updates on the xbox and watched iftop. I found that the xbox does the following: * uses up to four http (TCP port 80) connections at once to download data * connects (seemingly randomly) to both ipv4 and ipv6 update hosts That means at any given time, the xbox could be downloading solely via ipv4, solely via ipv6, or a with mix of the two. I believe this means when it's using both v4 and v6, it's getting double its "share" of the bandwidth since cake can't tell that the v4 and v6 traffic is coming from the same LAN host -- is that correct? I'm using the default "triple-isolate" parameter. I can try switching to dual-src/dest host or even plain srchost / dsthost isolation. In theory that should limit traffic more per download host, even if cake can't determine the LAN host that's doing the downloading, right? For reference here is my tc config: root@OpenWrt:~# tc -s qdisc | grep cake qdisc cake 1: dev eth1 root refcnt 2 bandwidth 20Mbit besteffort triple-isolate nat nowash no-ack-filter split-gso rtt 100.0ms noatm overhead 38 mpu 84 qdisc cake 1: dev eth0 root refcnt 2 bandwidth 40Mbit besteffort triple-isolate nat nowash ingress no-ack-filter split-gso rtt 100.0ms noatm overhead 38 mpu 84 eth1 is WAN, eth0 is LAN. This is openwrt running on a sandy bridge PC, so both are real NICs. eth0 is an intel PCI NIC, eth1 is motherboard NIC. root@OpenWrt:~# uname -a Linux OpenWrt 4.14.195 #0 SMP Mon Sep 7 18:27:30 2020 x86_64 GNU/Linux root@OpenWrt:~# cat /proc/cpuinfo | grep name model name : Intel(R) Celeron(R) CPU 847 @ 1.10GHz root@OpenWrt:~# for i in 0 1 ; do ethtool -i eth$i | grep driver ; done driver: e1000e driver: r8169 Thanks, Dan On Tue, Aug 18, 2020 at 5:55 PM Michael Richardson wrote: > > > Daniel Sterling wrote: > > As I'm sure you know ipv6 addresses are essentially random on the > > internal LAN as compared to v4 -- a box can grab as many v6 addresses > > as it wants, and I don't believe my linux router can really know which > > box is using which address, can it? > > So, IPv6 privacy extensions do this. > But, they aren't really supposed to change that fast, and should ideally be > sticky to an application. So a single batch of xbox downloads should all use > the same IID in the IPv6. > > On a home *LAN*, the L2 ethernet address won't change for the xbox, so ideally, > the home router could build some kind of set based upon that, and then use > that. > > Adding a layer of L3 router, of course, defeats that, and this is mostly the > point of how privacy extensions are supposed to work. > > > Which means... ipv6 breaks cake's flow isolation. > > > Cake can't throttle all those xbox downloads correctly cuz it doesn't > > know they're all going to/from that one device. > > Are you explicitely throttling by IP address, or are you letting cake figure > it out? > > > I can think of one general solution -- run more wires to more devices, > > and give devices their own VLAN, and tag / prioritize / deprioritize > > specific traffic that way... > > > But.. are there better / more general solutions? > > -- > Michael Richardson , Sandelman Software Works > -= IPv6 IoT consulting =-