関与するいくつかのオブジェクトDPDKカードの初期化プロセス
DEV
デバイスのPCIに対応するNICデバイス・オブジェクト
港
同様のネットワークインタフェースifconfigコマンドに対応するポートオブジェクト、
rx_queue / tx_queue
ポートトランシーバキューオブジェクト
マルチコア環境では、ポートはパケットを処理するためのCPUを指定するには、応答パケットを受信することができます。
コンピューティングリソースの初期負荷分散を達成するために、ペンタッドハッシュコア割当処理に従って、送受信キューを増加させることによって
、保留中のCPUの対応するキューに送られ、計算されたハッシュRSSモジュールによって着信パケットのポートごとに
たtx_desc / rx_desc
トランシーバキューのNICドライバのDMA番号。
トランシーバDESCは、送信元/宛先アドレス、長さ、送信およびDMAを受信するために必要な情報を記述する
関連API
トランシーバポートキュー番号、およびポートパラメータを設定します
int rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_queue,
uint16_t nb_tx_queue, const struct rte_eth_conf *eth_conf);
パケット処理コアトランシーバの数:に従って構成nb_rx_queue / nb_tx_queue
ポートは、受信キューに設定します。rte_eth_dev_info_getはrx_confのデフォルトの設定を取得することができます
int rte_eth_rx_queue_setup(uint16_t port_id, uint16_t rx_queue_id,
uint16_t nb_rx_desc, unsigned int socket_id,
const struct rte_eth_rxconf *rx_conf,
struct rte_mempool *mb_pool);
nb_rx_descに従って構成:NICハードウェア、にリングmb_poolの数を超えることはできない
mb_pool:NICを- >ドライブの分布は、パケット・メモリ・プールを受け取ります
ポート送信キューを設定します。rte_eth_dev_info_getはtx_confのデフォルトの設定を取得することができます
int rte_eth_tx_queue_setup(uint16_t port_id, uint16_t tx_queue_id,
uint16_t nb_tx_desc, unsigned int socket_id,
const struct rte_eth_txconf *tx_conf);
NICハードウェア:に従って構成nb_tx_desc
各NICは、TX / RXディスクリプタが決定され、すべてのポートキューは記述子を共有
rte_eth_rx_queue_setupディスクリプタの番号を、各キューのrte_eth_tx_queue_setupは、QoSキューの最初の認識に基づいて、特定の割り当てを占有できます