From 265419a3695b9a5c0a01d9fffc60f66fea8bee13 Mon Sep 17 00:00:00 2001 From: Maria Matejka Date: Wed, 21 Nov 2018 20:37:11 +0100 Subject: Custom route attributes For local route marking purposes, local custom route attributes may be defined. These attributes are seamlessly stripped after export filter to every real protocol like Kernel, BGP or OSPF, they however pass through pipes. We currently allow at most 256 custom attributes. This should be much faster than currently used bgp communities for marking routes. --- nest/config.Y | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'nest/config.Y') diff --git a/nest/config.Y b/nest/config.Y index 88f74b96..34bde3fa 100644 --- a/nest/config.Y +++ b/nest/config.Y @@ -532,6 +532,7 @@ r_args: $$ = cfg_allocz(sizeof(struct rt_show_data)); init_list(&($$->tables)); $$->filter = FILTER_ACCEPT; + $$->running_on_config = new_config->fallback; } | r_args net_any { $$ = $1; @@ -586,7 +587,6 @@ r_args: if ($3->class != SYM_PROTO || !c->proto) cf_error("%s is not a protocol", $3->name); $$->export_mode = $2; $$->export_protocol = c->proto; - $$->running_on_config = c->proto->cf->global; $$->tables_defined_by = RSD_TDB_INDIRECT; } | r_args export_mode SYM '.' r_args_channel { @@ -597,7 +597,6 @@ r_args: $$->export_mode = $2; $$->export_channel = proto_find_channel_by_name(c->proto, $5); if (!$$->export_channel) cf_error("Export channel not found"); - $$->running_on_config = c->proto->cf->global; $$->tables_defined_by = RSD_TDB_INDIRECT; } | r_args PROTOCOL SYM { @@ -606,7 +605,6 @@ r_args: if ($$->show_protocol) cf_error("Protocol specified twice"); if ($3->class != SYM_PROTO || !c->proto) cf_error("%s is not a protocol", $3->name); $$->show_protocol = c->proto; - $$->running_on_config = c->proto->cf->global; $$->tables_defined_by = RSD_TDB_INDIRECT; } | r_args STATS { -- cgit v1.2.3