2023-02-08 13:17:09 +01:00
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
2015-08-26 14:21:40 +02:00
|
|
|
/*
|
|
|
|
* Zebra routemap header
|
|
|
|
* Copyright (C) 2015 Cumulus Networks, Inc.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __ZEBRA_ROUTEMAP_H__
|
|
|
|
#define __ZEBRA_ROUTEMAP_H__
|
|
|
|
|
2018-04-22 22:01:20 +02:00
|
|
|
#include "lib/routemap.h"
|
|
|
|
|
2019-03-25 15:11:55 +01:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2017-12-08 00:35:29 +01:00
|
|
|
extern void zebra_route_map_init(void);
|
2024-10-28 19:55:49 +01:00
|
|
|
extern char *zebra_get_import_table_route_map(afi_t afi, safi_t safi, uint32_t table);
|
|
|
|
extern void zebra_add_import_table_route_map(afi_t afi, safi_t safi, const char *rmap_name,
|
2016-05-11 17:47:02 +02:00
|
|
|
uint32_t table);
|
2024-10-28 19:55:49 +01:00
|
|
|
extern void zebra_del_import_table_route_map(afi_t afi, safi_t safi, uint32_t table);
|
2016-05-11 17:47:02 +02:00
|
|
|
|
2023-08-11 17:15:06 +02:00
|
|
|
extern route_map_result_t zebra_import_table_route_map_check(
|
|
|
|
int family, struct route_entry *re, const struct prefix *p,
|
2023-08-11 17:21:03 +02:00
|
|
|
struct nexthop *nexthop, const char *rmap_name);
|
|
|
|
extern route_map_result_t zebra_route_map_check(afi_t family,
|
|
|
|
struct route_entry *re,
|
|
|
|
const struct prefix *p,
|
|
|
|
struct nexthop *nexthop,
|
|
|
|
struct zebra_vrf *zvrf);
|
2023-08-11 17:11:40 +02:00
|
|
|
extern route_map_result_t zebra_nht_route_map_check(afi_t afi, int client_proto,
|
|
|
|
const struct prefix *p,
|
|
|
|
struct zebra_vrf *zvrf,
|
|
|
|
struct route_entry *re,
|
|
|
|
struct nexthop *nexthop);
|
2015-08-26 14:21:40 +02:00
|
|
|
|
2024-01-27 01:15:56 +01:00
|
|
|
extern void zebra_route_map_set_delay_timer(uint32_t value);
|
2024-01-27 00:50:04 +01:00
|
|
|
extern int ip_protocol_rm_add(struct zebra_vrf *zvrf, const char *rmap,
|
|
|
|
int rtype, afi_t afi, safi_t safi);
|
|
|
|
extern int ip_protocol_rm_del(struct zebra_vrf *zvrf, const char *rmap,
|
|
|
|
int rtype, afi_t afi, safi_t safi);
|
2024-01-27 00:51:33 +01:00
|
|
|
extern int ip_nht_rm_add(struct zebra_vrf *zvrf, const char *rmap, int rtype,
|
|
|
|
int afi);
|
|
|
|
extern int ip_nht_rm_del(struct zebra_vrf *zvrf, const char *rmap, int rtype,
|
|
|
|
int afi);
|
2024-01-27 00:50:04 +01:00
|
|
|
|
2022-12-09 14:51:34 +01:00
|
|
|
extern void zebra_routemap_vrf_delete(struct zebra_vrf *zvrf);
|
|
|
|
|
2019-03-25 15:11:55 +01:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
2020-03-16 03:23:38 +01:00
|
|
|
extern void zebra_routemap_finish(void);
|
2020-10-30 08:41:19 +01:00
|
|
|
|
|
|
|
extern const struct frr_yang_module_info frr_zebra_route_map_info;
|
2015-08-26 14:21:40 +02:00
|
|
|
#endif
|