Re: [net-next v2 6/6] ixgbe: Add malicious driver detection support
On Tue, Jun 27, 2017 at 11:51 AM, Jeff Kirsher wrote: > From: Paul Greenwalt > > Add malicious driver detection (MDD) support for X550, X550em_a, > and X550em_x devices. > > MDD is a hardware SR-IOV security feature which the driver enables by > default, but can be controlled on|off by ethtool set-priv-flags wait, we have the trusted vf concept, which you implement (ixgbe_ndo_set_vf_trust) so you can enable by default for all vfs and disable it for trusted ones, why create an ixgbe special config knob? IMHO we should max all possible efforts to avoid priv ethtool flags usage. Or.
RE: [net-next v2 6/6] ixgbe: Add malicious driver detection support
>-Original Message- >From: netdev-ow...@vger.kernel.org [mailto:netdev-ow...@vger.kernel.org] On >Behalf Of Or Gerlitz >Sent: Tuesday, June 27, 2017 2:08 AM >To: Kirsher, Jeffrey T >Cc: David Miller ; Greenwalt, Paul >; Linux Netdev List ; >nhor...@redhat.com; sassm...@redhat.com; jogre...@redhat.com >Subject: Re: [net-next v2 6/6] ixgbe: Add malicious driver detection >support > >On Tue, Jun 27, 2017 at 11:51 AM, Jeff Kirsher > wrote: >> From: Paul Greenwalt >> >> Add malicious driver detection (MDD) support for X550, X550em_a, >> and X550em_x devices. >> >> MDD is a hardware SR-IOV security feature which the driver enables by >> default, but can be controlled on|off by ethtool set-priv-flags > >wait, we have the trusted vf concept, which you implement >(ixgbe_ndo_set_vf_trust) >so you can enable by default for all vfs and disable it for trusted >ones, why create[] an ixgbe special config knob? IMHO we should max all >possible efforts to >avoid priv ethtool flags usage. The "trusted" option was added to allow use cases that were not possible in the default driver configuration for SRIOV (promiscuous mode, overriding the MAC). While these modes can lead to issues (performance with promisc) they can still be useful for certain configurations. MDD is a completely different type of protection that incorporates checks for queue context, Tx descriptors and out-of-bounds DMA/memory access that can disrupt the operation of the interfaces. You can read more about it in the X550 datasheet (section 7.9.4.3 malicious Driver Detection): https://www.intel.com/content/www/us/en/embedded/products/networking/ethernet-controller-x550-family-documentation.html For that reason we do not want to make it part of the "trusted" option. In addition MDD is a global setting and cannot be configured per-VF. Thanks, Emil
Re: [net-next v2 6/6] ixgbe: Add malicious driver detection support
On Tue, Jun 27, 2017 at 11:59 PM, Tantilov, Emil S wrote: >>-Original Message- >>From: netdev-ow...@vger.kernel.org [mailto:netdev-ow...@vger.kernel.org] On >>Behalf Of Or Gerlitz >>Sent: Tuesday, June 27, 2017 2:08 AM >>To: Kirsher, Jeffrey T >>Cc: David Miller ; Greenwalt, Paul >>; Linux Netdev List ; >>nhor...@redhat.com; sassm...@redhat.com; jogre...@redhat.com >>Subject: Re: [net-next v2 6/6] ixgbe: Add malicious driver detection >>support >> >>On Tue, Jun 27, 2017 at 11:51 AM, Jeff Kirsher >> wrote: >>> From: Paul Greenwalt >>> >>> Add malicious driver detection (MDD) support for X550, X550em_a, >>> and X550em_x devices. >>> >>> MDD is a hardware SR-IOV security feature which the driver enables by >>> default, but can be controlled on|off by ethtool set-priv-flags >> >>wait, we have the trusted vf concept, which you implement >>(ixgbe_ndo_set_vf_trust) >>so you can enable by default for all vfs and disable it for trusted >>ones, why create[] an ixgbe special config knob? IMHO we should max all >>possible efforts to >>avoid priv ethtool flags usage. > > The "trusted" option was added to allow use cases that were not possible in > the > default driver configuration for SRIOV (promiscuous mode, overriding the MAC). > While these modes can lead to issues (performance with promisc) they can still > be useful for certain configurations. > > MDD is a completely different type of protection that incorporates checks for > queue context, Tx descriptors and out-of-bounds DMA/memory access that can > disrupt the operation of the interfaces. You can read more about it in the > X550 > datasheet (section 7.9.4.3 malicious Driver Detection): > https://www.intel.com/content/www/us/en/embedded/products/networking/ethernet-controller-x550-family-documentation.html > > For that reason we do not want to make it part of the "trusted" option. you can extend the trusted option without breaking the UAPI, currently it's one bit y/n, but you should have there at least seven more bits to use. > In addition MDD is a global setting and cannot be configured per-VF. can you state more clearly why use think the right configuration knob here is per driver ethtool private flag? Or.
RE: [net-next v2 6/6] ixgbe: Add malicious driver detection support
>-Original Message- >From: Or Gerlitz [mailto:gerlitz...@gmail.com] >Sent: Tuesday, June 27, 2017 2:07 PM >To: Tantilov, Emil S >Cc: Kirsher, Jeffrey T ; David Miller >; Greenwalt, Paul ; Linux >Netdev List ; nhor...@redhat.com; >sassm...@redhat.com; jogre...@redhat.com >Subject: Re: [net-next v2 6/6] ixgbe: Add malicious driver detection >support > >On Tue, Jun 27, 2017 at 11:59 PM, Tantilov, Emil S > wrote: >>>-Original Message- >>>From: netdev-ow...@vger.kernel.org [mailto:netdev-ow...@vger.kernel.org] >On >>>Behalf Of Or Gerlitz >>>Sent: Tuesday, June 27, 2017 2:08 AM >>>To: Kirsher, Jeffrey T >>>Cc: David Miller ; Greenwalt, Paul >>>; Linux Netdev List ; >>>nhor...@redhat.com; sassm...@redhat.com; jogre...@redhat.com >>>Subject: Re: [net-next v2 6/6] ixgbe: Add malicious driver detection >>>support >>> >>>On Tue, Jun 27, 2017 at 11:51 AM, Jeff Kirsher >>> wrote: >>>> From: Paul Greenwalt >>>> >>>> Add malicious driver detection (MDD) support for X550, X550em_a, >>>> and X550em_x devices. >>>> >>>> MDD is a hardware SR-IOV security feature which the driver enables by >>>> default, but can be controlled on|off by ethtool set-priv-flags >>> >>>wait, we have the trusted vf concept, which you implement >>>(ixgbe_ndo_set_vf_trust) >>>so you can enable by default for all vfs and disable it for trusted >>>ones, why create[] an ixgbe special config knob? IMHO we should max all >possible efforts to >>>avoid priv ethtool flags usage. >> >> The "trusted" option was added to allow use cases that were not possible in >> the >> default driver configuration for SRIOV (promiscuous mode, overriding the >> MAC). >> While these modes can lead to issues (performance with promisc) they can >> still >> be useful for certain configurations. >> >> MDD is a completely different type of protection that incorporates checks for >> queue context, Tx descriptors and out-of-bounds DMA/memory access that can >> disrupt the operation of the interfaces. You can read more about it in the >> X550 >> datasheet (section 7.9.4.3 malicious Driver Detection): >> >https://www.intel.com/content/www/us/en/embedded/products/networking/ethern >et-controller-x550-family-documentation.html >> >> For that reason we do not want to make it part of the "trusted" option. > >you can extend the trusted option without breaking the UAPI, currently >it's one bit y/n, but you should have there at least seven more bits >to use. > >> In addition MDD is a global setting and cannot be configured per-VF. > >can you state more clearly why use think the right configuration knob >here is per driver ethtool private flag? Mainly because I am not sure that other (non-Intel) drivers will benefit from such an option. In normal operation this functionality should not cause issues and if it doesn't we may be able to deprecate the private flag in the future. On the other hand if the same/similar feature exists in other drivers then it would perhaps make more sense to introduce a new option altogether. Thanks, Emil
Re: [net-next v2 6/6] ixgbe: Add malicious driver detection support
On Wed, Jun 28, 2017 at 1:14 AM, Tantilov, Emil S wrote: > Mainly because I am not sure that other (non-Intel) drivers will benefit from > such an option. In normal operation this functionality should not cause issues > and if it doesn't we may be able to deprecate the private flag in the future. If you think this functionality makes sense any driver running over HW implementing it would like to be able to expose that and hence you better not use private flag. Are we sure the trust UAPI can't be extended for that matter?
Re: [net-next v2 6/6] ixgbe: Add malicious driver detection support
From: Or Gerlitz Date: Wed, 28 Jun 2017 17:28:59 +0300 > On Wed, Jun 28, 2017 at 1:14 AM, Tantilov, Emil S > wrote: > >> Mainly because I am not sure that other (non-Intel) drivers will benefit from >> such an option. In normal operation this functionality should not cause >> issues >> and if it doesn't we may be able to deprecate the private flag in the future. > > If you think this functionality makes sense any driver running over HW > implementing > it would like to be able to expose that and hence you better not use > private flag. > > Are we sure the trust UAPI can't be extended for that matter? Yeah, we should probably make this a generic control if possible.
RE: [net-next v2 6/6] ixgbe: Add malicious driver detection support
>-Original Message- >From: David Miller [mailto:da...@davemloft.net] >Sent: Thursday, June 29, 2017 11:28 AM >To: gerlitz...@gmail.com >Cc: Tantilov, Emil S ; Kirsher, Jeffrey T >; Greenwalt, Paul ; >netdev@vger.kernel.org; nhor...@redhat.com; sassm...@redhat.com; >jogre...@redhat.com >Subject: Re: [net-next v2 6/6] ixgbe: Add malicious driver detection >support > >From: Or Gerlitz >Date: Wed, 28 Jun 2017 17:28:59 +0300 > >> On Wed, Jun 28, 2017 at 1:14 AM, Tantilov, Emil S >> wrote: >> >>> Mainly because I am not sure that other (non-Intel) drivers will benefit >from >>> such an option. In normal operation this functionality should not cause >issues >>> and if it doesn't we may be able to deprecate the private flag in the >future. >> >> If you think this functionality makes sense any driver running over HW >> implementing >> it would like to be able to expose that and hence you better not use >> private flag. As I mentioned I don't know if this will be useful for other drivers. The i40e driver enables it by default without possibility to disable it and if this protection does not cause problems for ixgbe then we may not need the option in the future. Because of this I wasn't sure if it's worth polluting the tools with options that may end up not being needed/used at all. >> Are we sure the trust UAPI can't be extended for that matter? > >Yeah, we should probably make this a generic control if possible. MDD is set globally for the device, while the trusted option is set per VF. So if we do end up adding an option it probably won't work as extension for trusted. Thanks, Emil