lib: straighten out ORF prefix list support
BGP ORF prefix lists are in a separate namespace; this was previously
hooked up with a special-purpose AFI value. This is a little kludgy for
extension, hence this splits it off.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Acked-by: Paul Jakma <paul@jakma.org>
diff --git a/bgpd/bgp_fsm.c b/bgpd/bgp_fsm.c
index 112c34a..d261bb5 100644
--- a/bgpd/bgp_fsm.c
+++ b/bgpd/bgp_fsm.c
@@ -545,7 +545,7 @@
/* ORF received prefix-filter pnt */
sprintf (orf_name, "%s.%d.%d", peer->host, afi, safi);
- prefix_bgp_orf_remove_all (orf_name);
+ prefix_bgp_orf_remove_all (afi, orf_name);
}
/* Reset keepalive and holdtime */
diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c
index 14fd6e5..18114ad 100644
--- a/bgpd/bgp_packet.c
+++ b/bgpd/bgp_packet.c
@@ -2146,7 +2146,7 @@
{
if (BGP_DEBUG (normal, NORMAL))
zlog_debug ("%s rcvd Remove-All pfxlist ORF request", peer->host);
- prefix_bgp_orf_remove_all (name);
+ prefix_bgp_orf_remove_all (afi, name);
break;
}
ok = ((size_t)(p_end - p_pnt) >= sizeof(u_int32_t)) ;
@@ -2207,12 +2207,12 @@
if (BGP_DEBUG (normal, NORMAL))
zlog_debug ("%s Received misformatted prefixlist ORF."
" Remove All pfxlist", peer->host);
- prefix_bgp_orf_remove_all (name);
+ prefix_bgp_orf_remove_all (afi, name);
break;
}
}
peer->orf_plist[afi][safi] =
- prefix_list_lookup (AFI_ORF_PREFIX, name);
+ prefix_bgp_orf_lookup (afi, name);
}
stream_forward_getp (s, orf_len);
}
diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c
index d72708e..4de854e 100644
--- a/bgpd/bgpd.c
+++ b/bgpd/bgpd.c
@@ -595,7 +595,7 @@
/* Clear ORF info */
peer->orf_plist[afi][safi] = NULL;
sprintf (orf_name, "%s.%d.%d", peer->host, afi, safi);
- prefix_bgp_orf_remove_all (orf_name);
+ prefix_bgp_orf_remove_all (afi, orf_name);
/* Set default neighbor send-community. */
if (! bgp_option_check (BGP_OPT_CONFIG_CISCO))