STRUCT QED_FCOE_OPS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct qed_fcoe_ops(9) β€” the Kernel API Manual, bestie edition πŸ’…

okay so this is a page from the Kernel API Manual and it's all about struct qed_fcoe_ops β€” literally the FCoE operations table for qed. it's giving "here's your function-pointer lineup, don't lose it" πŸŽ€


✨ NAME ✨

struct qed_fcoe_ops β€” qed FCoE operations. that's it, that's the whole vibe. πŸ¦‹


🌸 SYNOPSIS 🌸

struct qed_fcoe_ops {
    const struct qed_common_ops *common;
    int (*fill_dev_info)(struct qed_dev *cdev, struct qed_dev_fcoe_info *info);
    void (*register_ops)(struct qed_dev *cdev, struct qed_fcoe_cb_ops *ops, void *cookie);
    const struct qed_ll2_ops *ll2;
    int (*start)(struct qed_dev *cdev, struct qed_fcoe_tid *tasks);
    int (*stop)(struct qed_dev *cdev);
    int (*acquire_conn)(struct qed_dev *cdev, u32 *handle, u32 *fw_cid, void __iomem **p_doorbell);
    int (*release_conn)(struct qed_dev *cdev, u32 handle);
    int (*offload_conn)(struct qed_dev *cdev, u32 handle, struct qed_fcoe_params_offload *conn_info);
    int (*destroy_conn)(struct qed_dev *cdev, u32 handle, dma_addr_t terminate_params);
    int (*get_stats)(struct qed_dev *cdev, struct qed_fcoe_stats *stats);
 };

no cap, that's the whole struct. eleven members, all iconic, all doing their little job πŸ‘‘


🫢 MEMBERS 🫢

let's go member by member, bestie, don't skip a single one πŸ’–

  • common β€” the common operations pointer. lowkey the backbone, y'know?
  • fill_dev_info β€” fills in the FCoE-specific information.
    • param cdev
    • param info
    • return 0 on success, otherwise an error value. slay or fail, no in between ✨
  • register_ops β€” registers the FCoE operations.
    • param cdev
    • param ops β€” specified using qed_iscsi_cb_ops (yes, iscsi, that's literally what the manpage says, we don't ask questions πŸ™ˆ)
    • param cookie β€” driver private
  • ll2 β€” light L2 operations pointer. light L2, heavy vibes πŸ”₯
  • start β€” starts fcoe in FW.
    • param cdev
    • param tasks β€” qed will fill in information about the tasks
    • return 0 on success, otherwise an error value.
  • stop β€” stops fcoe in FW.
    • param cdev
    • return 0 on success, otherwise an error value.
  • acquire_conn β€” acquires a new fcoe connection.
    • param cdev
    • param handle β€” qed will fill in a handle that should be used henceforth as the identifier of the connection.
    • param p_doorbell β€” qed will fill in the address of the doorbell.
    • return 0 on success, otherwise an error value. πŸ””
  • release_conn β€” releases a previously acquired fcoe connection.
    • param cdev
    • param handle β€” the connection handle.
    • return 0 on success, otherwise an error value. bye bestie πŸ‘‹
  • offload_conn β€” configures an offloaded connection.
    • param cdev
    • param handle β€” the connection handle.
    • param conn_info β€” the configuration to use for the offload.
    • return 0 on success, otherwise an error value.
  • destroy_conn β€” stops an offloaded connection.
    • param cdev
    • param handle β€” the connection handle.
    • param terminate_params
    • return 0 on success, otherwise an error value. it's giving cleanup era 🧹
  • get_stats β€” gets the FCoE-related statistics.
    • param cdev
    • param stats β€” pointer to the struct that would be filled with the stats
    • return 0 on success, error otherwise. πŸ“Š
lowkey important reminder: basically every single one of these returns 0 on success and "otherwise an error value" β€” so always check your returns, bestie, do NOT ignore them 😭

πŸ¦‹ SEE ALSO πŸ¦‹

  • Kernel file ./include/linux/qed/qed_fcoe_if.h β€” go read it, iykyk πŸ’œ

and that's the whole page, periodt πŸ’…

🌸 so anyway, this little masterpiece lives in ./include/linux/qed and it's dated October 2026 β€” star it, bookmark it, send it to your group chat, love that for us πŸŽ€βœ¨πŸ«Ά

πŸ“¦ where this page comes from