(Linux を使用)
TCP
を使用してパケットを作成しますraw sockets
-高性能ネットワークでは、チェックサムの計算がボトルネックであることがわかりました。NIC はチェックサム オフロードをサポートethtool
し、それが有効になっているとも言っているので、チェックサム オフロードを使用できることを望みました。
しかし、生のソケットを使用すると、チェックサムが計算されないようです。raw ソケットを使用して tcp チェックサム オフロードを有効にする方法はありますか?
編集:
実際、私のマシン/NIC (Thinkpad x201) の動作はあまり論理的ではないようです: 通常の tcp ソケットでパケットを送信すると、ループバック インターフェイスとマシン間のすべてのチェックサムが間違っています。おかしなことに、他のマシンは静かにパケットを配信しますが?
Edit2: OK では、間違ったマシンのパケットを確認しました。オフロードは機能しています。しかし、tcp_checksum
フィールド 0 を離れると、入力されず、単に 0 のままになります。