shin fdb3a70644 Avoid kernel panic when tcp rfc1323 and rfc1644 options are enabled
at the same time.

   When rfc1323 and rfc1644 option are enabled by sysctl,
   and tcp over IPv6 is tried, kernel panic happens by the
   following check in tcp_output(), because now hdrlen is bigger
   in such case than before.

/*#ifdef DIAGNOSTIC*/
        if (max_linkhdr + hdrlen > MHLEN)
                panic("tcphdr too big");
/*#endif*/

   So change the above check to compare with MCLBYTES in #ifdef INET6 case.
   Also, allocate a mbuf cluster for the header mbuf, in that case.

Bug reported at KAME environment.
Approved by: jkh

Reviewed by: sumikawa
Obtained from: KAME project
2000-02-09 00:34:40 +00:00
..
1999-12-22 19:13:38 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-12-22 19:13:38 +00:00
1999-08-28 01:08:13 +00:00
1999-12-22 19:13:38 +00:00
1999-12-22 19:13:38 +00:00
1999-08-28 01:08:13 +00:00
1999-12-22 19:13:38 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
2000-01-09 19:17:30 +00:00
2000-01-28 06:13:09 +00:00
1999-12-22 19:13:38 +00:00
1999-12-22 19:13:38 +00:00
1999-12-22 19:13:38 +00:00
1999-12-22 19:13:38 +00:00
2000-01-28 06:13:09 +00:00
2000-01-28 06:13:09 +00:00
2000-01-09 19:17:30 +00:00
2000-01-09 19:17:30 +00:00
2000-01-09 19:17:30 +00:00
2000-01-09 19:17:30 +00:00
1999-08-28 01:08:13 +00:00
1999-12-22 19:13:38 +00:00
1999-08-28 01:08:13 +00:00