Skip to content

Commit

Permalink
removed COMPAT_RFC1883
Browse files Browse the repository at this point in the history
COMPAT_RFC1883 was used to keep the old strict routing code
defined in rfc1883, which is not used any more.
  • Loading branch information
keiichi committed Feb 9, 2006
1 parent e00f6b7 commit 3c7d934
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 44 deletions.
32 changes: 1 addition & 31 deletions kame/kame/libinet6/rthdr.c
@@ -1,4 +1,4 @@
/* $KAME: rthdr.c,v 1.21 2005/02/08 01:29:11 keiichi Exp $ */
/* $KAME: rthdr.c,v 1.22 2006/02/09 08:18:58 keiichi Exp $ */

/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
Expand Down Expand Up @@ -112,18 +112,8 @@ inet6_rthdr_add(cmsg, addr, flags)
return (-1);
if (rt0->ip6r0_segleft == 23)
return (-1);

#ifdef COMPAT_RFC1883 /* XXX */
if (flags == IPV6_RTHDR_STRICT) {
int c, b;
c = rt0->ip6r0_segleft / 8;
b = rt0->ip6r0_segleft % 8;
rt0->ip6r0_slmap[c] |= (1 << (7 - b));
}
#else
if (flags != IPV6_RTHDR_LOOSE)
return (-1);
#endif
rt0->ip6r0_segleft++;
bcopy(addr, (caddr_t)rt0 + ((rt0->ip6r0_len + 1) << 3),
sizeof(struct in6_addr));
Expand Down Expand Up @@ -152,23 +142,10 @@ inet6_rthdr_lasthop(cmsg, flags)
case IPV6_RTHDR_TYPE_0:
{
struct ip6_rthdr0 *rt0 = (struct ip6_rthdr0 *)rthdr;
#ifdef COMPAT_RFC1883 /* XXX */
if (flags != IPV6_RTHDR_LOOSE && flags != IPV6_RTHDR_STRICT)
return (-1);
#endif /* COMPAT_RFC1883 */
if (rt0->ip6r0_segleft > 23)
return (-1);
#ifdef COMPAT_RFC1883 /* XXX */
if (flags == IPV6_RTHDR_STRICT) {
int c, b;
c = rt0->ip6r0_segleft / 8;
b = rt0->ip6r0_segleft % 8;
rt0->ip6r0_slmap[c] |= (1 << (7 - b));
}
#else
if (flags != IPV6_RTHDR_LOOSE)
return (-1);
#endif /* COMPAT_RFC1883 */
break;
}
default:
Expand Down Expand Up @@ -265,14 +242,7 @@ inet6_rthdr_getflags(cmsg, idx)
naddr = (rt0->ip6r0_len * 8) / sizeof(struct in6_addr);
if (idx < 0 || naddr < idx)
return (-1);
#ifdef COMPAT_RFC1883 /* XXX */
if (rt0->ip6r0_slmap[idx / 8] & (0x80 >> (idx % 8)))
return IPV6_RTHDR_STRICT;
else
return IPV6_RTHDR_LOOSE;
#else
return IPV6_RTHDR_LOOSE;
#endif /* COMPAT_RFC1883 */
}

default:
Expand Down
15 changes: 2 additions & 13 deletions kame/sys/netinet6/route6.c
@@ -1,4 +1,4 @@
/* $KAME: route6.c,v 1.58 2005/10/27 17:16:06 mitsuya Exp $ */
/* $KAME: route6.c,v 1.59 2006/02/09 08:18:58 keiichi Exp $ */

/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
Expand Down Expand Up @@ -189,11 +189,7 @@ ip6_rthdr0(m, ip6, rh0)
if (rh0->ip6r0_segleft == 0)
return (0);

if (rh0->ip6r0_len % 2
#ifdef COMPAT_RFC1883
|| rh0->ip6r0_len > 46
#endif
) {
if (rh0->ip6r0_len % 2) {
/*
* Type 0 routing header can't contain more than 23 addresses.
* RFC 2462: this limitation was removed since strict/loose
Expand Down Expand Up @@ -256,14 +252,7 @@ ip6_rthdr0(m, ip6, rh0)
in6_clearscope(nextaddr); /* XXX */
ip6->ip6_dst = tmpaddr;

#ifdef COMPAT_RFC1883
if (rh0->ip6r0_slmap[index / 8] & (1 << (7 - (index % 8))))
ip6_forward(m, IPV6_SRCRT_NEIGHBOR);
else
ip6_forward(m, IPV6_SRCRT_NOTNEIGHBOR);
#else
ip6_forward(m, 1);
#endif

return (-1); /* m would be freed in ip6_forward() */

Expand Down

0 comments on commit 3c7d934

Please sign in to comment.