lpfc_check_encryption(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– lpfc_check_encryption(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual entry for lpfc_check_encryption β€” yes the (9) is part of the name, that's just how kernel docs roll, iykyk πŸŽ€


✨ NAME ✨

lpfc_check_encryption β€” literally just reports an ndlp's encryption info πŸ“‹βœ¨


🌸 SYNOPSIS 🌸

void lpfc_check_encryption (struct lpfc_hba *phba , struct lpfc_nodelist
*ndlp , struct lpfc_iocbq *cmdiocb , struct lpfc_iocbq *rspiocb );

like, it returns nothing (void) and takes four pointers. that's the whole vibe check πŸ’…


πŸ¦‹ ARGUMENTS πŸ¦‹

  • phba β€” pointer to the lpfc hba data structure. the main character of the HBA world πŸ‘‘
  • ndlp β€” pointer to a node-list data structure. your node bestie 🫢
  • cmdiocb β€” pointer to the lpfc command iocbq data structure. the outgoing one, going out first πŸ”₯
  • rspiocb β€” pointer to the lpfc response iocbq data structure. the one that comes back at you 😭

⭐ DESCRIPTION ⭐

so this routine gets called in the completion callback function for issuing or receiving a Port Login (PLOGI) command. both directions, no cap.

in a PLOGI completion, if FEDIF is supported, the encryption information will be provided in the completion status data. iconic.

and if phba supports FEDIF, a log message containing that encryption information gets logged. πŸ“

the encryption status is also saved for encryption reporting with the upper layer, through the rport encryption attribute. so it's double duty, she does it all πŸ’…βœ¨


🧚 SEE ALSO 🧚

the kernel file ./drivers/scsi/lpfc/lpfc_els.c and honestly the entire extended family β€” like, this is the group chat, everybody's here:

lpfc_els_chk_latt(9)
lpfc_prep_els_iocb(9)
lpfc_issue_fabric_reglogin(9)
lpfc_issue_reg_vfi(9)
lpfc_issue_unreg_vfi(9)
lpfc_check_clean_addr_bit(9)
lpfc_cmpl_els_flogi_fabric(9)
lpfc_cmpl_els_flogi_nport(9)
lpfc_cmpl_els_flogi(9)
lpfc_cmpl_els_link_down(9)
lpfc_issue_els_flogi(9)
lpfc_els_abort_flogi(9)
lpfc_initial_flogi(9)
lpfc_initial_fdisc(9)
lpfc_more_plogi(9)
lpfc_plogi_confirm_nport(9)
lpfc_end_rscn(9)
lpfc_cmpl_els_rrq(9)
lpfc_cmpl_els_plogi(9)
lpfc_issue_els_plogi(9)
lpfc_cmpl_els_prli(9)
lpfc_issue_els_prli(9)
lpfc_rscn_disc(9)
lpfc_adisc_done(9)
lpfc_more_adisc(9)
lpfc_cmpl_els_adisc(9)
lpfc_issue_els_adisc(9)
lpfc_cmpl_els_logo(9)
lpfc_issue_els_logo(9)
lpfc_cmpl_els_cmd(9)
lpfc_reg_fab_ctrl_node(9)
lpfc_cmpl_els_disc_cmd(9)
lpfc_issue_els_scr(9)
lpfc_issue_els_rscn(9)
lpfc_issue_els_farpr(9)
lpfc_issue_els_rdf(9)
lpfc_least_capable_settings(9)
lpfc_cmpl_els_edc(9)
lpfc_cancel_retry_delay_tmo(9)
lpfc_els_retry_delay(9)
lpfc_els_retry_delay_handler(9)
lpfc_link_reset(9)
lpfc_els_retry(9)
lpfc_els_free_data(9)
lpfc_els_free_bpl(9)
lpfc_els_free_iocb(9)
lpfc_cmpl_els_logo_acc(9)
lpfc_mbx_cmpl_dflt_rpi(9)
lpfc_cmpl_els_rsp(9)
lpfc_els_rsp_acc(9)
lpfc_els_rsp_reject(9)
lpfc_els_rsp_adisc_acc(9)
lpfc_els_rsp_prli_acc(9)
lpfc_els_rsp_rnid_acc(9)
lpfc_els_clear_rrq(9)
lpfc_els_rsp_echo_acc(9)
lpfc_els_disc_adisc(9)
lpfc_els_disc_plogi(9)
lpfc_els_rcv_lcb(9)
lpfc_els_flush_rscn(9)
lpfc_rscn_payload_check(9)
lpfc_rscn_recovery_check(9)
lpfc_send_rscn_event(9)
lpfc_els_rcv_rscn(9)
lpfc_els_handle_rscn(9)
lpfc_els_rcv_flogi(9)
lpfc_els_rcv_rnid(9)
lpfc_els_rcv_echo(9)
lpfc_els_rcv_lirr(9)
lpfc_els_rcv_rrq(9)
lpfc_els_rsp_rls_acc(9)
lpfc_els_rcv_rls(9)
lpfc_els_rcv_rtv(9)
lpfc_send_rrq(9)
lpfc_els_rsp_rpl_acc(9)
lpfc_els_rcv_rpl(9)
lpfc_els_rcv_farp(9)
lpfc_els_rcv_farpr(9)
lpfc_els_rcv_fan(9)
lpfc_els_rcv_edc(9)
lpfc_els_timeout(9)
lpfc_els_timeout_handler(9)
lpfc_els_flush_cmd(9)
lpfc_els_flush_all_cmd(9)
lpfc_send_els_failure_event(9)
lpfc_send_els_event(9)
lpfc_display_fpin_wwpn(9)
lpfc_els_rcv_fpin_li(9)
lpfc_els_rcv_fpin_del(9)
lpfc_els_rcv_fpin_peer_cgn(9)
lpfc_els_rcv_fpin_cgn(9)
lpfc_els_unsol_buffer(9)
lpfc_els_unsol_event(9)
lpfc_do_scr_ns_plogi(9)
lpfc_cmpl_reg_new_vport(9)
lpfc_register_new_vport(9)
lpfc_cancel_all_vport_retry_delay_timer(9)
lpfc_retry_pport_discovery(9)
lpfc_fabric_login_reqd(9)
lpfc_cmpl_els_fdisc(9)
lpfc_issue_els_fdisc(9)
lpfc_cmpl_els_npiv_logo(9)
lpfc_issue_els_npiv_logo(9)
lpfc_fabric_block_timeout(9)
lpfc_resume_fabric_iocbs(9)
lpfc_unblock_fabric_iocbs(9)
lpfc_block_fabric_iocbs(9)
lpfc_cmpl_fabric_iocb(9)
lpfc_issue_fabric_iocb(9)
lpfc_fabric_abort_vport(9)
lpfc_fabric_abort_nport(9)
lpfc_fabric_abort_hba(9)
lpfc_sli4_vport_delete_els_xri_aborted(9)
lpfc_sli4_els_xri_aborted(9)

that's the whole roster, no skips, we don't do skipped reads here πŸ™ˆ


ngl if you came here looking for encryption options to breathe on β€” there aren't any flags, bestie. it's just a function. the encryption info comes from the PLOGI completion when FEDIF is in the picture. periodt. πŸ’€

okay that's the page!! love u, go read the rest of the ELS saga 🌈

signing off from ./drivers/scsi/lpfc β€” October 2026, lpfc_check_encryption(9), mwah πŸ˜˜πŸ«ΆπŸŽ€

πŸ“¦ where this page comes from