summaryrefslogtreecommitdiffstats
path: root/bgpd
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@opensourcerouting.org>2015-04-13 10:21:35 +0200
committerDavid Lamparter <equinox@opensourcerouting.org>2015-05-05 15:07:45 +0200
commitc9c06d0d8cbc766374c43328e91b7a87f93e9c62 (patch)
tree7079c5e07ab0941949373d901bbd672066b9e4c6 /bgpd
parente66cbd10d52a79fd61acab9d615683eebdbf1df5 (diff)
downloadquagga-c9c06d0d8cbc766374c43328e91b7a87f93e9c62.tar.bz2
quagga-c9c06d0d8cbc766374c43328e91b7a87f93e9c62.tar.xz
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>
Diffstat (limited to 'bgpd')
-rw-r--r--bgpd/bgp_fsm.c2
-rw-r--r--bgpd/bgp_packet.c6
-rw-r--r--bgpd/bgpd.c2
3 files changed, 5 insertions, 5 deletions
diff --git a/bgpd/bgp_fsm.c b/bgpd/bgp_fsm.c
index 112c34a1..d261bb59 100644
--- a/bgpd/bgp_fsm.c
+++ b/bgpd/bgp_fsm.c
@@ -545,7 +545,7 @@ bgp_stop (struct peer *peer)
/* 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 14fd6e51..18114ad5 100644
--- a/bgpd/bgp_packet.c
+++ b/bgpd/bgp_packet.c
@@ -2146,7 +2146,7 @@ bgp_route_refresh_receive (struct peer *peer, bgp_size_t size)
{
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 @@ bgp_route_refresh_receive (struct peer *peer, bgp_size_t size)
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 d72708e4..4de854e4 100644
--- a/bgpd/bgpd.c
+++ b/bgpd/bgpd.c
@@ -595,7 +595,7 @@ peer_af_flag_reset (struct peer *peer, afi_t afi, safi_t safi)
/* 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))