Apply by doing:
       cd /usr/src
       patch -p0 < 012_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