DragonFly BSD
DragonFly bugs List (threaded) for 2006-04
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: panic


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Thu, 6 Apr 2006 23:41:50 -0700 (PDT)

: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]