back to topotato report
topotato coverage report
Current view: top level - pimd - pim_mlag.h (source / functions) Hit Total Coverage
Test: test_pim6_prune_propagate.py::PIM6PrunePropagate Lines: 0 4 0.0 %
Date: 2023-02-24 18:39:23 Functions: 0 0 -

          Line data    Source code
       1             : /*
       2             :  * This is an implementation of PIM MLAG Functionality
       3             :  *
       4             :  * Module name: PIM MLAG
       5             :  *
       6             :  * Author: sathesh Kumar karra <sathk@cumulusnetworks.com>
       7             :  *
       8             :  * Copyright (C) 2019 Cumulus Networks http://www.cumulusnetworks.com
       9             :  *
      10             :  * This program is free software; you can redistribute it and/or modify it
      11             :  * under the terms of the GNU General Public License as published by the Free
      12             :  * Software Foundation; either version 2 of the License, or (at your option)
      13             :  * any later version.
      14             :  *
      15             :  * This program is distributed in the hope that it will be useful, but WITHOUT
      16             :  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
      17             :  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
      18             :  * more details.
      19             :  *
      20             :  * You should have received a copy of the GNU General Public License along
      21             :  * with this program; see the file COPYING; if not, write to the Free Software
      22             :  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
      23             :  */
      24             : #ifndef __PIM_MLAG_H__
      25             : #define __PIM_MLAG_H__
      26             : 
      27             : #include "zclient.h"
      28             : #include "mlag.h"
      29             : #include "pim_iface.h"
      30             : 
      31             : #if PIM_IPV == 4
      32             : extern void pim_mlag_init(void);
      33             : extern void pim_mlag_terminate(void);
      34             : extern void pim_instance_mlag_init(struct pim_instance *pim);
      35             : extern void pim_instance_mlag_terminate(struct pim_instance *pim);
      36             : extern void pim_if_configure_mlag_dualactive(struct pim_interface *pim_ifp);
      37             : extern void pim_if_unconfigure_mlag_dualactive(struct pim_interface *pim_ifp);
      38             : extern int pim_zebra_mlag_process_up(ZAPI_CALLBACK_ARGS);
      39             : extern int pim_zebra_mlag_process_down(ZAPI_CALLBACK_ARGS);
      40             : extern int pim_zebra_mlag_handle_msg(ZAPI_CALLBACK_ARGS);
      41             : 
      42             : /* pm_zpthread.c */
      43             : extern int pim_mlag_signal_zpthread(void);
      44             : extern void pim_zpthread_init(void);
      45             : extern void pim_zpthread_terminate(void);
      46             : 
      47             : extern void pim_mlag_register(void);
      48             : extern void pim_mlag_deregister(void);
      49             : extern void pim_mlag_up_local_add(struct pim_instance *pim,
      50             :                                   struct pim_upstream *upstream);
      51             : extern void pim_mlag_up_local_del(struct pim_instance *pim,
      52             :                                   struct pim_upstream *upstream);
      53             : extern bool pim_mlag_up_df_role_update(struct pim_instance *pim,
      54             :                                        struct pim_upstream *up, bool is_df,
      55             :                                        const char *reason);
      56             : #else /* PIM_IPV == 4 */
      57             : static inline void pim_mlag_terminate(void)
      58             : {
      59             : }
      60             : 
      61             : static inline void pim_instance_mlag_init(struct pim_instance *pim)
      62             : {
      63             : }
      64             : 
      65             : static inline void pim_instance_mlag_terminate(struct pim_instance *pim)
      66             : {
      67             : }
      68             : 
      69             : static inline void pim_if_configure_mlag_dualactive(
      70             :                                                 struct pim_interface *pim_ifp)
      71             : {
      72             : }
      73             : 
      74             : static inline void pim_if_unconfigure_mlag_dualactive(
      75             :                                                 struct pim_interface *pim_ifp)
      76             : {
      77             : }
      78             : 
      79           0 : static inline void pim_mlag_register(void)
      80             : {
      81           0 : }
      82             : 
      83           0 : static inline void pim_mlag_up_local_add(struct pim_instance *pim,
      84             :                                          struct pim_upstream *upstream)
      85             : {
      86           0 : }
      87             : 
      88             : static inline void pim_mlag_up_local_del(struct pim_instance *pim,
      89             :                                          struct pim_upstream *upstream)
      90             : {
      91             : }
      92             : 
      93             : static inline bool pim_mlag_up_df_role_update(struct pim_instance *pim,
      94             :                                               struct pim_upstream *up,
      95             :                                               bool is_df, const char *reason)
      96             : {
      97             :         return false;
      98             : }
      99             : #endif
     100             : 
     101             : #endif

Generated by: LCOV version v1.16-topotato