Apply by doing:
	cd /usr/src
	patch -p0 < 008_ip6rthdr.patch

And then build, install and boot a new kernel:
	cd /usr/src/sys/arch/`arch -s`/conf
	config GENERIC
	cd ../compile/GENERIC
	make depend && make && sudo make install

If you are using the multiprocessor kernel, replace GENERIC by
GENERIC.MP above.

Index: sys/netinet6/ip6_input.c
===================================================================
RCS file: /cvs/src/sys/netinet6/ip6_input.c,v
retrieving revision 1.78
retrieving revision 1.78.2.1
diff -u -p -r1.78 -r1.78.2.1
--- sys/netinet6/ip6_input.c	3 Aug 2007 06:43:12 -0000	1.78
+++ sys/netinet6/ip6_input.c	25 Feb 2008 00:00:00 -0000	1.78.2.1
@@ -1,4 +1,4 @@
-/*	$OpenBSD: ip6_input.c,v 1.78 2007/08/03 06:43:12 itojun Exp $	*/
+/*	$OpenBSD: ip6_input.c,v 1.78.2.1 2008/02/25 00:00:00 henning Exp $	*/
 /*	$KAME: ip6_input.c,v 1.188 2001/03/29 05:34:31 itojun Exp $	*/
 
 /*
@@ -737,7 +737,7 @@ ip6_check_rh0hdr(struct mbuf *m)
 				return (1);
 			}
 
-			if (off + sizeof(opt6) > lim) {
+			if (off + sizeof(rthdr) > lim) {
 				/* packet to short to make sense */
 				return (1);
 			}
