]>
git.proxmox.com Git - mirror_frr.git/blob - pimd/pim_jp_agg.h
1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * PIM for FRR - J/P Aggregation
4 * Copyright (C) 2017 Cumulus Networks, Inc.
7 #ifndef __PIM_JP_AGG_H__
8 #define __PIM_JP_AGG_H__
12 struct pim_jp_sources
{
13 struct pim_upstream
*up
;
17 struct pim_jp_agg_group
{
22 void pim_jp_agg_upstream_verification(struct pim_upstream
*up
, bool ignore
);
23 int pim_jp_agg_is_in_list(struct list
*group
, struct pim_upstream
*up
);
25 void pim_jp_agg_group_list_free(struct pim_jp_agg_group
*jag
);
26 int pim_jp_agg_group_list_cmp(void *arg1
, void *arg2
);
28 void pim_jp_agg_clear_group(struct list
*group
);
29 void pim_jp_agg_remove_group(struct list
*group
, struct pim_upstream
*up
,
30 struct pim_neighbor
*nbr
);
32 void pim_jp_agg_add_group(struct list
*group
, struct pim_upstream
*up
,
33 bool is_join
, struct pim_neighbor
*nbr
);
35 void pim_jp_agg_switch_interface(struct pim_rpf
*orpf
, struct pim_rpf
*nrpf
,
36 struct pim_upstream
*up
);
38 void pim_jp_agg_single_upstream_send(struct pim_rpf
*rpf
,
39 struct pim_upstream
*up
, bool is_join
);