From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: [RFC PATCH v0 1/2] net: bridge: propagate FDB table into hardware Date: Thu, 9 Feb 2012 09:40:47 -0800 Message-ID: <20120209094047.3ea7aa56@nehalam.linuxnetplumber.net> References: <20120209032206.32468.92296.stgit@jf-dev1-dcblab> <20120208203627.035c6b0e@nehalam.linuxnetplumber.net> <4F34042F.6090806@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: bhutchings@solarflare.com, roprabhu@cisco.com, netdev@vger.kernel.org, mst@redhat.com, chrisw@redhat.com, davem@davemloft.net, gregory.v.rose@intel.com, kvm@vger.kernel.org, sri@us.ibm.com To: John Fastabend Return-path: Received: from mail.vyatta.com ([76.74.103.46]:57809 "EHLO mail.vyatta.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751927Ab2BIRku (ORCPT ); Thu, 9 Feb 2012 12:40:50 -0500 In-Reply-To: <4F34042F.6090806@intel.com> Sender: kvm-owner@vger.kernel.org List-ID: On Thu, 09 Feb 2012 09:36:47 -0800 John Fastabend wrote: > But the device features makes it easy for user space to learn that the device > supports this sort of offload. Now if all SR-IOV devices support this then it > doesn't matter but I thought there were SR-IOV devices that didn't do any > switching? I'll dig through the SR-IOV drivers to check there are not too > many of them. If user space needs to know then the OS is not designed properly. The purpose of the network device is to abstract all those details, and more and more of them are bleeding through. This makes writing management applications harder and makes things dependent on features that may or may not be present. The best design is when the change is invisible. > By netlink_notifier do you mean adding a notifier_block and using atomic_notifier_call_chain() > probably in rtnl_notify()? Then drivers could register with the notifier chain with > atomic_notifier_chain_register() and receive the events correctly. Or did I miss > some notifier chain that already exists? Yes. that is what I mean. The callbacks you need may or may not already be present.