From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?ISO-8859-2?Q?Micha=B3_Miros=B3aw?= Subject: Re: [RFC Patch] bonding: move to net/ directory Date: Thu, 26 May 2011 16:25:16 +0200 Message-ID: References: <20110523151336.GF21309@gospo.rdu.redhat.com> <20110524163323.GB28521@hmsreliant.think-freely.org> <20110525152023.GC11867@hmsreliant.think-freely.org> <20110526135053.GB12617@hmsreliant.think-freely.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-2 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: =?ISO-8859-1?Q?Am=E9rico_Wang?= , Andy Gospodarek , Linux Kernel Network Developers , David Miller , Jay Vosburgh To: Neil Horman Return-path: Received: from mail-qy0-f181.google.com ([209.85.216.181]:39621 "EHLO mail-qy0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932544Ab1EZOZg convert rfc822-to-8bit (ORCPT ); Thu, 26 May 2011 10:25:36 -0400 Received: by qyg14 with SMTP id 14so412603qyg.19 for ; Thu, 26 May 2011 07:25:36 -0700 (PDT) In-Reply-To: <20110526135053.GB12617@hmsreliant.think-freely.org> Sender: netdev-owner@vger.kernel.org List-ID: 2011/5/26 Neil Horman : > On Thu, May 26, 2011 at 05:32:08PM +0800, Am=E9rico Wang wrote: >> I don't think other drivers are supposed to use this function to reg= ister >> a packet handler, which is an important difference from my view. > Note you just referred to the bridge/bond and vlan code as 'drivers' = :). =A0And > why is that function the gating factor? =A0Why not register_netdev? =A0= or > netif_receive_skb or dev_add_pack? =A0They all relate to the creation= of device > interface and the reception of network data. > > The fact is, bonding/bridging/vlans/tunnels/etc all have aspects that > make them more than just drivers. =A0They are where they are for a my= rriad of > reasons. =A0Moving them around changes their location, but does _noth= ing_ about > the underlying fact that they're driver code plus other stuff, and as= such > provides no real advantage in terms of organization. If you want to draw a line between net/ and drivers/net I propose following idea: net/ - everything that is about networking (or library for it) and interacts only within the system (kernel<->user, or in-kernel) drivers/net/ - everything that is a connecting point between the system and external world - be it hardware, other VMs or hypervisor. net/ would include wireless stack, all kinds of loopback devices, tunnels (incl. vlan), bridging, bonding, tuntap, etc. drivers/net/ would keep only what is hardware or external ABI dependent Just my 2 cents (3 grosze ;-). Best Regards, Micha=B3 Miros=B3aw