lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 27 Oct 2010 09:33:12 +0800 From: "Xin, Xiaohui" <xiaohui.xin@...el.com> To: David Miller <davem@...emloft.net> CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>, "kvm@...r.kernel.org" <kvm@...r.kernel.org>, "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>, "mst@...hat.com" <mst@...hat.com>, "mingo@...e.hu" <mingo@...e.hu>, "herbert@...dor.apana.org.au" <herbert@...dor.apana.org.au>, "jdike@...ux.intel.com" <jdike@...ux.intel.com> Subject: RE: [PATCH v13 10/16] Add a hook to intercept external buffers from NIC driver. >-----Original Message----- >From: David Miller [mailto:davem@...emloft.net] >Sent: Tuesday, October 19, 2010 11:24 PM >To: Xin, Xiaohui >Cc: netdev@...r.kernel.org; kvm@...r.kernel.org; linux-kernel@...r.kernel.org; >mst@...hat.com; mingo@...e.hu; herbert@...dor.apana.org.au; jdike@...ux.intel.com >Subject: Re: [PATCH v13 10/16] Add a hook to intercept external buffers from NIC driver. > >From: xiaohui.xin@...el.com >Date: Fri, 15 Oct 2010 17:12:11 +0800 > >> @@ -2891,6 +2922,11 @@ static int __netif_receive_skb(struct sk_buff *skb) >> ncls: >> #endif >> >> + /* To intercept mediate passthru(zero-copy) packets here */ >> + skb = handle_mpassthru(skb, &pt_prev, &ret, orig_dev); >> + if (!skb) >> + goto out; >> + >> /* Handle special case of bridge or macvlan */ >> rx_handler = rcu_dereference(skb->dev->rx_handler); >> if (rx_handler) { > >If you consume the packet here, devices in passthru mode cannot >be use with bonding. > >But there is nothing that prevents a bond being created with such >a device. > >So we have to either prevent such configurations (bad) or make >it work somehow (good) :-) The big picture may like this: To prevent such configurations, we should add code to check in both mp and bonding driver. If a nic is in zero-copy mode , bonding can't be made with it, and if nic is in bonding mode, we can't bind the device to do zero-copy. If we want to support such configurations, it also has some constraints. If bonding is created first, we need code to check if all the slaves support zero-copy mode, and if yes, all the slaves should be assigned a same page_ctor(), all the packets received should be intercepted with master nic. If not, fails. If zero-copy is enabled first, bonding created with it should fail. Somehow, it seems not a trivial work to support it now. Can we support it later and as a todo with our current work? Thanks Xiaohui -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists