Coverage Report

Created: 2025-11-11 06:17

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/frr/zebra/zebra_mlag.h
Line
Count
Source
1
// SPDX-License-Identifier: GPL-2.0-or-later
2
/* Zebra mlag header.
3
 * Copyright (C) 2018 Cumulus Networks, Inc.
4
 *                    Donald Sharp
5
 */
6
#ifndef __ZEBRA_MLAG_H__
7
#define __ZEBRA_MLAG_H__
8
9
#include "mlag.h"
10
#include "zclient.h"
11
#include "zebra/zserv.h"
12
13
#ifdef __cplusplus
14
extern "C" {
15
#endif
16
17
1
#define ZEBRA_MLAG_BUF_LIMIT 32768
18
#define ZEBRA_MLAG_LEN_SIZE 4
19
20
DECLARE_HOOK(zebra_mlag_private_write_data,
21
       (uint8_t *data, uint32_t len), (data, len));
22
DECLARE_HOOK(zebra_mlag_private_monitor_state, (), ());
23
DECLARE_HOOK(zebra_mlag_private_open_channel, (), ());
24
DECLARE_HOOK(zebra_mlag_private_close_channel, (), ());
25
DECLARE_HOOK(zebra_mlag_private_cleanup_data, (), ());
26
27
extern uint8_t mlag_wr_buffer[ZEBRA_MLAG_BUF_LIMIT];
28
extern uint8_t mlag_rd_buffer[ZEBRA_MLAG_BUF_LIMIT];
29
30
static inline void zebra_mlag_reset_read_buffer(void)
31
1
{
32
1
  memset(mlag_wr_buffer, 0, ZEBRA_MLAG_BUF_LIMIT);
33
1
}
Unexecuted instantiation: zapi_msg.c:zebra_mlag_reset_read_buffer
zebra_mlag.c:zebra_mlag_reset_read_buffer
Line
Count
Source
31
1
{
32
1
  memset(mlag_wr_buffer, 0, ZEBRA_MLAG_BUF_LIMIT);
33
1
}
Unexecuted instantiation: zebra_router.c:zebra_mlag_reset_read_buffer
34
35
enum zebra_mlag_state {
36
  MLAG_UP = 1,
37
  MLAG_DOWN = 2,
38
};
39
40
void zebra_mlag_init(void);
41
void zebra_mlag_terminate(void);
42
enum mlag_role zebra_mlag_get_role(void);
43
void zebra_mlag_client_register(ZAPI_HANDLER_ARGS);
44
void zebra_mlag_client_unregister(ZAPI_HANDLER_ARGS);
45
void zebra_mlag_forward_client_msg(ZAPI_HANDLER_ARGS);
46
void zebra_mlag_send_register(void);
47
void zebra_mlag_send_deregister(void);
48
void zebra_mlag_handle_process_state(enum zebra_mlag_state state);
49
void zebra_mlag_process_mlag_data(uint8_t *data, uint32_t len);
50
51
/*
52
 * ProtoBuffer Api's
53
 */
54
int zebra_mlag_protobuf_encode_client_data(struct stream *s,
55
             uint32_t *msg_type);
56
int zebra_mlag_protobuf_decode_message(struct stream *s, uint8_t *data,
57
               uint32_t len);
58
#ifdef __cplusplus
59
}
60
#endif
61
62
#endif