pimd: Create macro to get appropriate pim instance

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
Donald Sharp 2017-05-22 16:12:41 -04:00
parent c9657fdc91
commit ae4a6b57ca
2 changed files with 10 additions and 2 deletions

View File

@ -4524,8 +4524,7 @@ DEFUN (ip_pim_rp,
"ip address of RP\n"
"Group Address range to cover\n")
{
VTY_DECLVAR_CONTEXT(vrf, vrf);
struct pim_instance *pim = vrf->info;
PIM_DECLVAR_CONTEXT(vrf, pim);
int idx_ipv4 = 3;
if (argc == (idx_ipv4 + 1))

View File

@ -66,4 +66,13 @@
void pim_cmd_init(void);
/*
* Special Macro to allow us to get the correct pim_instance;
*/
#define PIM_DECLVAR_CONTEXT(A, B) \
struct vrf *A = VTY_GET_CONTEXT(vrf); \
struct pim_instance *B = \
(vrf) ? vrf->info : pim_get_pim_instance(VRF_DEFAULT); \
vrf = (vrf) ? vrf : pim->vrf;
#endif /* PIM_CMD_H */