lpfc_npiv_info_show(9)
β¨ lpfc_npiv_info_show(9) β the kernel-api-manual glow-up β¨
okay bestie, so this is literally from the Kernel API Manual and it's giving "niche sysfs show function that ate and left no crumbs." let's get into it π
π NAME π
lpfc_npiv_info_show β return text about NPIV support for the adapter. that's it, that's the vibe. no cap.
πΈ SYNOPSIS πΈ
ssize_t lpfc_npiv_info_show (struct device *dev , struct
device_attribute *attr , char *buf );
like, it takes three things and gives you back a ssize_t. iconic behavior honestly.
π¦ ARGUMENTS π¦
devβ the class device that's lowkey getting converted into aScsi_host. main character energy fr fr.attrβ device attribute. not used. she's just there for moral support, we respect her π«Άbufβ the text that must be interpreted to figure out if npiv is supported. this is the whole assignment, the moment, the reason we're all here.
π DESCRIPTION π
so the buf is gonna contain text, and that text is telling you one (1) of three things:
- npiv is not suppoerted on the port β yes the original says "suppoerted", I'm not fixing it, I'm not touching it, I'm keeping it exactly as written, it's character π
- the port is an NPIV physical port
- or it's an npiv virtual port with the id of the vport β¨
that's the whole tea. three possibilities. she's not complicated, she's just particular.
π₯ RETURN π₯
size of formatted string. literally just the size. slay. π
π SEE ALSO π
okay so buckle up because this list is LONG and I'm not skipping a single one of these, the way that kernel documentation does not do brevity and honestly? obsessed. π
first, the kernel file reference that started it all:
Kernel file ./drivers/scsi/lpfc/lpfc_attr.c
and now, everyone else who lives on this block, no cap:
lpfc_jedec_to_ascii(9), lpfc_drvr_version_show(9), lpfc_enable_fip_show(9), lpfc_info_show(9), lpfc_serialnum_show(9), lpfc_temp_sensor_show(9), lpfc_modeldesc_show(9), lpfc_modelname_show(9), lpfc_programtype_show(9), lpfc_vportnum_show(9), lpfc_fwrev_show(9), lpfc_hdw_show(9), lpfc_option_rom_version_show(9), lpfc_link_state_show(9), lpfc_sli4_protocol_show(9), lpfc_oas_supported_show(9), lpfc_link_state_store(9), lpfc_num_discovered_ports_show(9), lpfc_issue_lip(9), lpfc_do_offline(9), lpfc_reset_pci_bus(9), lpfc_selective_reset(9), lpfc_issue_reset(9), lpfc_sli4_pdev_status_reg_wait(9), lpfc_sli4_pdev_reg_request(9), lpfc_nport_evt_cnt_show(9), lpfc_board_mode_show(9), lpfc_board_mode_store(9), lpfc_get_hba_info(9), lpfc_max_rpi_show(9), lpfc_used_rpi_show(9), lpfc_max_xri_show(9), lpfc_used_xri_show(9), lpfc_max_vpi_show(9), lpfc_used_vpi_show(9), lpfc_poll_show(9), lpfc_poll_store(9), lpfc_sriov_hw_max_virtfn_show(9), lpfc_enable_bbcr_set(9), lpfc_wwn_set(9), lpfc_oas_tgt_show(9), lpfc_oas_tgt_store(9), lpfc_oas_priority_show(9), lpfc_oas_priority_store(9), lpfc_oas_vpt_show(9), lpfc_oas_vpt_store(9), lpfc_oas_lun_state_show(9), lpfc_oas_lun_state_store(9), lpfc_oas_lun_status_show(9), lpfc_oas_lun_state_set(9), lpfc_oas_lun_get_next(9), lpfc_oas_lun_state_change(9), lpfc_oas_lun_show(9), lpfc_oas_lun_store(9), lpfc_nodev_tmo_show(9), lpfc_nodev_tmo_init(9), lpfc_update_rport_devloss_tmo(9), lpfc_nodev_tmo_set(9), lpfc_devloss_tmo_set(9), lpfc_tgt_queue_depth_set(9), lpfc_restrict_login_init(9), lpfc_restrict_login_set(9), lpfc_topology_store(9), lpfc_static_vport_show(9), lpfc_link_speed_store(9), lpfc_link_speed_init(9), lpfc_aer_support_store(9), lpfc_aer_cleanup_state(9), lpfc_sriov_nr_virtfn_store(9), lpfc_request_firmware_upgrade_store(9), lpfc_request_firmware_upgrade_init(9), lpfc_force_rscn_store(9), lpfc_force_rscn_init(9), lpfc_fcp_imax_store(9), lpfc_fcp_imax_init(9), lpfc_cq_max_proc_limit_store(9), lpfc_cq_max_proc_limit_init(9), lpfc_fcp_cpu_map_show(9), lpfc_fcp_cpu_map_store(9), lpfc_fcp_cpu_map_init(9), lpfc_cpumask_irq_mode_init(9), lpfc_irq_chann_show(9), lpfc_sg_seg_cnt_show(9), lpfc_sg_seg_cnt_init(9), sysfs_ctlreg_write(9), sysfs_ctlreg_read(9), sysfs_mbox_write(9), sysfs_mbox_read(9), lpfc_alloc_sysfs_attr(9), lpfc_free_sysfs_attr(9), lpfc_get_host_symbolic_name(9), lpfc_get_host_port_id(9), lpfc_get_host_port_type(9), lpfc_get_host_port_state(9), lpfc_get_host_speed(9), lpfc_get_host_fabric_name(9), lpfc_get_stats(9), lpfc_reset_stats(9), lpfc_get_enc_info(9), lpfc_get_node_by_target(9), lpfc_get_starget_port_id(9), lpfc_get_starget_node_name(9), lpfc_get_starget_port_name(9), lpfc_set_rport_loss_tmo(9), lpfc_set_vport_symbolic_name(9), lpfc_hba_log_verbose_init(9), lpfc_get_hba_function_mode(9), lpfc_get_cfgparam(9), lpfc_nvme_mod_param_dep(9), lpfc_get_vport_cfgparam(9)
like I said. LONG. but every single one is here because we don't gatekeep and we don't skip entries. periodt. πβ¨
lowkey a reminder bestie: this is all about thelpfcdriver's sysfs attribute machinery. thebufoutput is the whole point β interpret it right or you're not getting the npiv tea. π
and that's the whole page, bestie! π§ this came straight out of ./drivers/scsi/lpfc and it's dated October 2026 β fr fr, put it in your calendar, the kernel docs said so. πππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms