]>
Commit | Line | Data |
---|---|---|
acddc0ed | 1 | // SPDX-License-Identifier: GPL-2.0-or-later |
b583b035 AK |
2 | /* PIM support for VxLAN BUM flooding |
3 | * | |
4 | * Copyright (C) 2019 Cumulus Networks, Inc. | |
5 | * | |
b583b035 AK |
6 | */ |
7 | ||
8 | #ifndef PIM_VXLAN_INSTANCE_H | |
9 | #define PIM_VXLAN_INSTANCE_H | |
10 | ||
b07d897e AK |
11 | /* pim termination device is expected to include the substring ipmr-lo */ |
12 | #define PIM_VXLAN_TERM_DEV_NAME "ipmr-lo" | |
13 | ||
b583b035 AK |
14 | struct pim_vxlan_instance { |
15 | struct hash *sg_hash; | |
b07d897e AK |
16 | |
17 | /* this is lo for default instance and vrf-dev for non-default | |
18 | * instances | |
19 | */ | |
20 | struct interface *default_iif; | |
21 | ||
22 | /* In a MLAG/VxLAN-AA setup the peerlink sub-interface (ISL-rif) is | |
23 | * used as the IIF in | |
24 | */ | |
25 | struct interface *peerlink_rif; | |
26 | ||
27 | /* device used by the dataplane to terminate multicast encapsulated | |
28 | * vxlan traffic | |
29 | */ | |
650d9ad1 | 30 | struct interface *term_if_cfg; |
b07d897e | 31 | struct interface *term_if; |
b583b035 AK |
32 | }; |
33 | ||
34 | extern void pim_vxlan_init(struct pim_instance *pim); | |
35 | extern void pim_vxlan_exit(struct pim_instance *pim); | |
36 | ||
37 | #endif /* PIM_VXLAN_INSTANCE_H */ |