Apply by doing: cd /usr/src patch -p0 < 016_getsockopt.patch Then build and install a new kernel. Index: sys/netinet/ip_output.c =================================================================== RCS file: /cvs/src/sys/netinet/ip_output.c,v retrieving revision 1.191 diff -u -p -r1.191 ip_output.c --- sys/netinet/ip_output.c 9 May 2008 02:56:36 -0000 1.191 +++ sys/netinet/ip_output.c 28 Oct 2009 19:57:05 -0000 @@ -1485,6 +1485,7 @@ ip_ctloutput(op, so, level, optname, mp) case IP_ESP_TRANS_LEVEL: case IP_ESP_NETWORK_LEVEL: case IP_IPCOMP_LEVEL: + *mp = m = m_get(M_WAIT, MT_SOOPTS); #ifndef IPSEC m->m_len = sizeof(int); *mtod(m, int *) = IPSEC_LEVEL_NONE; Index: sys/netinet6/ip6_output.c =================================================================== RCS file: /cvs/src/sys/netinet6/ip6_output.c,v retrieving revision 1.103 diff -u -p -r1.103 ip6_output.c --- sys/netinet6/ip6_output.c 30 Jul 2008 15:07:40 -0000 1.103 +++ sys/netinet6/ip6_output.c 28 Oct 2009 21:06:57 -0000 @@ -1882,6 +1882,7 @@ do { \ case IPV6_ESP_TRANS_LEVEL: case IPV6_ESP_NETWORK_LEVEL: case IPV6_IPCOMP_LEVEL: + *mp = m = m_get(M_WAIT, MT_SOOPTS); #ifndef IPSEC m->m_len = sizeof(int); *mtod(m, int *) = IPSEC_LEVEL_NONE;