Patch to remove the old IPv6 prefix code from -CURRENT
George V. Neville-Neil
gnn at neville-neil.com
Mon Aug 16 19:06:00 PDT 2004
Hi Folks,
Enclosed is a patch against the recent -CURRENT tree which
removes the in6_prefix code that has already been removed from
the Kame tree by the Kame team. I would appreciate it if
folks could try this out before we include this in our own
tree. I have done some testing of this code on my own
machines, but this is only ping6/traceroute6 and ssh type
testing.
Thanks,
George
--- sys/conf/files.orig
+++ sys/conf/files
@@ -1502,7 +1502,6 @@
netinet6/in6_gif.c optional gif inet6
netinet6/in6_ifattach.c optional inet6
netinet6/in6_pcb.c optional inet6
-netinet6/in6_prefix.c optional inet6
netinet6/in6_proto.c optional inet6
netinet6/in6_rmx.c optional inet6
netinet6/in6_src.c optional inet6
--- sys/netinet6/in6.c.orig
+++ sys/netinet6/in6.c
@@ -1151,7 +1151,6 @@
struct in6_ifaddr *ia;
struct ifnet *ifp;
{
- int plen, iilen;
struct in6_ifaddr *oia;
int s = splnet();
@@ -1171,12 +1170,6 @@
}
}
- if (oia->ia6_ifpr) { /* check for safety */
- plen = in6_mask2len(&oia->ia_prefixmask.sin6_addr, NULL);
- iilen = (sizeof(oia->ia_prefixmask.sin6_addr) << 3) - plen;
- in6_prefix_remove_ifid(iilen, oia);
- }
-
/*
* When an autoconfigured address is being removed, release the
* reference to the base prefix. Also, since the release might
--- sys/netinet6/in6_ifattach.c.orig
+++ sys/netinet6/in6_ifattach.c
@@ -754,9 +754,6 @@
struct in6_multi *in6m;
struct in6_multi *in6m_next;
- /* nuke prefix list. this may try to remove some of ifaddrs as well */
- in6_purgeprefix(ifp);
-
/* remove neighbor management table */
nd6_purge(ifp);
--- sys/netinet6/in6_proto.c.orig
+++ sys/netinet6/in6_proto.c
@@ -102,7 +102,6 @@
#include <netinet6/udp6_var.h>
#include <netinet6/pim6_var.h>
#include <netinet6/nd6.h>
-#include <netinet6/in6_prefix.h>
#ifdef IPSEC
#include <netinet6/ipsec.h>
--- sys/netinet6/ip6_input.c.orig
+++ sys/netinet6/ip6_input.c
@@ -105,7 +105,6 @@
#include <netinet6/scope6_var.h>
#include <netinet6/in6_ifattach.h>
#include <netinet6/nd6.h>
-#include <netinet6/in6_prefix.h>
#ifdef IPSEC
#include <netinet6/ipsec.h>
@@ -212,10 +211,6 @@
callout_init(&nd6_timer_ch, 0);
callout_reset(&nd6_timer_ch, hz, nd6_timer, NULL);
- /* router renumbering prefix list maintenance */
- callout_init(&in6_rr_timer_ch, 0);
- callout_reset(&in6_rr_timer_ch, hz, in6_rr_timer, NULL);
-
/* timer for regeneranation of temporary addresses randomize ID */
callout_init(&in6_tmpaddrtimer_ch, 0);
callout_reset(&in6_tmpaddrtimer_ch,
--- sys/netinet6/nd6.c.orig
+++ sys/netinet6/nd6.c
@@ -65,7 +65,6 @@
#include <netinet/ip6.h>
#include <netinet6/ip6_var.h>
#include <netinet6/nd6.h>
-#include <netinet6/in6_prefix.h>
#include <netinet/icmp6.h>
#include <net/net_osdep.h>
@@ -1410,26 +1409,6 @@
i++;
pr = pr->ndpr_next;
}
- {
- struct rr_prefix *rpp;
-
- for (rpp = LIST_FIRST(&rr_prefix); rpp;
- rpp = LIST_NEXT(rpp, rp_entry)) {
- if (i >= PRLSTSIZ)
- break;
- (void)in6_embedscope(&oprl->prefix[i].prefix,
- &pr->ndpr_prefix, NULL, NULL);
- oprl->prefix[i].raflags = rpp->rp_raf;
- oprl->prefix[i].prefixlen = rpp->rp_plen;
- oprl->prefix[i].vltime = rpp->rp_vltime;
- oprl->prefix[i].pltime = rpp->rp_pltime;
- oprl->prefix[i].if_index = rpp->rp_ifp->if_index;
- oprl->prefix[i].expire = rpp->rp_expire;
- oprl->prefix[i].advrtrs = 0;
- oprl->prefix[i].origin = rpp->rp_origin;
- i++;
- }
- }
splx(s);
break;
More information about the freebsd-current
mailing list