DragonFly bugs List (threaded) for 2006-04
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
Re: panic
:Now I know a bit more, about what's going on. I'm using IPSEC from
:my laptop to a router to protect my WLAN.
:I can easily reproduce the problem by accessing
:http://www.outdoor.ch/article112.html
:
:Then at in tcp_output() (sys/netinet/tcp_output.c) at
:
:#ifdef IPSEC
: ipoptlen += ipsec_hdrsiz_tcp(tp);
:#endif
:
: /*
: * Adjust data length if insertion of options will
: * bump the packet length beyond the t_maxopd length.
: * Clear the FIN bit because we cut off the tail of
: * the segment.
: */
: if (len + optlen + ipoptlen > tp->t_maxopd) {
: /*
: * If there is still more to send, don't close the connection.
: */
: flags &= ~TH_FIN;
: len = tp->t_maxopd - optlen - ipoptlen;
: sendalot = TRUE;
: }
:
:
:len ends up beeing -13 because tp->t_maxopd = 64, optlen = 12,
:and ipoptlen = 65 (because ipsec_hdrsiz_tcp(tp) = 65.
:
:But I don't know, how to handle this case correctly.
:
: Johannes
I appreciate the sleuthing work! I've forwarded your email to our
networking expert, Jeffrey Hsu. If it isn't tracked down in the next
few days by him or someone else I'll have a go at it myself.
-Matt
Matthew Dillon
<dillon@xxxxxxxxxxxxx>
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]