Oracle® Solaris 11.2 デバイスドライバの記述

印刷ビューの終了

更新: 2014 年 9 月
 
 

ファイバチャネル SR-IOV デバイス

ファイバチャネル PF ドライバで SR - IOV サポートを追加するには、DDI_CB_FLAG_SRIOV フラグを指定して ddi_cb_register() を呼び出す必要があります。詳細は、Driver Callbacksセクションを参照してください。

SR-IOV コールバックを登録したファイバチャネル PF ドライバは、action パラメータとして DDI_CB_PCIV_CLASS_CONFIG が設定されたコールバックを受けます。コールバックには、fciov_conf_t 構造体へのポインタである cbarg パラメータが含まれています。

typedef struct fciov_conf 
{
fciov_config_cmd_t  fci_cmd;    /* configuration op to be performed */
uint16_t        fci_vf_id;      /* Index of the VF to be configured */
fciov_cfg_flags fci_flags; 	 /* Flags, indicate which info is valid */
uint8_t         fci_node_wwn[8];/* node WWN for the VF */
uint8_t         fci_port_wwn[8];/* port WWN for the VF */
uint16_t        fci_bandwidth;  /* percentile bandwidth for the VF */
} fciov_conf_t;
fci_cmd

指定された VF に対して実行する操作を示します。定義されている有効な値は次のとおりです。

typedef enum
{  
  FCIOV_VF_CONFIG = 0x1,   /* Configure a FC VF */  
  FCIOV_VF_UPDCONFIG = 0x2,/* Update configuration of FC VF */  
  FCIOV_VF_UNCONFIG = 0x4  /* Unconfigure a FC VF*/  
}fciov_config_cmd_t;
fci_vf_id

コールバックを受ける PF の VF 索引番号。このフィールドの有効な値は、0 から N-1 です (N は受け側の PF で有効になっている仮想機能の番号)。

fci_flags

含まれているデータフィールド中の有効なフィールドを示すビットマスク。サポートされている値は次のように定義されています。

typedef enum  
{  
   FCIOV_NODE_WWN = 0x1,   /* node WWN info is valid */  
   FCIOV_PORT_WWN = 0x2,   /* port WWN info is valid */  
   FCIOV_BANDWIDTH = 0x4   /* bandwidth info is valid */  
}fciov_cfg_flags;
fci_node_wwn

指定された VF のノード world wide name (WWN)。

fci_port_wwn

指定された VF のポート world wide name (WWN)。

fci_ bandwidth

仮想機能に割り当てる必要がある帯域幅 (パーセンタイル値) を示します。詳細は、Bandwidth Configuration for Fibre Channel Virtual Functionsを参照してください。