私はUDPの上にLinuxカーネルのプロトコルを実装していて、パケットを受け取ったときにカーネル内から返信したいと思っています。このために、宛先(受信パケットの送信元アドレス)へのルートを取得してから返信するには、ip4_datagram_connect
を実行します。ipヘッダからstruct sockaddr_inを補充する__be32 saddrとudpヘッダ__be16 source
ip4_datagram_connect
を呼び出すには、関数にアドレスとして渡すためにsockaddr_in構造体を記入する必要があります。
構造体のsockaddr_in、比較に
unsigned short sin_port;
struct in_addr sin_addr;
構造体
__be16 source;
と
iphdr 構造体 udphdr
私の質問は、アドレスとポートをパケットヘッダーからsockaddr_in構造体にコピーするためのヘルパー関数が必要ですか(ソケットプログラミングでhtonsなどを使う方法など)?
ありがとう、私はそれを試してみて、ここで報告する:) –
それは期待どおりに機能しましたか? –