2023-02-08 13:17:09 +01:00
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
2016-05-27 01:31:38 +02:00
|
|
|
/* PIM Route-map Code
|
|
|
|
* Copyright (C) 2016 Cumulus Networks <sharpd@cumulusnetworks.com>
|
|
|
|
* Copyright (C) 1999 Kunihiro Ishiguro <kunihiro@zebra.org>
|
|
|
|
*
|
|
|
|
* This file is part of Quagga
|
|
|
|
*/
|
|
|
|
#include <zebra.h>
|
|
|
|
|
2016-06-18 02:43:21 +02:00
|
|
|
#include "if.h"
|
2016-10-06 21:56:13 +02:00
|
|
|
#include "vty.h"
|
2016-05-27 01:31:38 +02:00
|
|
|
#include "routemap.h"
|
|
|
|
|
|
|
|
#include "pimd.h"
|
|
|
|
|
2016-09-09 22:24:31 +02:00
|
|
|
static void pim_route_map_add(const char *rmap_name)
|
|
|
|
{
|
|
|
|
route_map_notify_dependencies(rmap_name, RMAP_EVENT_MATCH_ADDED);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void pim_route_map_delete(const char *rmap_name)
|
|
|
|
{
|
|
|
|
route_map_notify_dependencies(rmap_name, RMAP_EVENT_MATCH_DELETED);
|
|
|
|
}
|
|
|
|
|
2019-05-09 05:19:55 +02:00
|
|
|
static void pim_route_map_event(const char *rmap_name)
|
2016-09-09 22:24:31 +02:00
|
|
|
{
|
|
|
|
route_map_notify_dependencies(rmap_name, RMAP_EVENT_MATCH_ADDED);
|
|
|
|
}
|
|
|
|
|
2016-05-27 01:31:38 +02:00
|
|
|
void pim_route_map_init(void)
|
|
|
|
{
|
|
|
|
route_map_init();
|
2016-10-19 16:55:01 +02:00
|
|
|
|
2016-09-09 22:24:31 +02:00
|
|
|
route_map_add_hook(pim_route_map_add);
|
|
|
|
route_map_delete_hook(pim_route_map_delete);
|
|
|
|
route_map_event_hook(pim_route_map_event);
|
|
|
|
}
|
|
|
|
|
|
|
|
void pim_route_map_terminate(void)
|
|
|
|
{
|
|
|
|
route_map_finish();
|
2016-05-27 01:31:38 +02:00
|
|
|
}
|