From owner-freebsd-net@FreeBSD.ORG Mon Sep 17 20:29:51 2012 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A26B1106564A; Mon, 17 Sep 2012 20:29:51 +0000 (UTC) (envelope-from jfvogel@gmail.com) Received: from mail-vb0-f54.google.com (mail-vb0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id 212368FC0C; Mon, 17 Sep 2012 20:29:50 +0000 (UTC) Received: by vbmv11 with SMTP id v11so2841564vbm.13 for ; Mon, 17 Sep 2012 13:29:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=8ZUNwY1FLmNHW7uPBeF4z4tdVxUB6A0NEtGQOO4MPyM=; b=L/aJvB5eh95DX4P2ZgOyrcFuZlFWWdSvXRBmce5aEajOEvjbSS5gLoymvcfuxXTQDs Fhfw8j4i6vFaNmGnns20um59pjqjdS7o79q95gCCGLhuo/ZVxnOxRN13XifrhP1M8R/f c3UjAW/h5nQofqjVhbYCJs995BVHdB4YB7u5HPUpYKeJJqjfI1q1QeBkPeVuRrkBfy/U mTIoG4A3V0ts/AAXiJRvrYiSYGg1wbeIAhB5YbjtDbiSw3xxez0UYvyYdn/gVaBWkPM5 yhwPgqB/oxhMaDoJ9s6wNi/pR1zQVESsumgRfDkhkBwfsH95tYw2IJObk7nGtcjz9g/8 s4lg== MIME-Version: 1.0 Received: by 10.58.31.228 with SMTP id d4mr8608725vei.40.1347913790445; Mon, 17 Sep 2012 13:29:50 -0700 (PDT) Received: by 10.58.68.8 with HTTP; Mon, 17 Sep 2012 13:29:50 -0700 (PDT) In-Reply-To: <201209171622.11157.jhb@freebsd.org> References: <201209171503.12517.jhb@freebsd.org> <201209171622.11157.jhb@freebsd.org> Date: Mon, 17 Sep 2012 13:29:50 -0700 Message-ID: From: Jack Vogel To: John Baldwin Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: freebsd-net@freebsd.org, Adrian Chadd , Ryan Stone Subject: Re: What's the latest on fixing IFF_DRV_OACTIVE/if_start/etc? X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Sep 2012 20:29:51 -0000 On Mon, Sep 17, 2012 at 1:22 PM, John Baldwin wrote: > On Monday, September 17, 2012 4:00:04 pm Jack Vogel wrote: > > So, you mean having them create their own buf ring I assume? Would be > easy > > enough to hack some code and try it if someone is so inclined? > > No, that would be backwards (back to giving them a queue). Adrian's > suggestion is to provide a mechanism so that the "real" interface > (e.g. emX) can call back into the psuedo-interfaces on top of it > (vlanX or bridgeX) when a TX completion interrupt fires so that the > pseudo-interface would know to restart transmission. However, I think > this is generally not ideal. I don't think we want an additional queue > of pending packets in things like if_bridge(4) and vlan(4). If the > underlying physical interface(s) are full, the packet should just get > dropped rather than queued. Using if_transmit directly will do that while > avoiding overhead. Also, making the callback work would also be a bit > ungainly. > > I meant using if_transmit, not the callback, would it not then need a buf ring? Jack