F-タイル25GイーサネットIntel® FPGA IPユーザーガイド

ID 750198
日付 2/09/2023
Public
ドキュメント目次

5.1.3.3.1. 長さのチェック

MAC 機能は、基本フレーム、VLAN タグ付きフレーム、およびスタック VLAN タグ付きフレームのフレームおよびペイロード長をチェックします。

IP コアは、フレーム長が有効であるか、過小でも過大でもないかどうかをチェックします。有効なフレーム長は少なくとも 64 (0x40) バイトであり、さまざまなフレームタイプの次の最大値を超えません。

  • Basic frames— MAX_RX_SIZE_CONFIGレジスターで指定されたバイト数。
  • VLAN tagged frames— MAX_RX_SIZE_CONFIGレジスターで指定された値に 4 バイトを加えた値。
  • Stacked VLAN tagged frames—MAX_RX_SIZE_CONFIGレジスターで指定された値に 8 バイトを加えた値。

基本 MAC フレームの長さ/タイプ フィールド、または VLAN タグ付きフレームのクライアントの長さ/タイプ フィールドの値が 0x600 未満の場合、IP コアはペイロード長もチェックします。 IP コアは、フレームを受信するときにペイロード長を追跡し、関連するフレーム フィールドに対して長さをチェックします。ペイロード長は、次の条件を満たす場合に有効です。

  • 実際のペイロードの長さは、長さ/タイプまたはクライアントの長さ/タイプ フィールドの値と一致します。
  • Normal frames:
    • Basic frames—ペイロードの長さは 46 (0x2E) ~ 1536 (0x0600) バイト (1536 を除く) です。
    • VLAN tagged frames—ペイロードの長さは 42 (0x2A) ~ 1536 (0x0600) の間で、1536 は除きます。
    • Stacked VLAN tagged frames—ペイロードの長さは、1536 を除く 38 (0x26) ~ 1536 (0x0600) の間です。
  • Jumbo frames:
    • Jumbo basic frames— ペイロード長は 46 (0x2E) から MAX_RX_SIZE_CONFIG レジスタで指定された値から 18 バイトを引いた値までの間です。
    • Jumbo VLAN tagged frames— ペイロード長は 42 (0x2A) から MAX_RX_SIZE_CONFIG レジスターで指定された値から 22 バイトを引いた値までの間です。
    • Jumbo stacked VLAN tagged frames— ペイロード長は 38 (0x26) から MAX_RX_SIZE_CONFIG レジスタで指定された値から 26 バイトを引いた値までです。

RX MAC は、無効な長さまたは無効なペイロード長のフレームをドロップしません。フレームまたはペイロードの長さが有効でない場合、MAC 機能は出力エラー ビットをアサートします。

  • avalon_st_rx_error[2] - アンダーサイズ・フレーム
  • avalon_st_rx_error[3] - オーバーサイズ・フレーム
  • L1_rx_error[4]——ペイロード長エラー

長さフィールドの値が実際のペイロード長より大きい場合、IP コアは l1_rx_error[4]をアサートします。長さフィールドの値が実際のペイロード長より小さい場合、MAC RX はフレームに過剰なパディングがあると見なし、 l1_rx_error[4]をアサートしません。

注: MAC のカウンタ制限は 0xFFFF です。この値より大きいサイズのフレームの場合、MAC は MAX_RX_SIZE_CONFIG にプログラムされた値に関係なく、オーバーサイズ・フレーム エラーをアサートします。これは TX データパスにも当てはまります。