rfg->rt_import_list =
ecommunity_dup (bgp->rfapi_cfg->default_rt_import_list);
rfg->rfapi_import_table =
- rfapiImportTableRefAdd (bgp, rfg->rt_import_list);
+ rfapiImportTableRefAdd (bgp, rfg->rt_import_list, rfg);
}
/*
*/
if (rfg->rfapi_import_table)
rfapiImportTableRefDelByIt (bgp, rfg->rfapi_import_table);
- rfg->rfapi_import_table = rfapiImportTableRefAdd (bgp, rfg->rt_import_list);
+ rfg->rfapi_import_table = rfapiImportTableRefAdd (bgp, rfg->rt_import_list, rfg);
if (is_export_bgp)
vnc_direct_bgp_add_group (bgp, rfg);
*/
if (rfg->rfapi_import_table)
rfapiImportTableRefDelByIt (bgp, rfg->rfapi_import_table);
- rfg->rfapi_import_table = rfapiImportTableRefAdd (bgp, rfg->rt_import_list);
+ rfg->rfapi_import_table = rfapiImportTableRefAdd (bgp, rfg->rt_import_list, rfg);
if (is_export_bgp)
vnc_direct_bgp_add_group (bgp, rfg);
*/
if (rfg->rfapi_import_table)
rfapiImportTableRefDelByIt (bgp, rfg->rfapi_import_table);
- rfg->rfapi_import_table = rfapiImportTableRefAdd (bgp, rfg->rt_import_list);
+ rfg->rfapi_import_table = rfapiImportTableRefAdd (bgp, rfg->rt_import_list, rfg);
if (is_export_bgp)
vnc_direct_bgp_add_group (bgp, rfg);
*/
if (rfg->rfapi_import_table)
rfapiImportTableRefDelByIt (bgp, rfg->rfapi_import_table);
- rfg->rfapi_import_table = rfapiImportTableRefAdd (bgp, rfg->rt_import_list);
+ rfg->rfapi_import_table = rfapiImportTableRefAdd (bgp, rfg->rt_import_list, rfg);
if (is_export_bgp)
vnc_direct_bgp_add_group (bgp, rfg);
struct rfapi *bgp_rfapi_new (struct bgp *bgp);
void bgp_rfapi_destroy (struct bgp *bgp, struct rfapi *h);
-struct rfapi_import_table *rfapiImportTableRefAdd (struct bgp *bgp,
- struct ecommunity
- *rt_import_list);
-
-void
-rfapiImportTableRefDelByIt (struct bgp *bgp,
- struct rfapi_import_table *it_target);
-
-
extern void
rfapiProcessUpdate (struct peer *peer,
void *rfd,
}
struct rfapi_import_table *
-rfapiImportTableRefAdd (struct bgp *bgp, struct ecommunity *rt_import_list)
+rfapiImportTableRefAdd (struct bgp *bgp, struct ecommunity *rt_import_list,
+ struct rfapi_nve_group_cfg *rfg)
{
struct rfapi *h;
struct rfapi_import_table *it;
h->imports = it;
it->rt_import_list = ecommunity_dup (rt_import_list);
+ it->rfg = rfg;
it->monitor_exterior_orphans =
skiplist_new (0, NULL, (void (*)(void *)) prefix_free);
struct rfapi_import_table
{
struct rfapi_import_table *next;
+ struct rfapi_nve_group_cfg *rfg;
struct ecommunity *rt_import_list; /* copied from nve grp */
int refcount; /* nve grps and nves */
uint32_t l2_logical_net_id; /* L2 only: EVPN Eth Seg Id */
struct route_table *rt,
int isvpn);
+extern struct rfapi_import_table *
+rfapiImportTableRefAdd (
+ struct bgp *bgp,
+ struct ecommunity *rt_import_list,
+ struct rfapi_nve_group_cfg *rfg);
extern void
rfapiImportTableRefDelByIt (
if (pLni)
{
- fp (out, "%s[%s] L2VPN Network 0x%x (%u) RT={%s}%s",
- HVTY_NEWLINE, type, *pLni, (*pLni & 0xfff), s,
- HVTY_NEWLINE);
+ fp (out, "%s[%s] L2VPN Network 0x%x (%u) RT={%s}",
+ HVTY_NEWLINE, type, *pLni, (*pLni & 0xfff), s);
}
else
{
- fp (out, "%s[%s] Prefix RT={%s}%s",
- HVTY_NEWLINE, type, s, HVTY_NEWLINE);
+ fp (out, "%s[%s] Prefix RT={%s}",
+ HVTY_NEWLINE, type, s);
}
XFREE (MTYPE_ECOMMUNITY_STR, s);
+ if (it->rfg && it->rfg->name)
+ {
+ fp (out, " %s \"%s\"",
+ (it->rfg->type == RFAPI_GROUP_CFG_VRF ?
+ "VRF" : "NVE group"),
+ it->rfg->name);
+ }
+ fp (out, "%s", HVTY_NEWLINE);
if (show_expiring)
{
#if RFAPI_REGISTRATIONS_REPORT_AGE