From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from uplift.swm.pp.se (swm.pp.se [212.247.200.143]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 3F6773BA8E for ; Tue, 10 Oct 2017 03:02:43 -0400 (EDT) Received: by uplift.swm.pp.se (Postfix, from userid 501) id C94C0B2; Tue, 10 Oct 2017 09:02:41 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=swm.pp.se; s=mail; t=1507618961; bh=Mk3bhRvfWkvKOwgB/ptJCJPU+KXjI3CBfEuL2176vvo=; h=Date:From:To:cc:Subject:In-Reply-To:References:From; b=UaGSLqzocwPHCq8fx8Vlhh/Sd4Jc0RGlee+V3nr05NmVGZRqqKTCQrAGX++DrOE8k xgq+AXoYu6qoiw9qotBZs+/16DD7BBJiOoLkFyBZBYKpQkr+BSY3925xsnHlfVHXwi jbSMj8Ygx87ta7DGZtF/Ymgb1DR7JL4CAkjx/o94= Received: from localhost (localhost [127.0.0.1]) by uplift.swm.pp.se (Postfix) with ESMTP id C530CB1; Tue, 10 Oct 2017 09:02:41 +0200 (CEST) Date: Tue, 10 Oct 2017 09:02:41 +0200 (CEST) From: Mikael Abrahamsson To: Dave Taht cc: erik.taraldsen@telenor.com, bloat@lists.bufferbloat.net In-Reply-To: <87376s6z5z.fsf@nemesis.taht.net> Message-ID: References: <1507534912438.44276@telenor.com> <87376s6z5z.fsf@nemesis.taht.net> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) Organization: People's Front Against WWW MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset=US-ASCII Subject: Re: [Bloat] emulating non-duplex media in linux qdiscs 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: Tue, 10 Oct 2017 07:02:43 -0000 On Mon, 9 Oct 2017, Dave Taht wrote: > Saying that is half duplex, doesn't work for me. In their example of > "half duplex", (using push to talk), it still means that everybody on > that channel hears who is talking. "half duplex" to me, given the > definition of duplex, means more that there is a *p2p* channel (a wire), > that you can ping pong data across. A 10base-T hub connected to a 10base-2 or 10base-5 segment, all in the same broadcast domain, is considered to be "half duplex" in ethernet port configuration term. So it doesn't have to be p2p. And I do think this mimics a shared radio as well (because a coax wire with multiple nodes on it seems very similar to a radio channel over the air). Now, radio has the difference that two stations might not hear each other, and that's of course a problem in CSMA/CD terms. Back to your netem problem. What you need is to force all packets through the same queue, right? So I tried to dream up a complicated scheme with 4 bridges and some kind of "forced forwarding", but I don't think it'd pan out. So the best way is probably to have a shaper that feeds transmit-tokens/does scheduling into two different shapers (rx/tx on the same interface). So whatever scheduling they are fed in order to tell them the rate they're allowed to transmit, they get it from the same source. That way they have to compete for the same resources. This will not perfectly mimic the exponential backoff of CSMA/CD, but it might be good enough for what you need? Also, I just realised I have no idea how wifi is scheduled. Is it even close to CSMA/CD? -- Mikael Abrahamsson email: swmike@swm.pp.se