diff options
author | paulo <paul@bayleaf.org.uk> | 2010-01-27 11:40:13 +0000 |
---|---|---|
committer | paulo <paul@bayleaf.org.uk> | 2010-01-27 11:40:13 +0000 |
commit | 6503ce4cef43d8fe4da510fe9c55911c4af296e9 (patch) | |
tree | 39776a6f5c1ee6046aafc0072f92c923840fb9ca /lib/plist.c | |
parent | ffb52b1a705814c52d2d1b41c7058897f11b5aa3 (diff) | |
download | quagga-6503ce4cef43d8fe4da510fe9c55911c4af296e9.tar.bz2 quagga-6503ce4cef43d8fe4da510fe9c55911c4af296e9.tar.xz |
Fixed program shutdown. Added peering engine side of TTL changing.
Changed names of peer states. Writed in peering engine side of sending
route_refresh.
Diffstat (limited to 'lib/plist.c')
-rw-r--r-- | lib/plist.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/plist.c b/lib/plist.c index b01c48f6..9cf099dd 100644 --- a/lib/plist.c +++ b/lib/plist.c @@ -2834,6 +2834,30 @@ prefix_bgp_orf_entry (struct stream *s, prefix_list_ref ref, return s; } +/* Get the i'th BGP ORF prefix from the given list. + * return 1 - got ORF prefix. + * return 0 - no such entry + */ +int +prefix_bgp_orf_get(struct prefix_list *plist, vector_index i, + struct orf_prefix *orfpe, enum prefix_list_type *pe_type) +{ + struct prefix_list_entry *pe = NULL; + + if (!plist || i >= plist->list.end) + return 0; + + pe = vector_slot(&plist->list, i); + orfpe->seq = pe->seq; + orfpe->ge = pe->ge; + orfpe->le = pe->le; + orfpe->p = pe->prefix; + + *pe_type = pe->type; + + return 1; +} + /* Set or Unset a BGP ORF entry. */ int prefix_bgp_orf_set (char *name, afi_t afi, struct orf_prefix *orfp, |