*/
 LPFC_ATTR_R(enable_mi, 1, 0, 1, "Enable MI");
 
+/*
+ * lpfc_max_vmid: Maximum number of VMs to be tagged. This is valid only if
+ * either vmid_app_header or vmid_priority_tagging is enabled.
+ *       4 - 255  = vmid support enabled for 4-255 VMs
+ *       Value range is [4,255].
+ */
+LPFC_ATTR_RW(max_vmid, LPFC_MIN_VMID, LPFC_MIN_VMID, LPFC_MAX_VMID,
+            "Maximum number of VMs supported");
+
+/*
+ * lpfc_vmid_inactivity_timeout: Inactivity timeout duration in hours
+ *       0  = Timeout is disabled
+ * Value range is [0,24].
+ */
+LPFC_ATTR_RW(vmid_inactivity_timeout, 4, 0, 24,
+            "Inactivity timeout in hours");
+
+/*
+ * lpfc_vmid_app_header: Enable App Header VMID support
+ *       0  = Support is disabled (default)
+ *       1  = Support is enabled
+ * Value range is [0,1].
+ */
+LPFC_ATTR_RW(vmid_app_header, LPFC_VMID_APP_HEADER_DISABLE,
+            LPFC_VMID_APP_HEADER_DISABLE, LPFC_VMID_APP_HEADER_ENABLE,
+            "Enable App Header VMID support");
+
+/*
+ * lpfc_vmid_priority_tagging: Enable Priority Tagging VMID support
+ *       0  = Support is disabled (default)
+ *       1  = Allow supported targets only
+ *       2  = Allow all targets
+ * Value range is [0,2].
+ */
+LPFC_ATTR_RW(vmid_priority_tagging, LPFC_VMID_PRIO_TAG_DISABLE,
+            LPFC_VMID_PRIO_TAG_DISABLE,
+            LPFC_VMID_PRIO_TAG_ALL_TARGETS,
+            "Enable Priority Tagging VMID support");
+
 struct device_attribute *lpfc_hba_attrs[] = {
        &dev_attr_nvme_info,
        &dev_attr_scsi_stat,
        &dev_attr_lpfc_enable_bbcr,
        &dev_attr_lpfc_enable_dpp,
        &dev_attr_lpfc_enable_mi,
+       &dev_attr_lpfc_max_vmid,
+       &dev_attr_lpfc_vmid_inactivity_timeout,
+       &dev_attr_lpfc_vmid_app_header,
+       &dev_attr_lpfc_vmid_priority_tagging,
        NULL,
 };
 
        lpfc_enable_hba_heartbeat_init(phba, lpfc_enable_hba_heartbeat);
 
        lpfc_EnableXLane_init(phba, lpfc_EnableXLane);
+       /* VMID Inits */
+       lpfc_max_vmid_init(phba, lpfc_max_vmid);
+       lpfc_vmid_inactivity_timeout_init(phba, lpfc_vmid_inactivity_timeout);
+       lpfc_vmid_app_header_init(phba, lpfc_vmid_app_header);
+       lpfc_vmid_priority_tagging_init(phba, lpfc_vmid_priority_tagging);
        if (phba->sli_rev != LPFC_SLI_REV4)
                phba->cfg_EnableXLane = 0;
        lpfc_XLanePriority_init(phba, lpfc_XLanePriority);