mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-07 11:25:41 +00:00
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 <equinox@opensourcerouting.org> Acked-by: Greg Troxel <gdt@ir.bbn.com> Acked-by: Feng Lu <lu.feng@6wind.com> [DL: slightly adjusted commit message to remove misunderstanding] Acked-by: Paul Jakma <paul@jakma.org>
This commit is contained in:
parent
42bb3dfdfa
commit
a0fdba9045
@ -930,15 +930,6 @@ ripng_redistribute_add (int type, int sub_type, struct prefix_ipv6 *p,
|
|||||||
return;
|
return;
|
||||||
if (IN6_IS_ADDR_LOOPBACK (&p->prefix))
|
if (IN6_IS_ADDR_LOOPBACK (&p->prefix))
|
||||||
return;
|
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);
|
rp = route_node_get (ripng->table, (struct prefix *) p);
|
||||||
rinfo = rp->info;
|
rinfo = rp->info;
|
||||||
@ -1027,15 +1018,6 @@ ripng_redistribute_delete (int type, int sub_type, struct prefix_ipv6 *p,
|
|||||||
return;
|
return;
|
||||||
if (IN6_IS_ADDR_LOOPBACK (&p->prefix))
|
if (IN6_IS_ADDR_LOOPBACK (&p->prefix))
|
||||||
return;
|
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);
|
rp = route_node_lookup (ripng->table, (struct prefix *) p);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user