]> git.proxmox.com Git - mirror_frr.git/blob - pimd/pim_static.h
*: auto-convert to SPDX License IDs
[mirror_frr.git] / pimd / pim_static.h
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3 * PIM for Quagga: add the ability to configure multicast static routes
4 * Copyright (C) 2014 Nathan Bahr, ATCorp
5 */
6
7 #ifndef PIM_STATIC_H_
8 #define PIM_STATIC_H_
9
10 #include <zebra.h>
11 #include "pim_mroute.h"
12 #include "pim_oil.h"
13 #include "if.h"
14
15 struct static_route {
16 /* Each static route is unique by these pair of addresses */
17 pim_addr group;
18 pim_addr source;
19
20 struct channel_oil c_oil;
21 ifindex_t iif;
22 unsigned char oif_ttls[MAXVIFS];
23 };
24
25 void pim_static_route_free(struct static_route *s_route);
26
27 int pim_static_add(struct pim_instance *pim, struct interface *iif,
28 struct interface *oif, pim_addr group, pim_addr source);
29 int pim_static_del(struct pim_instance *pim, struct interface *iif,
30 struct interface *oif, pim_addr group, pim_addr source);
31 int pim_static_write_mroute(struct pim_instance *pim, struct vty *vty,
32 struct interface *ifp);
33
34 #endif /* PIM_STATIC_H_ */