パケットちゃんと届いてるのかよ調査
uIPがパケットを受信した直後(パケットのdrop判断をする前)にTCPパケットをlogprintでdumpするようにした。
logprintfはserial portに出力するのでQEMUを --serial file:serial.logと起動してみたがだめだった。
id:Yamami:20050516#p1のように、vl.cに直接fprintfを埋め込んだ方がはやそうな気がしてきた。
追記:
実験調査してみました。
コードは変えてないのですが前回と微妙に結果が違います。
Monaのプロトコルスタックが受け取ったパケット
20480 to 260:len= 44 ACK SYN seqno=9bee975e ackno=000000b5 20480 to 260:len= 40 ACK seqno=9bee975f ackno=000000b5 20480 to 260:len= 240 ACK seqno=9bee975f ackno=000000de 20480 to 260:len=1486 ACK seqno=9bee9827 ackno=000000de 20480 to 260:len= 43 ACK seqno=9bee9dcd ackno=000000de 20480 to 260:len=1486 ACK seqno=9bee9dd0 ackno=000000de 20480 to 260:len=1486 ACK seqno=9bee9827 ackno=000000de 20480 to 260:len=1486 ACK seqno=9bee9dcd ackno=000000de 20480 to 260:len=1486 ACK seqno=9beea373 ackno=000000de 20480 to 260:len= 766 ACK seqno=9beea919 ackno=000000de 20480 to 260:len=1486 ACK seqno=9bee9dd0 ackno=000000de 20480 to 260:len=1486 ACK seqno=9beea376 ackno=000000de 20480 to 260:len=1486 ACK seqno=9beea91c ackno=000000de 20480 to 260:len=1486 ACK seqno=9beeaec2 ackno=000000de 20480 to 260:len= 42 ACK seqno=9beea376 ackno=000000de 20480 to 260:len=1486 ACK seqno=9beeb468 ackno=000000de 20480 to 260:len=1486 ACK seqno=9beeba0e ackno=000000de 20480 to 260:len=1005 ACK seqno=9beebfb4 ackno=000000de 20480 to 260:len=1486 ACK seqno=9beec379 ackno=000000de 20480 to 260:len= 874 ACK seqno=9beec91f ackno=000000de 20480 to 260:len=1486 ACK seqno=9beecc61 ackno=000000de 20480 to 260:len=1486 ACK seqno=9beed207 ackno=000000de 20480 to 260:len= 411 ACK seqno=9beed7ad ackno=000000de 20480 to 260:len=1486 ACK seqno=9beed920 ackno=000000de 20480 to 260:len=1486 ACK seqno=9beedec6 ackno=000000de 20480 to 260:len= 158 ACK seqno=9beee46c ackno=000000de 20480 to 260:len=1486 ACK seqno=9beee4e2 ackno=000000de 20480 to 260:len= 373 ACK seqno=9beeea88 ackno=000000de 20480 to 260:len=1486 ACK seqno=9beeebd5 ackno=000000de 20480 to 260:len= 187 ACK seqno=9beef17b ackno=000000de
Etherealが受け取ったパケット
相違点
Etherealが後半に受信した4パケットが受信されていない。