summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--zebra/rib.h3
-rw-r--r--zebra/zebra_rib.c25
-rw-r--r--zebra/zserv.c18
3 files changed, 3 insertions, 43 deletions
diff --git a/zebra/rib.h b/zebra/rib.h
index cd77db4df1..ca1e97a378 100644
--- a/zebra/rib.h
+++ b/zebra/rib.h
@@ -416,9 +416,6 @@ extern struct nexthop *nexthop_ipv6_ifindex_add (struct rib *rib,
extern struct nexthop *nexthop_ipv6_ifname_add (struct rib *rib,
struct in6_addr *ipv6,
char *ifname);
-extern int
-rib_bogus_ipv6 (int type, struct prefix_ipv6 *p,
- struct in6_addr *gate, unsigned int ifindex, int table);
extern struct zebra_vrf *zebra_vrf_lookup (vrf_id_t vrf_id);
extern struct zebra_vrf *zebra_vrf_alloc (vrf_id_t);
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c
index 0bb9b58118..78c6c831b5 100644
--- a/zebra/zebra_rib.c
+++ b/zebra/zebra_rib.c
@@ -3078,27 +3078,6 @@ static_delete_ipv4 (struct prefix *p, struct in_addr *gate, const char *ifname,
int
-rib_bogus_ipv6 (int type, struct prefix_ipv6 *p,
- struct in6_addr *gate, unsigned int ifindex, int table)
-{
- if (type == ZEBRA_ROUTE_CONNECT && IN6_IS_ADDR_UNSPECIFIED (&p->prefix)) {
-#if defined (MUSICA) || defined (LINUX)
- /* IN6_IS_ADDR_V4COMPAT(&p->prefix) */
- if (p->prefixlen == 96)
- return 0;
-#endif /* MUSICA */
- return 1;
- }
- if (type == ZEBRA_ROUTE_KERNEL && IN6_IS_ADDR_UNSPECIFIED (&p->prefix)
- && p->prefixlen == 96 && gate && IN6_IS_ADDR_UNSPECIFIED (gate))
- {
- kernel_delete_ipv6_old (p, gate, ifindex, 0, table);
- return 1;
- }
- return 0;
-}
-
-int
rib_add_ipv6 (int type, u_short instance, int flags, struct prefix_ipv6 *p,
struct in6_addr *gate, unsigned int ifindex, vrf_id_t vrf_id,
u_int32_t table_id, u_int32_t metric, u_char distance, safi_t safi)
@@ -3131,10 +3110,6 @@ rib_add_ipv6 (int type, u_short instance, int flags, struct prefix_ipv6 *p,
if (type == ZEBRA_ROUTE_BGP && CHECK_FLAG (flags, ZEBRA_FLAG_IBGP))
distance = 200;
- /* Filter bogus route. */
- if (rib_bogus_ipv6 (type, p, gate, ifindex, 0))
- return 0;
-
/* Lookup route node.*/
rn = route_node_get (table, (struct prefix *) p);
diff --git a/zebra/zserv.c b/zebra/zserv.c
index f47d4bdb49..cb823a0c19 100644
--- a/zebra/zserv.c
+++ b/zebra/zserv.c
@@ -1485,26 +1485,14 @@ zread_ipv6_add (struct zserv *client, u_short length, vrf_id_t vrf_id)
for (i = 0; i < max_nh_if; i++)
{
if ((i < nh_count) && !IN6_IS_ADDR_UNSPECIFIED (&nexthops[i])) {
- if ((i < if_count) && ifindices[i]) {
- if (rib_bogus_ipv6 (rib->type, &p, &nexthops[i], ifindices[i], 0)) {
- continue;
- }
+ if ((i < if_count) && ifindices[i])
nexthop_ipv6_ifindex_add (rib, &nexthops[i], ifindices[i]);
- }
- else {
- if (rib_bogus_ipv6 (rib->type, &p, &nexthops[i], 0, 0)) {
- continue;
- }
+ else
nexthop_ipv6_add (rib, &nexthops[i]);
- }
}
else {
- if ((i < if_count) && ifindices[i]) {
- if (rib_bogus_ipv6 (rib->type, &p, NULL, ifindices[i], 0)) {
- continue;
- }
+ if ((i < if_count) && ifindices[i])
nexthop_ifindex_add (rib, ifindices[i]);
- }
}
}
}