2 * SHARP - code to track globals
3 * Copyright (C) 2019 Cumulus Networks, Inc.
6 * This file is part of FRR.
8 * FRR is free software; you can redistribute it and/or modify it
9 * under the terms of the GNU General Public License as published by the
10 * Free Software Foundation; either version 2, or (at your option) any
13 * FRR is distributed in the hope that it will be useful, but
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * General Public License for more details.
18 * You should have received a copy of the GNU General Public License along
19 * with this program; see the file COPYING; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 #ifndef __SHARP_GLOBAL_H__
23 #define __SHARP_GLOBAL_H__
27 DECLARE_MGROUP(SHARPD
);
30 /* The original prefix for route installation */
31 struct prefix orig_prefix
;
33 /* The nexthop info we are using for installation */
35 struct nexthop backup_nhop
;
37 struct nexthop_group nhop_group
;
38 struct nexthop_group backup_nhop_group
;
40 uint32_t total_routes
;
41 uint32_t installed_routes
;
42 uint32_t removed_routes
;
45 /* ZAPI_ROUTE's flag */
51 struct timeval t_start
;
54 char opaque
[ZAPI_MESSAGE_OPAQUE_LENGTH
];
57 struct sharp_srv6_locator
{
59 char name
[SRV6_LOCNAME_SIZE
];
61 /* list of struct prefix_ipv6 */
66 /* Global data about route install/deletions */
67 struct sharp_routes r
;
69 /* The list of nexthops that we are watching and data about them */
72 /* Traffic Engineering Database */
75 /* list of sharp_srv6_locator */
76 struct list
*srv6_locators
;
79 extern struct sharp_global sg
;