From a0fdba90457e7d0bef99acb01d4f594f376a2349 Mon Sep 17 00:00:00 2001 From: David Lamparter Date: Sat, 28 Jun 2014 21:26:36 +0200 Subject: [PATCH] zebra, ripngd: remove ::/64 special-casing In the 90ies, IPv4 was believed to exist within IPv6, with some kernels implementing this belief in code... Our code here is keyed to "#ifdef LINUX", yet no Linux from the past 10 years had this, making the code completely useless. FreeBSD 10.0 does in fact have a "::/96 via ::1 dev lo0 reject" route. IMHO we shouldn't mess with that, the admin can filter as neccessary anyway. Signed-off-by: David Lamparter Acked-by: Greg Troxel Acked-by: Feng Lu [DL: slightly adjusted commit message to remove misunderstanding] Acked-by: Paul Jakma --- ripngd/ripngd.c | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/ripngd/ripngd.c b/ripngd/ripngd.c index 9cb7217b38..4eed40b94a 100644 --- a/ripngd/ripngd.c +++ b/ripngd/ripngd.c @@ -930,15 +930,6 @@ ripng_redistribute_add (int type, int sub_type, struct prefix_ipv6 *p, return; if (IN6_IS_ADDR_LOOPBACK (&p->prefix)) return; -#ifdef LINUX - /* XXX As long as the RIPng redistribution is applied to all the connected - * routes, one needs to filter the ::/96 prefixes. - * However it could be a wanted case, it will be removed soon. - */ - if ((IN6_IS_ADDR_V4COMPAT(&p->prefix)) || - (IN6_IS_ADDR_UNSPECIFIED (&p->prefix) && (p->prefixlen == 96))) - return; -#endif /* LINUX */ rp = route_node_get (ripng->table, (struct prefix *) p); rinfo = rp->info; @@ -1027,15 +1018,6 @@ ripng_redistribute_delete (int type, int sub_type, struct prefix_ipv6 *p, return; if (IN6_IS_ADDR_LOOPBACK (&p->prefix)) return; -#ifdef LINUX - /* XXX As long as the RIPng redistribution is applied to all the connected - * routes, one needs to filter the ::/96 prefixes. - * However it could be a wanted case, it will be removed soon. - */ - if ((IN6_IS_ADDR_V4COMPAT(&p->prefix)) || - (IN6_IS_ADDR_UNSPECIFIED (&p->prefix) && (p->prefixlen == 96))) - return; -#endif /* LINUX */ rp = route_node_lookup (ripng->table, (struct prefix *) p); -- 2.39.5