summaryrefslogtreecommitdiff
path: root/pimd/pim_msdp.h
diff options
context:
space:
mode:
Diffstat (limited to 'pimd/pim_msdp.h')
-rw-r--r--pimd/pim_msdp.h67
1 files changed, 17 insertions, 50 deletions
diff --git a/pimd/pim_msdp.h b/pimd/pim_msdp.h
index d0aa83d997..4edb6e6166 100644
--- a/pimd/pim_msdp.h
+++ b/pimd/pim_msdp.h
@@ -152,6 +152,9 @@ struct pim_msdp_peer {
char *acl_in;
/** SA output access list name. */
char *acl_out;
+
+ /** SA maximum amount. */
+ uint32_t sa_limit;
};
struct pim_msdp_mg_mbr {
@@ -232,8 +235,6 @@ struct pim_msdp {
#define PIM_MSDP_PEER_READ_OFF(mp) event_cancel(&mp->t_read)
#define PIM_MSDP_PEER_WRITE_OFF(mp) event_cancel(&mp->t_write)
-#if PIM_IPV != 6
-// struct pim_msdp *msdp;
struct pim_instance;
void pim_msdp_init(struct pim_instance *pim, struct event_loop *master);
void pim_msdp_exit(struct pim_instance *pim);
@@ -260,6 +261,8 @@ void pim_msdp_up_del(struct pim_instance *pim, pim_sgaddr *sg);
enum pim_msdp_err pim_msdp_mg_del(struct pim_instance *pim,
const char *mesh_group_name);
+extern void pim_upstream_msdp_reg_timer_start(struct pim_upstream *up);
+
/**
* Allocates a new mesh group data structure under PIM instance.
*/
@@ -338,53 +341,17 @@ void pim_msdp_peer_restart(struct pim_msdp_peer *mp);
*/
void pim_msdp_shutdown(struct pim_instance *pim, bool state);
-#else /* PIM_IPV == 6 */
-static inline void pim_msdp_init(struct pim_instance *pim,
- struct event_loop *master)
-{
-}
-
-static inline void pim_msdp_exit(struct pim_instance *pim)
-{
-}
-
-static inline void pim_msdp_i_am_rp_changed(struct pim_instance *pim)
-{
-}
-
-static inline void pim_msdp_up_join_state_changed(struct pim_instance *pim,
- struct pim_upstream *xg_up)
-{
-}
-
-static inline void pim_msdp_up_del(struct pim_instance *pim, pim_sgaddr *sg)
-{
-}
-
-static inline void pim_msdp_sa_local_update(struct pim_upstream *up)
-{
-}
-
-static inline void pim_msdp_sa_local_del(struct pim_instance *pim,
- pim_sgaddr *sg)
-{
-}
-
-static inline int pim_msdp_config_write(struct pim_instance *pim,
- struct vty *vty)
-{
- return 0;
-}
-
-static inline bool pim_msdp_peer_config_write(struct vty *vty,
- struct pim_instance *pim)
-{
- return false;
-}
-
-static inline void pim_msdp_shutdown(struct pim_instance *pim, bool state)
-{
-}
-#endif /* PIM_IPV == 6 */
+/**
+ * Get the configured originator ID for the SA RP field or the RP for the group.
+ *
+ * \param[in] pim PIM instance that MSDP connection belongs to.
+ * \param[in] group Multicast group.
+ * \param[out] originator_id Originator output value.
+ */
+void pim_msdp_originator_id(struct pim_instance *pim, const struct prefix *group,
+ struct in_addr *originator_id);
+
+extern bool pim_msdp_log_neighbor_events(const struct pim_instance *pim);
+extern bool pim_msdp_log_sa_events(const struct pim_instance *pim);
#endif