Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nvmf fixes #1989

Merged
merged 13 commits into from
Sep 30, 2022
Merged

Nvmf fixes #1989

merged 13 commits into from
Sep 30, 2022

Conversation

mwilck
Copy link
Contributor

@mwilck mwilck commented Sep 27, 2022

A series of minor (but important) changes for NVMeoF boot. Re-spin of the previous PR.

Changes

Antonio Alvarez Feijoo (1):
fix(nvmf): nvme list-subsys prints the address using commas as separator

Martin Wilck (12):
fix(nvmf): don't try to validate network connections in cmdline hook
fix(nvmf): no need to load the nvme module
fix(nvmf): don't create did-setup file
fix(nvmf): don't use "finished" queue for autoconnect
fix(nvmf): make sure "rd.nvmf.discover=fc,auto" takes precedence
fix(nvmf): avoid calling "exit" in a cmdline hook
fix(nvmf): run cmdline hook before parse-ip-opts.sh
fix(network): don't use same ifname multiple times
fix(man): dracut.cmdline(7): correct syntax for rd.nonvmf
feat(nvmf): set rd.neednet=1 if tcp records encountered
fix(network): avoid double brackets around IPv6 address
fix(man): dracut.cmdline.7: clarify "rd.nvmf.discover=fc,auto"

Checklist

  • I have tested it locally
  • I have reviewed and updated any documentation if relevant
  • I am providing new code and test(s) for it

aafeijoo-suse and others added 13 commits September 27, 2022 08:50
nvme-cli 1.x printed the address using spaces as separator, but nvme-cli 2.x
prints the address using commas as separator (exact output from sysfs). E.g.,
output from `cat /sys/class/nvme/nvme0/address`:

traddr=nn-0x201700a09890f5bf:pn-0x201900a09890f5bf,host_traddr=nn-0x200000109b579ef5:pn-0x100000109b579ef5

Also, I suppress rd.nvmf.discover= cmdline option if all fields are empty.
The cmdline hook runs before any network interfaces have been brought
up. There's no point in trying to validate the connections at this
stage.
The module "nvme" is not required for NVMeoF.
did-setup files are meant to indicate that an interface setup
was successful. Don't do it here.
The "finished" initqueue is for testing if everything is alright,
not for triggering any actions.
The command line may contain several rd.nvmf.discover options.
The "fc,auto" option should take precedence.
"exit" should never be executed in dracut hooks, because the
hooks are sourced by the main script.
This way we can set "rd.neednet" and have it seen by parse-ip-options.sh
If multiple ibft interfaces exist, set_ifname() may reuse the same
name (usually "ibft0"), because it's usually called cmdline time,
when no interfaces exist in sysfs yet. Remember the number used
set and don't use it again.
rd.nonvmf=0 is a double negation, and wrong. Fix it.
This is currently always the case for NBFT records.
We can do this now, as we run before parse-ip-options.sh
This code would add brackets twice. Fix it.
@github-actions github-actions bot added modules Issue tracker for all modules network Issues related to the network module nvmf Issues related to the nvmf module labels Sep 27, 2022
@mwilck
Copy link
Contributor Author

mwilck commented Sep 27, 2022

@aafeijoo-suse for information

Copy link
Collaborator

@johannbg johannbg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@johannbg johannbg merged commit a90efdd into dracutdevs:master Sep 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
modules Issue tracker for all modules network Issues related to the network module nvmf Issues related to the nvmf module
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants