From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hiroshi Shimamoto Subject: RE: [PATCH v5 3/3] ixgbe: Add new ndo to trust VF Date: Tue, 26 May 2015 00:59:57 +0000 Message-ID: <7F861DC0615E0C47A872E6F3C5FCDDBD05EB8A65@BPXM14GP.gisp.nec.co.jp> References: <7F861DC0615E0C47A872E6F3C5FCDDBD05EB28F4@BPXM14GP.gisp.nec.co.jp> <7F861DC0615E0C47A872E6F3C5FCDDBD05EB3B4A@BPXM14GP.gisp.nec.co.jp> <7F861DC0615E0C47A872E6F3C5FCDDBD05EB4EE6@BPXM14GP.gisp.nec.co.jp> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: "nhorman@redhat.com" , "jogreene@redhat.com" , Linux Netdev List , "Choi, Sy Jong" , Rony Efraim , "David Miller" , Edward Cree , Or Gerlitz , "sassmann@redhat.com" To: "Skidmore, Donald C" , "Rose, Gregory V" , "Kirsher, Jeffrey T" , "intel-wired-lan@lists.osuosl.org" Return-path: Received: from TYO201.gate.nec.co.jp ([210.143.35.51]:40789 "EHLO tyo201.gate.nec.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751143AbbEZBAj (ORCPT ); Mon, 25 May 2015 21:00:39 -0400 In-Reply-To: Content-Language: ja-JP Sender: netdev-owner@vger.kernel.org List-ID: PiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogUm9zZSwgR3JlZ29yeSBW DQo+ID4gU2VudDogRnJpZGF5LCBNYXkgMjIsIDIwMTUgODowOCBBTQ0KPiA+IFRvOiBIaXJvc2hp IFNoaW1hbW90bzsgU2tpZG1vcmUsIERvbmFsZCBDOyBLaXJzaGVyLCBKZWZmcmV5IFQ7IGludGVs LXdpcmVkLQ0KPiA+IGxhbkBsaXN0cy5vc3Vvc2wub3JnDQo+ID4gQ2M6IG5ob3JtYW5AcmVkaGF0 LmNvbTsgam9ncmVlbmVAcmVkaGF0LmNvbTsgTGludXggTmV0ZGV2IExpc3Q7IENob2ksDQo+ID4g U3kgSm9uZzsgUm9ueSBFZnJhaW07IERhdmlkIE1pbGxlcjsgRWR3YXJkIENyZWU7IE9yIEdlcmxp dHo7DQo+ID4gc2Fzc21hbm5AcmVkaGF0LmNvbQ0KPiA+IFN1YmplY3Q6IFJFOiBbUEFUQ0ggdjUg My8zXSBpeGdiZTogQWRkIG5ldyBuZG8gdG8gdHJ1c3QgVkYNCj4gPg0KPiA+DQo+ID4gPiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogSW50ZWwtd2lyZWQtbGFuDQo+ID4g PiBbbWFpbHRvOmludGVsLXdpcmVkLWxhbi1ib3VuY2VzQGxpc3RzLm9zdW9zbC5vcmddIE9uIEJl aGFsZiBPZiBIaXJvc2hpDQo+ID4gPiBTaGltYW1vdG8NCj4gPiA+IFNlbnQ6IFRodXJzZGF5LCBN YXkgMjEsIDIwMTUgNzozMSBQTQ0KPiA+ID4gVG86IFNraWRtb3JlLCBEb25hbGQgQzsgS2lyc2hl ciwgSmVmZnJleSBUOyBpbnRlbC13aXJlZC0NCj4gPiA+IGxhbkBsaXN0cy5vc3Vvc2wub3JnDQo+ ID4gPiBDYzogbmhvcm1hbkByZWRoYXQuY29tOyBqb2dyZWVuZUByZWRoYXQuY29tOyBMaW51eCBO ZXRkZXYgTGlzdDsgQ2hvaSwNCj4gPiA+IFN5IEpvbmc7IFJvbnkgRWZyYWltOyBEYXZpZCBNaWxs ZXI7IEVkd2FyZCBDcmVlOyBPciBHZXJsaXR6Ow0KPiA+ID4gc2Fzc21hbm5AcmVkaGF0LmNvbQ0K PiA+ID4gU3ViamVjdDogUmU6IFtJbnRlbC13aXJlZC1sYW5dIFtQQVRDSCB2NSAzLzNdIGl4Z2Jl OiBBZGQgbmV3IG5kbyB0bw0KPiA+ID4gdHJ1c3QgVkYNCj4gPiA+DQo+ID4NCj4gPiBbYmlnIHNu aXBdDQo+ID4NCj4gPiA+IEkgdGhpbmsgeW91ciBjb25jZXJucyBhcmUgcmVsYXRlZCB0byBzb21l IG9wZXJhdGlvbmFsIGFzc3VtcHRpb25zLg0KPiA+ID4gTXkgYmFzaWMgY29uY2VwdCBpcywgbm90 IHRvIGNoYW5nZSB0aGUgYmVoYXZpb3Igb2YgVk0sIGV4aXN0aW5nIHVzZXINCj4gPiA+IG9wZXJh dGlvbi4NCj4gPiA+IEkgbWVhbiB0aGF0IEkgZGlkbid0IHRoaW5rIGl0J3MgYmV0dGVyIHRoYXQg dGhlIHVzZXIgc2hvdWxkIGNoZWNrIHRoZQ0KPiA+ID4gYm90aCBvZiB0aGUgaXhnYmV2ZiBkcml2 ZXIgY2FuIGRlYWwgd2l0aCBuZXcgQVBJIGFuZCB0aGUgVkYgaXMgdHJ1c3RlZC4NCj4gPiA+DQo+ ID4gPiBOb3csIEkgdGhpbmsgdGhlIHBvaW50IGlzIHdobyB0YWtlcyBjYXJlIHdoZXRoZXIgdGhl IFZGIGlzIHRydXN0ZWQuIFJpZ2h0Pw0KPiA+ID4gSXQgc2VlbXMgdGhhdCB5b3UgdGhpbmsgdGhl IFZGIHVzZXIgc2hvdWxkIGhhbmRsZSB0aGF0IHVzZXIgaXMgdHJ1c3RlZA0KPiA+ID4gYW5kIGRv IHNvbWV0aGluZyB3aXRoIGEgbm90aWNlIHRoYXQgInlvdSdyZSB0cnVzdGVkIG9yIHVudHJ1c3Rl ZCIgZnJvbQ0KPiA+ID4gdGhlIGhvc3QuDQo+ID4gPiBJcyB0aGF0IGNvcnJlY3Q/DQo+ID4gPiBJ IG1hZGUgaXQgaW4gUEYgc2lkZSwgYmVjYXVzZSBpdCBsb29rcyBlYXN5IHRvIGhhbmRsZSBpdC4g SWYgc29tZXRoaW5nDQo+ID4gPiB0byBkbyBpbiBWRiBzaWRlLCBJIHRoaW5rIGl4Z2JldmYgZHJp dmVyIHNob3VsZCBoYW5kbGUgaXQuDQo+ID4NCj4gPiBTZXR0aW5nIHRoZSBWRiB0cnVzdGVkIG1v ZGUgZmVhdHVyZSBzaG91bGQgb25seSBiZSBhbGxvd2VkIHRocm91Z2ggdGhlIFBGDQo+ID4gYXMg aXQgaXMgdGhlIG9ubHkgdHJ1c3RlZCBlbnRpdHkgZnJvbSB0aGUgc3RhcnQuICBXZSBkbyBub3Qg d2FudCB0aGUgVkYgYmVpbmcNCj4gPiBhYmxlIHRvIGRlY2lkZSBmb3IgaXRzZWxmIHRvIGJlIHRy dXN0ZWQuDQo+ID4NCj4gPiAtIEdyZWcNCj4gPg0KPiANCj4gSSBjb21wbGV0ZWx5IGFncmVlIHdp dGggR3JlZyBhbmQgbmV2ZXIgbWVhbnQgdG8gaW1wbHkgYW55dGhpbmcgZWxzZS4NCj4gDQo+IFRo ZSBQRiBzaG91bGQgYmUgd2hlcmUgYSBnaXZlbiBWRiBpcyBtYWRlICJ0cnVzdGVkIi4gIExpa2V3 aXNlIGEgVkYgY2FuIGdldCBwcm9tb3RlZCB0byBNQyBQcm9taXNjdW91cyBidXkgcmVxdWVzdGlu Zw0KPiBvdmVyIDMwIE1DIGdyb3Vwcy4gIEkgbGlrZSB0aGlzIGFuZCB5b3VyIHBhdGNoIGN1cnJl bnRseSBkb2VzIHRoaXMuICBTbyBmb3IgZXhhbXBsZSBiZWxvdzoNCj4gDQo+IFBGCQkJCQlWRg0K PiAtLS0tLS0tLS0tCQkJCS0tLS0tLS0tLS0tDQo+IFNldCBnaXZlbiBWRiBhcyB0cnVzdGVkDQo+ IAkJCQkJUmVxdWVzdCAzMCsgTUMgZ3JvdXBzIHZpYSBNYWlsIEJveA0KPiBQdXQgUEYgaW4gTUMg UHJvbWlzY3VvdXMgbW9kZQ0KPiANCj4gDQo+IFdoYXQgSSBhbSBjb25jZXJuZWQgYWJvdXQgaXMg dGhlIGZvbGxvd2luZyBmbG93IHdoZXJlIHdlIHNlZW0gdG8gc3RvcmUgdGhlIGZhY3QgdGhlIFZG IHJlcXVlc3RzIG1vcmUgdGhhbiAzMCsgTUMgZ3JvdXBzDQo+IHNvIHRoYXQgd2UgY2FuIGF1dG9t YXRpY2FsbHkgZW50ZXIgTUMgUHJvbWlzYyBNb2RlIGlmIHRoYXQgVkYgaXMgZXZlciBtYWRlIHRy dXN0ZWQuDQo+IA0KPiBQRgkJCQkJVkYNCj4gLS0tLS0tLS0tLS0JCQkJLS0tLS0tLS0tLQ0KPiBD dXJyZW50bHkgVkYgaXMgTk9UIHRydXN0ZWQNCj4gCQkJCQlSZXF1ZXN0IDMwKyBNQyBncm91cHMg dmlhIE1haWwgQm94DQo+IERvIE5PVCBwdXQgUEYgaW4gTUMgUHJvbWlzYw0KPiAoaHctPm1hYy5t Y19wcm9taXNjID0gdHJ1ZSkNCj4gDQo+IDwgU29tZSB0aW1lIGxhdGVyID4NCj4gDQo+IFNldCBn aXZlbiBWRiBhcyB0cnVzdGVkDQo+IChiZWNhdXNlIG1jX3Byb21pc2Mgc2V0KSBQdXQgUEYgaW4g TUMgUHJvbWlzYw0KPiANCj4gDQo+IEkgZG9uJ3QgbGlrZSB0aGUgZmFjdCB0aGF0IHRoZSBQRiBy ZW1lbWJlcnMgdGhhdCB0aGUgVkYgd2FzIGRlbmllZCBNQyBQcm9taXNjdW91cyBtb2RlIGluIHRo ZSBwYXN0LiAgQW5kIGJlY2F1c2Ugb2YgdGhhdA0KPiBhdXRvbWF0aWNhbGx5IHB1dCB0aGUgVkYg aW4gTUMgUHJvbWlzY3VvdXMgbW9kZSB3aGVuIGl0IGJlY29tZXMgdHJ1c3RlZC4gIE1heWJlIHNo b3dpbmcgaW4gY29kZSB3aGF0IEkgd291bGQgbGlrZSByZW1vdmVkL2FkZGVkDQo+IHdvdWxkIGJl IG1vcmUgaGVscGZ1bCwgcHJvYmFibHkgc2hvdWxkIGhhdmUgc3RhcnRlZCBkb2luZyB0aGF0LiA6 KQ0KDQpEbyB5b3UgbWVhbiB0aGF0IFZGIHNob3VsZCBjYXJlIGFib3V0IGl0IGlzIHRydXN0ZWQg b3Igbm90Pw0KU2hvdWxkIFZGIHJlcXVlc3QgTUMgUHJvbWlzYyBhZ2FpbiB3aGVuIGl0J3MgdHJ1 c3RlZD8NCk9yLCBkbyB5b3UgbWVhbiBWRiBuZXZlciBiZSB0cnVzdGVkIGR1cmluZyBpdHMgKG9y IFZNJ3MpIGxpZmV0aW1lPw0KDQpBbmQgd2hhdCBkbyB5b3UgdGhpbmsgYWJvdXQgYmVpbmcgdW50 cnVzdGVkIGZyb20gdHJ1c3RlZCBzdGF0ZT8NCg0KPiANCj4gSSB3b3VsZCByZW1vdmUgdGhpcyBi aXQgb2YgY29kZSBmcm9tIGl4Z2JlX25kb19zZXRfdmZfdHJ1c3QoKToNCj4gDQo+IGludCBpeGdi ZV9uZG9fc2V0X3ZmX3RydXN0KHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsIGludCB2ZiwgYm9v bA0KPiBzZXR0aW5nKSB7DQo+IAlzdHJ1Y3QgaXhnYmVfYWRhcHRlciAqYWRhcHRlciA9IG5ldGRl dl9wcml2KG5ldGRldik7DQo+IA0KPiAJaWYgKHZmID49IGFkYXB0ZXItPm51bV92ZnMpDQo+IAkJ cmV0dXJuIC1FSU5WQUw7DQo+IA0KPiAJLyogbm90aGluZyB0byBkbyAqLw0KPiAJaWYgKGFkYXB0 ZXItPnZmaW5mb1t2Zl0udHJ1c3RlZCA9PSBzZXR0aW5nKQ0KPiAJCXJldHVybiAwOw0KPiANCj4g CWFkYXB0ZXItPnZmaW5mb1t2Zl0udHJ1c3RlZCA9IHNldHRpbmc7DQo+IA0KPiAtCS8qIFJlY29u ZmlndXJlIGZlYXR1cmVzIHdoaWNoIGFyZSBvbmx5IGFsbG93ZWQgZm9yIHRydXN0ZWQgVkYgKi8N Cj4gLQkvKiBWRiBtdWx0aWNhc3QgcHJvbWlzY3VvdXMgbW9kZSAqLw0KPiAtCWlmIChhZGFwdGVy LT52ZmluZm9bdmZdLm1jX3Byb21pc2MpDQo+IC0JCWl4Z2JlX2VuYWJsZV92Zl9tY19wcm9taXNj KGFkYXB0ZXIsIHZmKTsNCg0KSSB1bmRlcnN0YW5kLCB5b3UgZG9uJ3QgdGhpbmsgd2UgbmVlZCB0 byBoYXZlIGEgY2FwYWJpbGl0eSB0byBlbmFibGUvZGlzYWJsZSBNQyBQcm9taXNjIG9uIHRoZSBm bHkuDQoNCj4gDQo+IAlyZXR1cm4gMDsNCj4gfQ0KPiANCj4gVGhpcyBvZiBjb3Vyc2Ugd291bGQg YmUgd2Ugc2hvdWxkIG5vdCBzZXQgbWNfcHJvbWlzYyBldmVyIGlmIHdlIGFyZSBOT1QgdHJ1c3Rl ZCAoYWRhcHRlci0+dmZpbmZvW3ZmXS50cnVzdGVkKSBzbyBpbg0KPiBpeGdiZV9zZXRfdmZfbWNf cHJvbWlzYygpIEkgd291bGQgYWRkIG9yIHNvbWV0aGluZyBsaWtlIGl0Og0KPiANCj4gc3RhdGlj IGludCBpeGdiZV9zZXRfdmZfbWNfcHJvbWlzYyhzdHJ1Y3QgaXhnYmVfYWRhcHRlciAqYWRhcHRl ciwNCj4gCQkJCSAgIHUzMiAqbXNnYnVmLCB1MzIgdmYpDQo+IHsNCj4gCWJvb2wgZW5hYmxlID0g ISFtc2didWZbMV07CS8qIG1zZ2J1ZiBjb250YWlucyB0aGUgZmxhZyB0byBlbmFibGUgKi8NCj4g DQo+IAlzd2l0Y2ggKGFkYXB0ZXItPnZmaW5mb1t2Zl0udmZfYXBpKSB7DQo+IAljYXNlIGl4Z2Jl X21ib3hfYXBpXzEyOg0KPiAJCWJyZWFrOw0KPiAJZGVmYXVsdDoNCj4gCQlyZXR1cm4gLTE7DQo+ IAl9DQo+IA0KPiArCS8qIGhhdmUgdG8gYmUgdHJ1c3RlZCAqLw0KPiArCUlmICghYWRhcHRlci0+ dmZpbmZvW3ZmXS50cnVzdGVkKQ0KPiArCQlSZXR1cm4gMDsNCg0KU2hvdWxkIHdlIHJldHVybiBh biBlcnJvciB0byBWRiB0byBpbmZvcm0gaXQgaXNuJ3QgdHJ1c3RlZD8NCg0KPiArDQo+IAkvKiBu b3RoaW5nIHRvIGRvICovDQo+IAlpZiAoYWRhcHRlci0+dmZpbmZvW3ZmXS5tY19wcm9taXNjID09 IGVuYWJsZSkNCj4gCQlyZXR1cm4gMDsNCj4gDQo+IAlhZGFwdGVyLT52ZmluZm9bdmZdLm1jX3By b21pc2MgPSBlbmFibGU7DQo+IA0KPiAJaWYgKGVuYWJsZSkNCj4gCQlyZXR1cm4gaXhnYmVfZW5h YmxlX3ZmX21jX3Byb21pc2MoYWRhcHRlciwgdmYpOw0KPiAJZWxzZQ0KPiAJCXJldHVybiBpeGdi ZV9kaXNhYmxlX3ZmX21jX3Byb21pc2MoYWRhcHRlciwgdmYpOyB9DQo+IA0KPiANCj4gRG9lcyB0 aGlzIGJldHRlciBleHBsYWluIHdoYXQgbXkgY29uY2VybiBpcz8NCg0KeWVzLCBJIHNlZSwgYnV0 IEkgd291bGQgbGlrZSB0byBjbGFyaWZ5IHRoZSBhYm92ZSB0aGluZ3MuDQoNCnRoYW5rcywNCkhp cm9zaGkNCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hiroshi Shimamoto Date: Tue, 26 May 2015 00:59:57 +0000 Subject: [Intel-wired-lan] [PATCH v5 3/3] ixgbe: Add new ndo to trust VF In-Reply-To: References: <7F861DC0615E0C47A872E6F3C5FCDDBD05EB28F4@BPXM14GP.gisp.nec.co.jp> <7F861DC0615E0C47A872E6F3C5FCDDBD05EB3B4A@BPXM14GP.gisp.nec.co.jp> <7F861DC0615E0C47A872E6F3C5FCDDBD05EB4EE6@BPXM14GP.gisp.nec.co.jp> Message-ID: <7F861DC0615E0C47A872E6F3C5FCDDBD05EB8A65@BPXM14GP.gisp.nec.co.jp> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: intel-wired-lan@osuosl.org List-ID: > > -----Original Message----- > > From: Rose, Gregory V > > Sent: Friday, May 22, 2015 8:08 AM > > To: Hiroshi Shimamoto; Skidmore, Donald C; Kirsher, Jeffrey T; intel-wired- > > lan at lists.osuosl.org > > Cc: nhorman at redhat.com; jogreene at redhat.com; Linux Netdev List; Choi, > > Sy Jong; Rony Efraim; David Miller; Edward Cree; Or Gerlitz; > > sassmann at redhat.com > > Subject: RE: [PATCH v5 3/3] ixgbe: Add new ndo to trust VF > > > > > > > -----Original Message----- > > > From: Intel-wired-lan > > > [mailto:intel-wired-lan-bounces at lists.osuosl.org] On Behalf Of Hiroshi > > > Shimamoto > > > Sent: Thursday, May 21, 2015 7:31 PM > > > To: Skidmore, Donald C; Kirsher, Jeffrey T; intel-wired- > > > lan at lists.osuosl.org > > > Cc: nhorman at redhat.com; jogreene at redhat.com; Linux Netdev List; Choi, > > > Sy Jong; Rony Efraim; David Miller; Edward Cree; Or Gerlitz; > > > sassmann at redhat.com > > > Subject: Re: [Intel-wired-lan] [PATCH v5 3/3] ixgbe: Add new ndo to > > > trust VF > > > > > > > [big snip] > > > > > I think your concerns are related to some operational assumptions. > > > My basic concept is, not to change the behavior of VM, existing user > > > operation. > > > I mean that I didn't think it's better that the user should check the > > > both of the ixgbevf driver can deal with new API and the VF is trusted. > > > > > > Now, I think the point is who takes care whether the VF is trusted. Right? > > > It seems that you think the VF user should handle that user is trusted > > > and do something with a notice that "you're trusted or untrusted" from > > > the host. > > > Is that correct? > > > I made it in PF side, because it looks easy to handle it. If something > > > to do in VF side, I think ixgbevf driver should handle it. > > > > Setting the VF trusted mode feature should only be allowed through the PF > > as it is the only trusted entity from the start. We do not want the VF being > > able to decide for itself to be trusted. > > > > - Greg > > > > I completely agree with Greg and never meant to imply anything else. > > The PF should be where a given VF is made "trusted". Likewise a VF can get promoted to MC Promiscuous buy requesting > over 30 MC groups. I like this and your patch currently does this. So for example below: > > PF VF > ---------- ----------- > Set given VF as trusted > Request 30+ MC groups via Mail Box > Put PF in MC Promiscuous mode > > > What I am concerned about is the following flow where we seem to store the fact the VF requests more than 30+ MC groups > so that we can automatically enter MC Promisc Mode if that VF is ever made trusted. > > PF VF > ----------- ---------- > Currently VF is NOT trusted > Request 30+ MC groups via Mail Box > Do NOT put PF in MC Promisc > (hw->mac.mc_promisc = true) > > < Some time later > > > Set given VF as trusted > (because mc_promisc set) Put PF in MC Promisc > > > I don't like the fact that the PF remembers that the VF was denied MC Promiscuous mode in the past. And because of that > automatically put the VF in MC Promiscuous mode when it becomes trusted. Maybe showing in code what I would like removed/added > would be more helpful, probably should have started doing that. :) Do you mean that VF should care about it is trusted or not? Should VF request MC Promisc again when it's trusted? Or, do you mean VF never be trusted during its (or VM's) lifetime? And what do you think about being untrusted from trusted state? > > I would remove this bit of code from ixgbe_ndo_set_vf_trust(): > > int ixgbe_ndo_set_vf_trust(struct net_device *netdev, int vf, bool > setting) { > struct ixgbe_adapter *adapter = netdev_priv(netdev); > > if (vf >= adapter->num_vfs) > return -EINVAL; > > /* nothing to do */ > if (adapter->vfinfo[vf].trusted == setting) > return 0; > > adapter->vfinfo[vf].trusted = setting; > > - /* Reconfigure features which are only allowed for trusted VF */ > - /* VF multicast promiscuous mode */ > - if (adapter->vfinfo[vf].mc_promisc) > - ixgbe_enable_vf_mc_promisc(adapter, vf); I understand, you don't think we need to have a capability to enable/disable MC Promisc on the fly. > > return 0; > } > > This of course would be we should not set mc_promisc ever if we are NOT trusted (adapter->vfinfo[vf].trusted) so in > ixgbe_set_vf_mc_promisc() I would add or something like it: > > static int ixgbe_set_vf_mc_promisc(struct ixgbe_adapter *adapter, > u32 *msgbuf, u32 vf) > { > bool enable = !!msgbuf[1]; /* msgbuf contains the flag to enable */ > > switch (adapter->vfinfo[vf].vf_api) { > case ixgbe_mbox_api_12: > break; > default: > return -1; > } > > + /* have to be trusted */ > + If (!adapter->vfinfo[vf].trusted) > + Return 0; Should we return an error to VF to inform it isn't trusted? > + > /* nothing to do */ > if (adapter->vfinfo[vf].mc_promisc == enable) > return 0; > > adapter->vfinfo[vf].mc_promisc = enable; > > if (enable) > return ixgbe_enable_vf_mc_promisc(adapter, vf); > else > return ixgbe_disable_vf_mc_promisc(adapter, vf); } > > > Does this better explain what my concern is? yes, I see, but I would like to clarify the above things. thanks, Hiroshi