From: "Keller, Jacob E" <firstname.lastname@example.org> To: "Keller, Jacob E" <email@example.com>, Jakub Kicinski <firstname.lastname@example.org>, Jiri Pirko <email@example.com> Cc: "firstname.lastname@example.org" <email@example.com> Subject: RE: [net-next 0/4] devlink: add dry run support for flash update Date: Mon, 11 Oct 2021 23:21:51 +0000 [thread overview] Message-ID: <CO1PR11MB50898047B9C0FAA520505AFDD6B59@CO1PR11MB5089.namprd11.prod.outlook.com> (raw) In-Reply-To: <CO1PR11MB5089CD14E6293B8024202726D6B59@CO1PR11MB5089.namprd11.prod.outlook.com> > -----Original Message----- > From: Keller, Jacob E <firstname.lastname@example.org> > Sent: Monday, October 11, 2021 1:22 AM > To: Jakub Kicinski <email@example.com>; Jiri Pirko <firstname.lastname@example.org> > Cc: email@example.com > Subject: RE: [net-next 0/4] devlink: add dry run support for flash update > > > -----Original Message----- > > From: Jakub Kicinski <firstname.lastname@example.org> > > Sent: Friday, October 08, 2021 11:22 AM > > To: Jiri Pirko <email@example.com> > > Cc: Keller, Jacob E <firstname.lastname@example.org>; email@example.com > > Subject: Re: [net-next 0/4] devlink: add dry run support for flash update > > > > On Fri, 8 Oct 2021 14:37:37 +0200 Jiri Pirko wrote: > > > Fri, Oct 08, 2021 at 12:41:11PM CEST, firstname.lastname@example.org wrote: > > > >This is an implementation of a previous idea I had discussed on the list at > > > > > >https://email@example.com > > m/ > > > > > > > >The idea is to allow user space to query whether a given destructive devlink > > > >command would work without actually performing any actions. This is > > commonly > > > >referred to as a "dry run", and is intended to give tools and system > > > >administrators the ability to test things like flash image validity, or > > > >whether a given option is valid without having to risk performing the update > > > >when not sufficiently ready. > > > > > > > >The intention is that all "destructive" commands can be updated to support > > > >the new DEVLINK_ATTR_DRY_RUN, although this series only implements it > for > > > >flash update. > > > > > > > >I expect we would want to support this for commands such as reload as well > > > >as other commands which perform some action with no interface to check > > state > > > >before hand. > > > > > > > >I tried to implement the DRY_RUN checks along with useful extended ACK > > > >messages so that even if a driver does not support DRY_RUN, some useful > > > >information can be retrieved. (i.e. the stack indicates that flash update is > > > >supported and will validate the other attributes first before rejecting the > > > >command due to inability to fully validate the run within the driver). > > > > > > Hmm, old kernel vs. new-userspace, the requested dry-run, won't be > > > really dry run. I guess that user might be surprised in that case... > > > > Would it be enough to do a policy dump in user space to check attr is > > recognized and add a warning that this is required next to the attr > > in the uAPI header? > > I'd be more in favor of converting either this specific op (or devlink as a whole) to > strict checking. I think that most of the devlink commands and ops would > function better if unknown behaviors were rejected rather than ignored. > > If we prefer to avoid that due to historically not being strict, I'm ok with a > userspace check. It does complicate the userspace a bit more, but I agree that > especially for dry_run we don't want it accidentally updating when a dry run was > expected. > > There is some maintenance cost to switching to strict checking but I think it's > pretty minimal because the strict checking simply prevents the unknown > attributes from being ignored. > > I'm happy to go either direction if we get consensus on this thread though. > > Thanks, > Jake The ice changes in this patch conflict with similar work that I posted on IWL to cleanup some things for devlink reload support, so I'll probably wait to re-submit this until those changes make it through IWL and onto the list proper. Thanks, Jake
next prev parent reply other threads:[~2021-10-11 23:21 UTC|newest] Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-10-08 10:41 Jacob Keller 2021-10-08 10:41 ` [net-next 1/4] ice: move and rename ice_check_for_pending_update Jacob Keller 2021-10-08 10:41 ` [net-next 2/4] ice: move ice_devlink_flash_update and merge with ice_flash_pldm_image Jacob Keller 2021-10-08 10:41 ` [net-next 3/4] devlink: add dry run attribute to flash update Jacob Keller 2021-10-08 10:41 ` [net-next 4/4] ice: support dry run of a flash update to validate firmware file Jacob Keller 2021-10-08 12:37 ` [net-next 0/4] devlink: add dry run support for flash update Jiri Pirko 2021-10-08 18:21 ` Jakub Kicinski 2021-10-08 21:43 ` Keller, Jacob E 2021-10-08 22:35 ` Jakub Kicinski 2021-10-08 23:58 ` Keller, Jacob E 2021-10-09 0:17 ` Jakub Kicinski 2021-10-09 0:32 ` Keller, Jacob E 2021-10-09 1:29 ` Jakub Kicinski 2022-04-25 23:05 ` Jacob Keller 2021-10-11 8:21 ` Keller, Jacob E 2021-10-11 23:21 ` Keller, Jacob E [this message] 2021-10-08 21:42 ` Keller, Jacob E
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CO1PR11MB50898047B9C0FAA520505AFDD6B59@CO1PR11MB5089.namprd11.prod.outlook.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --subject='RE: [net-next 0/4] devlink: add dry run support for flash update' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.