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