]> git.proxmox.com Git - mirror_frr.git/blobdiff - pimd/pim_mroute.h
Merge pull request #5498 from mjstapp/sharp_with_labels
[mirror_frr.git] / pimd / pim_mroute.h
index eb6c40b676508e7d43752d1a57981722b41ff213..2d8e1b01fb89117e391aebf0fa21f0d6c63bb0e0 100644 (file)
 #define MRT_PIM      (MRT_BASE+8)    /* enable PIM code      */
 #endif
 
+#ifndef MRT_TABLE
+#define MRT_TABLE    (209)           /* Specify mroute table ID */
+#endif
+
 #ifndef HAVE_VIFI_T
 typedef unsigned short vifi_t;
 #endif
@@ -163,17 +167,22 @@ struct igmpmsg {
   Above: from <linux/mroute.h>
 */
 
-int pim_mroute_socket_enable(void);
-int pim_mroute_socket_disable(void);
+int pim_mroute_socket_enable(struct pim_instance *pim);
+int pim_mroute_socket_disable(struct pim_instance *pim);
 
 int pim_mroute_add_vif(struct interface *ifp, struct in_addr ifaddr,
                       unsigned char flags);
-int pim_mroute_del_vif(int vif_index);
-
-int pim_mroute_add(struct channel_oil *c_oil, const char *name);
+int pim_mroute_del_vif(struct interface *ifp);
+
+int pim_upstream_mroute_add(struct channel_oil *c_oil, const char *name);
+int pim_upstream_mroute_iif_update(struct channel_oil *c_oil, const char *name);
+int pim_static_mroute_add(struct channel_oil *c_oil, const char *name);
+void pim_static_mroute_iif_update(struct channel_oil *c_oil,
+                               int input_vif_index,
+                               const char *name);
 int pim_mroute_del(struct channel_oil *c_oil, const char *name);
 
-int pim_mroute_msg(int fd, const char *buf, int buf_size);
-
 void pim_mroute_update_counters(struct channel_oil *c_oil);
+bool pim_mroute_allow_iif_in_oil(struct channel_oil *c_oil,
+               int oif_index);
 #endif /* PIM_MROUTE_H */