OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
bgp_export.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
3  */
4 
5 #ifndef SRC_BGP_BGP_EXPORT_H_
6 #define SRC_BGP_BGP_EXPORT_H_
7 
8 #include <memory>
9 
10 class BgpTable;
11 class DBEntryBase;
12 class DBTablePartBase;
13 class RibOut;
14 class RibPeerSet;
15 
16 class BgpExport {
17 public:
18  explicit BgpExport(RibOut *ribout);
19 
20  void Export(DBTablePartBase *root, DBEntryBase *db_entry);
21 
22  // Create new route advertisements in order to sync a peers that has
23  // just joined the table.
24  bool Join(DBTablePartBase *root, const RibPeerSet &mjoin,
25  DBEntryBase *db_entry);
26 
27  // Process a route refresh: re-advertise routes to the given set of peers.
28  bool Refresh(DBTablePartBase *root, const RibPeerSet &mgroup,
29  DBEntryBase *db_entry);
30 
31  // Cleanup the advertisement bits on update entries.
32  bool Leave(DBTablePartBase *root, const RibPeerSet &mleave,
33  DBEntryBase *db_entry);
34 
35 private:
37 };
38 
39 #endif // SRC_BGP_BGP_EXPORT_H_
BgpExport(RibOut *ribout)
Definition: bgp_export.cc:16
bool Refresh(DBTablePartBase *root, const RibPeerSet &mgroup, DBEntryBase *db_entry)
bool Join(DBTablePartBase *root, const RibPeerSet &mjoin, DBEntryBase *db_entry)
Definition: bgp_export.cc:178
void Export(DBTablePartBase *root, DBEntryBase *db_entry)
Definition: bgp_export.cc:43
RibOut * ribout_
Definition: bgp_export.h:36
bool Leave(DBTablePartBase *root, const RibPeerSet &mleave, DBEntryBase *db_entry)
Definition: bgp_export.cc:234