k8s/Cilium/Kind の TCP オプションに特別な問題があります。
bpf_lxc
私はCiliumプログラム(veth ingress tcフックに接続されたeBPFプログラム)を使用して、エンドポイントから送信されたSYNパケットにカスタムTCPオプションを追加しました。
パケットが(ホストNIC)tc
の送信eBPFプログラムを通過すると、eth0
TCPオプションが正しいように見えます。しかし、実際にパケットを送信する前にWiresharkを使用してパケットをキャプチャしたときにTCPオプションが破損していることがわかりました。
TCPオプションの長さが16バイトの場合、バイト13と14は破損します。 TCPオプションの長さが20バイトの場合、バイト17と18は破損します。
修正された2バイトはランダムに変更されたようです。
現在、この問題の原因が何であるかよくわかりません。どんな意見や提案でも大変感謝いたします。
TCPOption(Unknown(45): 0x0af400c50a600065c6300050000004a40000)
TCPOption(Unknown(45): 0x0af400c50a600065c6300050000000000000)