ルータとして、Linuxが私のプロトコルのすべてのパケットを転送しないのはなぜですか? [閉鎖]

ルータとして、Linuxが私のプロトコルのすべてのパケットを転送しないのはなぜですか? [閉鎖]

私はIP層に独自のプロトコルを実装し、iph->プロトコル値を150に設定しています。 AFAIKこのプロトコル番号150は既存のプロトコル用に予約されていません。私はLinuxがインストールされている2つのqemuゲストマシンとLinuxを実行している2つの間のルータを使用します。

問題は、このLinuxルーターを介してQemuシステム間で私のプロトコル150を使用してパケットを転送することです。ルータは固定数の10個のパケットのみを転送します。問題は、ルータが1..number_of_sent_packets / 2の範囲で未確認数のパケットを転送することです。興味深いことに、ルーターは送信されたパケットの最大半分を転送します。私はルータがそれの半分以上を渡したことを知りませんでした。

ルータの役割は、パケット内で送信される内容をペイロードとして見ず、単にIPパケットを転送する役割だけではありませんか?私のルーターは標準(一般)Linuxカーネルを使用しています。

パケットを転送するには、Linuxで何を確認または設定する必要がありますか?どんなアイデアがありますか?

関連情報