マルチパス tcp ( https://www.multipath-tcp.org/ ) をプロジェクトに統合しようとしています。ソース コードを変更して、新しい mptcp サブフローの発信ソケット ポートを手動で選択できるようにしたいと考えています。アプリケーション内で出入りするパケットを識別できます。
アドレスは次のように作成されます。
inet_create(sock_net(meta_sk), &sock, IPPROTO_TCP, 1);
バインド:
sock.ops->bind(&sock, (struct sockaddr *)&loc_in, sizeof(struct sockaddr_in));
そして接続されました:
sock.ops->connect(&sock, (struct sockaddr *)&rem_in,
sizeof(struct sockaddr_in), O_NONBLOCK);
私の質問は次のとおりです:カーネルレベルでソケットの発信ポートを手動で設定するにはどうすればよいですか?また、この一連の呼び出しでポートがどこに設定されているので、それを変更できますか?