PCI Expressのマルチチャネル DMA インテル® FPGA IPユーザー ガイド

ID 683821
日付 4/20/2022
Public
ドキュメント目次

8.2.7. API リスト

表 118.  rte_eth_dev_configure
API API の説明 入力パラメーター 戻り値
int rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q, const struct rte_eth_conf *dev_conf)

この API は、イーサネット・デバイスをコンフィグレーションします。この関数は、イーサネット API の他の関数の前に最初に呼び出す必要があります。

port ID: デバイス ID

Number of TX queues

num_rx_queues: Rx キューの数

eth_config : 入力コンフィグレーション

0 成功、デバイスがコンフィグレーションされました。

<0 ドライバー・コンフィグレーション関数によって返されるエラー コード

表 119.  rte_eth_tx_queue_setup
API API の説明 入力パラメーター 戻り値

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_rxconf *tx_conf)

この API は、DMA デバイスの受信キューを割り当ててセットアップします。

port ID: デバイスのポート ID

tx_queue_id: キュー ID

nb_tx_desc: 送信リングに割り当てる Tx ディスクリプターの数

socket_id: ソケット識別子

tx_conf: TX コンフィグレーション・コンテキスト

成功した場合は 0

それ以外の場合は負

表 120.  rte_eth_rx_queue_setup
API API の説明 入力パラメーター 戻り値

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 *mp)

この API は、DMA デバイスの受信キューを割り当ててセットアップします。

ポート ID: デバイスのポート ID

rx_queue_id: キュー ID

nb_rx_desc: 受信リングに割り当てる Rx ディスクリプターの数

socket_id: ソケット識別子

rx_conf: RX コンフィグレーション・コンテキスト

mp: 受信リングの各ディスクリプターにメモリー バッファーを割り当てるために使用されるメモリー プールへのポインタ

成功した場合は 0

それ以外の場合は負
表 121.  rte_eth_dev_set_mtu
API API の説明 入力パラメーター 戻り値

int rte_eth_dev_set_mtu(uint16_t port_id, uint16_t mtu)

この API は、処理のペイロード値を設定します。

ポート ID: デバイスのポート ID

mtu: 適用する MTU

成功した場合は 0

それ以外の場合は負

表 122.  rte_eth_dev_start
API API の説明 入力パラメーター 戻り値

int rte_eth_dev_start(uint16_t port_id)

この API は、ディスクリプター、QCSR Rx および Tx コンテキストを初期化することにより、イーサネット・デバイスを開始します。

ポート ID: デバイスのポート ID

成功した場合は 0

それ以外の場合は負

表 123.  rte_eth_dev_stop
API API の説明 入力パラメーター 戻り値

void rte_eth_dev_stop(uint16_t port_id)

この API は、イーサネット・デバイスを停止します。

ポート ID: デバイスのポート ID

void

表 124.  rte_eth_dev_close
API API の説明 入力パラメーター 戻り値

void rte_eth_dev_close(uint16_t port_id)

この API は、イーサネット・デバイスを閉じます。

ポート ID: デバイスのポート ID

void

表 125.  rte_eth_tx_burst
API API の説明 入力パラメーター 戻り値

static inline uint16_t rte_eth_tx_burst (uint16_t port_id, uint16_t queue_id, struct rte_mbuf **tx_pkts, const uint16_t nb_pkts)

この API は、パケットのバーストを送信するために使用されます。

port ID: デバイスのポート ID queue_id:

キュー ID tx_pkts: *rte_mbuf* 構造体へのポインターの配列

nb_pkts: 取得するパケットの最大数

送信ディスクリプターに実際に格納された出力パケットの数。

表 126.  rte_eth_rx_burst
API API の説明 入力パラメーター 戻り値

static inline uint16_t rte_eth_rx_burst (uint16_t port_id, uint16_t queue_id, struct rte_mbuf **rx_pkts, const uint16_t nb_pkts)

この API は、パケットのバーストを受信するために使用されます。

ポート ID: デバイスのポート ID

queue_id: キュー ID rx_pkts: *rte_mbuf* 構造体へのポインターのアレイ

nb_pkts: 取得するパケットの最大数

実際に取得されたパケットの数。

表 127.   ifc_mcdma_pio_read64
API API の説明 入力パラメーター 戻り値

Uint64_t ifc_mcdma_pio_read64(struct ifc_mcdma_device *qdev, uint64_t addr); - New

BAR2 アドレスから 64b 値を読み出します。この API は、PIO テスト、統計のダンプ、パターン生成などに使用されます。

qdev: MCDMA デバイス

addr: 読み出すアドレス

成功した場合は 0

それ以外の場合は負

表 128.   ifc_mcdma_pio_write64
API API の説明 入力パラメーター 戻り値

void ifc_mcdma_pio_write64(struct ifc_mcdma_device *qdev, uint64_t addr, uint64_t val) - New

64 ビット値を BAR2 アドレスに書き込みます。

qdev: MCDMA デバイス addr: 書き込むアドレス

val: 書き込む値

成功すると 0 になり、チャネル・コンテキストが入力されます。

それ以外の場合は負

表 129.   ifc_mcdma_pio_read128
API API の説明 入力パラメーター 戻り値

int ifc_mcdma_pio_read128(uint16_t portid, uint64_t offset, uint64_t *buf, int bar_num) - New

指定された BAR の指定されたアドレスから 128 ビット値を読み出します。

この API は、PIO テストなどに使用されます。

qdev: MCDMA デバイス

addr: 読み出すアドレス

成功した場合は 0

それ以外の場合は負

表 130.   ifc_mcdma_pio_write128
API API の説明 入力パラメーター 戻り値

int ifc_mcdma_pio_write128(uint16_t portid, uint64_t offset, uint64_t *val, int bar_num) – New

指定された BAR の指定されたアドレスに 128 ビット値を書き込みます。

この API は、PIO テストなどに使用されます。

qdev: MCDMA デバイス

addr: 書き込むアドレス

val: 書き込む値

成功すると 0 になり、チャネル・コンテキストが入力されます。

それ以外の場合は負

表 131.   ifc_mcdma_pio_read256
API API の説明 入力パラメーター 戻り値

int ifc_mcdma_pio_read256(uint16_t portid, uint64_t offset, uint64_t *buf, int bar_num) – New

指定された BAR の指定されたアドレスから 256 ビット値を読み出します。

この API は、PIO テストなどに使用されます。

qdev: MCDMA デバイス

addr: 読み出すアドレス

成功した場合は 0

それ以外の場合は負

表 132.   ifc_mcdma_pio_write256
API API の説明 入力パラメーター 戻り値

int ifc_mcdma_pio_write512(uint16_t portid, uint64_t offset, uint64_t *val, int bar_num) – New

指定された BAR の指定されたアドレスに 128 ビット値を書き込みます。

この API は、PIO テストなどに使用されます。

qdev: MCDMA デバイス

addr: 書き込むアドレス

val: 書き込む値

成功すると 0 になり、チャネル・コンテキストが入力されます。

それ以外の場合は負