libpcap を使用して GRE パケットをキャプチャして転送していますが、効率はあまりよくないと思います。
そのため、netfilter を使用して転送を行うことにしましたが、これは初めてです。誰か私にくれませんか
netfilter で IP または GRE パケットをキャプチャする簡単な例は? ありがとう!
何を達成しようとしているのかは明確ではありません。分析のためにパケットをキャプチャしようとしていますか(wiresharkやtcpdumpなど)、またはGREトンネルを介してトラフィックを転送しようとしていますか?
分析のためにトラフィックをキャプチャしようとしている場合、netfilterを使用してもあまり意味がありません。QUEUEターゲットのようなものを使用してパケットをユーザースペースに渡すことはおそらく可能ですが、適切なBPFルールでlibpcapを使用するよりも優れたパフォーマンスが得られるとは思えません。
GREトンネルを介してトラフィックを転送しようとしている場合、それを行う通常の方法は、greトンネルインターフェイスを設定することです。man ip
「トンネル」セクションを見てください。トンネルインターフェース(gre0など)は、システムのルーティングテーブルがパケットを送信できる通常のネットワークインターフェースです。