lpfc_sli4_perform_vport_cvl(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

lpfc_sli4_perform_vport_cvl β€” bestie, this one performs clear virtual link on a vport. That's the whole vibe. It's a kernel API manual page, and yes we're reading it together, hold my hand 🫢


✨ SYNOPSIS ✨

struct lpfc_nodelist * lpfc_sli4_perform_vport_cvl (struct lpfc_vport
*vport );

No cap, that's the whole signature. It hands you back a struct lpfc_nodelist * β€” remember that, it matters later πŸ‘€


πŸŽ€ ARGUMENTS πŸŽ€

  • vport β€” pointer to vport data structure. That's it. One (1) argument, and it's a pointer to the vport data structure. Iconic minimalism honestly πŸ’…

🌸 DESCRIPTION 🌸

Okay so here's the tea β˜• β€” this routine exists to perform Clear Virtual Link (CVL) on a vport, and it does it in response to a CVL event. Like, an event happens, and this function is the one that shows up to handle it. Main character energy fr fr ✨

And the return situation? Listen carefully because this is the part people mess up:

If it works, you get back the pointer to the ndlp with the vport. If it doesn't work, you get NULL. That's the whole deal β€” success = pointer, failure = NULL, no in-between, no "maybe", no vibes-based third option 😭

πŸ¦‹ SEE ALSO πŸ¦‹

Bestie. Sit down. She has friends. This is the part where I list every single one of them, because the kernel file is ./drivers/scsi/lpfc/lpfc_init.c and it's a whole extended universe 🌈

lpfc_config_port_prep(9), lpfc_config_async_cmpl(9), lpfc_dump_wakeup_param_cmpl(9), lpfc_update_vport_wwn(9), lpfc_config_port_post(9), lpfc_sli4_refresh_params(9), lpfc_hba_init_link(9), lpfc_hba_init_link_fc_topology(9), lpfc_hba_down_link(9), lpfc_hba_down_prep(9), lpfc_sli4_free_sp_events(9), lpfc_hba_free_post_buf(9), lpfc_hba_clean_txcmplq(9), lpfc_hba_down_post_s3(9), lpfc_hba_down_post_s4(9), lpfc_hba_down_post(9), lpfc_hb_timeout(9), lpfc_rrq_timeout(9), lpfc_hb_mbox_cmpl(9), lpfc_hb_mxp_handler(9), lpfc_issue_hb_mbox(9), lpfc_issue_hb_tmo(9), lpfc_hb_timeout_handler(9), lpfc_offline_eratt(9), lpfc_sli4_offline_eratt(9), lpfc_handle_deferred_eratt(9), lpfc_handle_eratt_s3(9), lpfc_sli4_port_sta_fn_reset(9), lpfc_handle_eratt_s4(9), lpfc_handle_eratt(9), lpfc_handle_latt(9), lpfc_parse_vpd(9), lpfc_get_atto_model_desc(9), lpfc_get_hba_model_desc(9), lpfc_sli3_post_buffer(9), lpfc_post_rcv_buf(9), lpfc_sha_init(9), lpfc_sha_iterate(9), lpfc_challenge_key(9), lpfc_hba_init(9), lpfc_cleanup(9), lpfc_stop_vport_timers(9), __lpfc_sli4_stop_fcf_redisc_wait_timer(9), lpfc_sli4_stop_fcf_redisc_wait_timer(9), lpfc_cmf_stop(9), lpfc_cmf_start(9), lpfc_stop_hba_timers(9), lpfc_block_mgmt_io(9), lpfc_sli4_node_rpi_restore(9), lpfc_create_expedite_pool(9), lpfc_destroy_expedite_pool(9), lpfc_create_multixri_pools(9), lpfc_destroy_multixri_pools(9), lpfc_online(9), lpfc_unblock_mgmt_io(9), lpfc_offline_prep(9), lpfc_offline(9), lpfc_scsi_free(9), lpfc_io_free(9), lpfc_sli4_els_sgl_update(9), lpfc_sli4_nvmet_sgl_update(9), lpfc_sli4_io_sgl_update(9), lpfc_new_io_buf(9), lpfc_vmid_res_alloc(9), lpfc_create_port(9), destroy_port(9), lpfc_get_instance(9), lpfc_scan_finished(9), lpfc_host_attrib_init(9), lpfc_stop_port_s3(9), lpfc_stop_port_s4(9), lpfc_stop_port(9), lpfc_fcf_redisc_wait_start_timer(9), lpfc_sli4_fcf_redisc_wait_tmo(9), lpfc_vmid_poll(9), lpfc_sli4_parse_latt_fault(9), lpfc_sli4_parse_latt_type(9), lpfc_sli_port_speed_get(9), lpfc_sli4_port_speed_parse(9), lpfc_sli4_async_link_evt(9), lpfc_async_link_speed_to_read_top(9), lpfc_cgn_update_stat(9), lpfc_cgn_update_tstamp(9), lpfc_cmf_stats_timer(9), lpfc_calc_cmf_latency(9), lpfc_cmf_timer(9), lpfc_sli4_async_fc_evt(9), lpfc_sli4_async_sli_evt(9), lpfc_sli4_perform_all_vport_cvl(9), lpfc_sli4_async_fip_evt(9), lpfc_sli4_async_dcbx_evt(9), lpfc_sli4_async_grp5_evt(9), lpfc_sli4_async_cmstat_evt(9), lpfc_cgn_params_val(9), lpfc_cgn_params_parse(9), lpfc_sli4_cgn_params_read(9), lpfc_sli4_cgn_parm_chg_evt(9), lpfc_sli4_async_event_proc(9), lpfc_sli4_fcf_redisc_event_proc(9), lpfc_api_table_setup(9), lpfc_log_intr_mode(9), lpfc_enable_pci_dev(9), lpfc_disable_pci_dev(9), lpfc_reset_hba(9), lpfc_sli_sriov_nr_virtfn_get(9), lpfc_sli_probe_sriov_nr_virtfn(9), lpfc_setup_driver_resource_phase1(9), lpfc_sli_driver_resource_setup(9), lpfc_sli_driver_resource_unset(9), lpfc_sli4_driver_resource_setup(9), lpfc_sli4_driver_resource_unset(9), lpfc_init_api_table_setup(9), lpfc_setup_driver_resource_phase2(9), lpfc_unset_driver_resource_phase2(9), lpfc_free_iocb_list(9), lpfc_init_iocb_list(9), lpfc_free_sgl_list(9), lpfc_free_els_sgl_list(9), lpfc_free_nvmet_sgl_list(9), lpfc_init_active_sgl_array(9), lpfc_free_active_sgl(9), lpfc_init_sgl_list(9), lpfc_sli4_init_rpi_hdrs(9), lpfc_sli4_create_rpi_hdr(9), lpfc_sli4_remove_rpi_hdrs(9), lpfc_hba_alloc(9), lpfc_hba_free(9), lpfc_setup_fdmi_mask(9), lpfc_create_shost(9), lpfc_destroy_shost(9), lpfc_setup_bg(9), lpfc_post_init_setup(9), lpfc_sli_pci_mem_setup(9), lpfc_sli_pci_mem_unset(9), lpfc_sli4_post_status_check(9), lpfc_sli4_bar0_register_memmap(9), lpfc_sli4_bar1_register_memmap(9), lpfc_sli4_bar2_register_memmap(9), lpfc_create_bootstrap_mbox(9), lpfc_destroy_bootstrap_mbox(9), lpfc_map_topology(9), lpfc_sli4_read_config(9), lpfc_setup_endian_order(9), lpfc_sli4_queue_verify(9), lpfc_sli4_queue_create(9), lpfc_sli4_queue_destroy(9), lpfc_setup_cq_lookup(9), lpfc_sli4_queue_setup(9), lpfc_sli4_queue_unset(9), lpfc_sli4_cq_event_pool_create(9), lpfc_sli4_cq_event_pool_destroy(9), __lpfc_sli4_cq_event_alloc(9), lpfc_sli4_cq_event_alloc(9), __lpfc_sli4_cq_event_release(9), lpfc_sli4_cq_event_release(9), lpfc_sli4_cq_event_release_all(9), lpfc_pci_function_reset(9), lpfc_sli4_pci_mem_setup(9), lpfc_sli4_pci_mem_unset(9), lpfc_sli_enable_msix(9), lpfc_sli_enable_msi(9), lpfc_sli_enable_intr(9), lpfc_sli_disable_intr(9), lpfc_find_cpu_handle(9), lpfc_find_hyper(9), lpfc_cpu_map_array_init(9), lpfc_hba_eq_hdl_array_init(9), lpfc_cpu_affinity_check(9), lpfc_cpuhp_get_eq(9), lpfc_irq_set_aff(9), lpfc_irq_clear_aff(9), lpfc_irq_rebalance(9), lpfc_sli4_enable_msix(9), lpfc_sli4_enable_msi(9), lpfc_sli4_enable_intr(9), lpfc_sli4_disable_intr(9), lpfc_unset_hba(9), lpfc_sli4_xri_exchange_busy_wait(9), lpfc_sli4_hba_unset(9), __lpfc_reg_congestion_buf(9), lpfc_get_sli4_parameters(9), lpfc_pci_probe_one_s3(9), lpfc_pci_remove_one_s3(9), lpfc_pci_suspend_one_s3(9), lpfc_pci_resume_one_s3(9), lpfc_sli_prep_dev_for_recover(9), lpfc_sli_prep_dev_for_reset(9), lpfc_sli_prep_dev_for_perm_failure(9), lpfc_io_error_detected_s3(9), lpfc_io_slot_reset_s3(9), lpfc_io_resume_s3(9), lpfc_sli4_get_els_iocb_cnt(9), lpfc_sli4_get_iocb_cnt(9), lpfc_write_firmware(9), lpfc_sli4_request_firmware_update(9), lpfc_pci_probe_one_s4(9), lpfc_pci_remove_one_s4(9), lpfc_pci_suspend_one_s4(9), lpfc_pci_resume_one_s4(9), lpfc_sli4_prep_dev_for_recover(9), lpfc_sli4_prep_dev_for_reset(9), lpfc_sli4_prep_dev_for_perm_failure(9), lpfc_io_error_detected_s4(9), lpfc_io_slot_reset_s4(9), lpfc_io_resume_s4(9), lpfc_pci_probe_one(9), lpfc_pci_remove_one(9), lpfc_pci_suspend_one(9), lpfc_pci_resume_one(9), lpfc_io_error_detected(9), lpfc_io_slot_reset(9), lpfc_io_resume(9), lpfc_sli4_oas_verify(9), lpfc_sli4_ras_init(9), lpfc_init(9), lpfc_exit(9).

Yeah. She knows everybody πŸ’€πŸ‘‘


Okay that's the whole page, you ate that up fr fr πŸ“ Signing off from ./drivers/scsi/lpfc, dated October 2026 β€” same energy as the manual for lpfc_sli4_perform_vport_cvl(9), because that's literally what you just read. Byeee, go clear a virtual link responsibly πŸ§šβ€β™€οΈπŸ’œ

πŸ“¦ where this page comes from