]> git.proxmox.com Git - mirror_frr.git/blobdiff - pimd/pim_oil.h
Merge pull request #5288 from SumitAgarwal123/bfd_docs
[mirror_frr.git] / pimd / pim_oil.h
index 8b95324142c23f4f5c2261228fb14b7d9a9e37cd..319a1c91a32189afda223f42aab73de658316e24 100644 (file)
  */
 #define PIM_OIF_FLAG_PROTO_IGMP   (1 << 0)
 #define PIM_OIF_FLAG_PROTO_PIM    (1 << 1)
-#define PIM_OIF_FLAG_PROTO_SOURCE (1 << 2)
-#define PIM_OIF_FLAG_PROTO_STAR   (1 << 3)
-#define PIM_OIF_FLAG_PROTO_ANY                                                 \
-       (PIM_OIF_FLAG_PROTO_IGMP | PIM_OIF_FLAG_PROTO_PIM                      \
-        | PIM_OIF_FLAG_PROTO_SOURCE | PIM_OIF_FLAG_PROTO_STAR)
+#define PIM_OIF_FLAG_PROTO_STAR   (1 << 2)
+#define PIM_OIF_FLAG_PROTO_VXLAN  (1 << 3)
+#define PIM_OIF_FLAG_PROTO_ANY                                 \
+       (PIM_OIF_FLAG_PROTO_IGMP | PIM_OIF_FLAG_PROTO_PIM      \
+        | PIM_OIF_FLAG_PROTO_STAR | PIM_OIF_FLAG_PROTO_VXLAN)
 
 /*
  * We need a pimreg vif id from the kernel.
 
 struct channel_counts {
        unsigned long long lastused;
+       unsigned long origpktcnt;
        unsigned long pktcnt;
        unsigned long oldpktcnt;
+       unsigned long origbytecnt;
        unsigned long bytecnt;
        unsigned long oldbytecnt;
+       unsigned long origwrong_if;
        unsigned long wrong_if;
        unsigned long oldwrong_if;
 };
@@ -110,8 +113,11 @@ struct channel_oil *pim_find_channel_oil(struct pim_instance *pim,
                                         struct prefix_sg *sg);
 struct channel_oil *pim_channel_oil_add(struct pim_instance *pim,
                                        struct prefix_sg *sg,
-                                       int input_vif_index);
-void pim_channel_oil_del(struct channel_oil *c_oil);
+                                       int input_vif_index, const char *name);
+void pim_channel_oil_change_iif(struct pim_instance *pim,
+                               struct channel_oil *c_oil, int input_vif_index,
+                               const char *name);
+void pim_channel_oil_del(struct channel_oil *c_oil, const char *name);
 
 int pim_channel_add_oif(struct channel_oil *c_oil, struct interface *oif,
                        uint32_t proto_mask);