Apply by doing:
	cd /usr/src
	patch -p0 < 022_route6.patch

Then build and install a new kernel.

Index: sys/netinet6/route6.c
===================================================================
RCS file: /cvs/src/sys/netinet6/route6.c,v
retrieving revision 1.10
diff -u -r1.10 route6.c
--- sys/netinet6/route6.c	11 Jun 2003 02:54:02 -0000	1.10
+++ sys/netinet6/route6.c	22 Apr 2007 09:47:36 -0000
@@ -1,4 +1,4 @@
-/*	$OpenBSD: route6.c,v 1.10 2003/06/11 02:54:02 itojun Exp $	*/
+/*	$OpenBSD: route6.c,v 1.15 2007/04/21 16:47:42 itojun Exp $	*/
 /*	$KAME: route6.c,v 1.22 2000/12/03 00:54:00 itojun Exp $	*/
 
 /*
@@ -44,8 +44,10 @@
 
 #include <netinet/icmp6.h>
 
+#if 0
 static int ip6_rthdr0(struct mbuf *, struct ip6_hdr *,
     struct ip6_rthdr0 *);
+#endif
 
 int
 route6_input(mp, offp, proto)
@@ -65,6 +67,7 @@
 	}
 
 	switch (rh->ip6r_type) {
+#if 0
 	case IPV6_RTHDR_TYPE_0:
 		rhlen = (rh->ip6r_len + 1) << 3;
 		/*
@@ -83,6 +86,7 @@
 		if (ip6_rthdr0(m, ip6, (struct ip6_rthdr0 *)rh))
 			return (IPPROTO_DONE);
 		break;
+#endif
 	default:
 		/* unknown routing type */
 		if (rh->ip6r_segleft == 0) {
@@ -99,6 +103,7 @@
 	return (rh->ip6r_nxt);
 }
 
+#if 0
 /*
  * Type0 routing header processing
  *
@@ -190,3 +195,4 @@
 	m_freem(m);
 	return (-1);
 }
+#endif
