]> git.proxmox.com Git - mirror_frr.git/blob - lib/mlag.h
pimd : Add support for MLAG Register & Un-register
[mirror_frr.git] / lib / mlag.h
1 /* mlag header.
2 * Copyright (C) 2018 Cumulus Networks, Inc.
3 * Donald Sharp
4 *
5 * This file is part of FRR.
6 *
7 * FRR is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the
9 * Free Software Foundation; either version 2, or (at your option) any
10 * later version.
11 *
12 * FRR is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with FRR; see the file COPYING. If not, write to the Free
19 * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
20 * 02111-1307, USA.
21 */
22 #ifndef __MLAG_H__
23 #define __MLAG_H__
24
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28
29 #define MLAG_BUF_LIMIT 2048
30
31 enum mlag_role {
32 MLAG_ROLE_NONE,
33 MLAG_ROLE_PRIMARY,
34 MLAG_ROLE_SECONDARY
35 };
36
37 /*
38 * This message definition should match mlag.proto
39 * Beacuse mesasge registartion is based on this
40 */
41 enum mlag_msg_type {
42 MLAG_MSG_NONE = 0,
43 MLAG_REGISTER = 1,
44 MLAG_DEREGISTER = 2,
45 MLAG_STATUS_UPDATE = 3,
46 MLAG_MROUTE_ADD = 4,
47 MLAG_MROUTE_DEL = 5,
48 MLAG_DUMP = 6,
49 MLAG_MROUTE_ADD_BULK = 7,
50 MLAG_MROUTE_DEL_BULK = 8,
51 MLAG_PIM_CFG_DUMP = 10,
52 MLAG_VXLAN_UPDATE = 11,
53 MLAG_PEER_FRR_STATUS = 12,
54 };
55
56 extern char *mlag_role2str(enum mlag_role role, char *buf, size_t size);
57
58 #ifdef __cplusplus
59 }
60 #endif
61
62 #endif