こんにちは、チームの皆さん
この問題はhttps://community.nxp.com/t5/S32G-Internal-Community/Malformed-Undersized-frame-cause-PFE-VLAN-bridg...から引用されています。
調査の結果、以下の方法でS32G RDB2上で再現できました。
環境:
PC -- 不正なパケット --> EMAC1 --> PFE VLAN_BRIDGE --> EMAC2 --> PC、Wireshark
FCI 構成:
libfci_cli bd-add --vlan=2
for x in emac1 hif0 hif1 hif2 ; do libfci_cli bd-insif --vlan=2 -i $x --tag=ON; done
for x in emac2 ; do libfci_cli bd-insif --vlan=2 -i $x --tag=OFF; done
libfci_cli phyif-update -i emac1 --mode=VLAN_BRIDGE
libfci_cli bd-print
不正なパケットをEMAC1に送信しています。不正なパケットは、通常の IP パケットを切り捨てることによって形成されます。
その後、異常なパケットを Wireshark で観察CAN。主な条件は次のとおりです。
実験の結果、GPI_DTX_ASEQ を 0x60 に初期化するとこの問題を回避CANことがわかりました。
DDR バッファのレイアウト。
これをどう説明すればいいのでしょうか、根本的な原因は何でしょうか?
よろしくお願いいたします
ライダー
こんにちは、セバスチャン。
G3 では問題が再現されませんでした。レプリカ数が 4 未満の場合、この問題は発生しません。また、Post 分類ヘッダーに問題は見つかりませんでした。SO、FW の問題ではないと考えています。
マニュアルでは x40 または x50 と記載されているレジスタに x60 を書き込むという提案された解決策は非常に危険であるように思われます。aseq_len の値は、ハードウェアの回避策とパフォーマンス (G3 でも異なります) のために、長年にわたって数回変更されています ( AAVB-2028およびリンクされたチケットを参照)。おそらく、この価値を再検討CANでしょう。この問題は G3 でも発生しますか?
通常、VLAN タグは GPI HW ブロックによって追加/削除されます。しかし、GPI はチェックサムの小さなフレームに対してはバグが多いことが分かっています。VLAN タグの追加/削除にもバグがあるようです。SO、おそらく PFE FW で回避策を実装する必要があるでしょう。
FW バグ チケットANET-897を作成しました。分析の計画を開始し、PFE チームで問題を再現してみるCAN。
PS: Lauterbach でパケットをダンプするときは、ネットワークのエンディアンを確認できるように/byteオプションを使用してください。Wireshark でキャプチャしたパケットを前後に取得しておくと役立つかもしれません (リンクされたチケットでCAN)