mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-12-23 02:01:55 +00:00
fixup! fixup! fixup! partial import seems working
This commit is contained in:
parent
95c3ac5d8b
commit
283ea03419
@ -1263,7 +1263,7 @@ This argument can be omitted if there exists only a single instance.
|
|||||||
Enable, disable or restart a given protocol instance, instances matching
|
Enable, disable or restart a given protocol instance, instances matching
|
||||||
the <cf><m/pattern/</cf> or <cf/all/ instances.
|
the <cf><m/pattern/</cf> or <cf/all/ instances.
|
||||||
|
|
||||||
<tag><label id="cli-reload">reload [in|out] <m/name/|"<m/pattern/"|all</tag>
|
<tag><label id="cli-reload">reload [in|out] (<m/name/|"<m/pattern/"|all) [partial <prefix>] </tag>
|
||||||
Reload a given protocol instance, that means re-import routes from the
|
Reload a given protocol instance, that means re-import routes from the
|
||||||
protocol instance and re-export preferred routes to the instance. If
|
protocol instance and re-export preferred routes to the instance. If
|
||||||
<cf/in/ or <cf/out/ options are used, the command is restricted to one
|
<cf/in/ or <cf/out/ options are used, the command is restricted to one
|
||||||
@ -1274,6 +1274,9 @@ This argument can be omitted if there exists only a single instance.
|
|||||||
propagates the old set of routes. For example when <cf/configure soft/
|
propagates the old set of routes. For example when <cf/configure soft/
|
||||||
command was used to change filters.
|
command was used to change filters.
|
||||||
|
|
||||||
|
If partial <prefix> option is used, only corresponding routes are reloaded.
|
||||||
|
Protocol BGP does partial reload only if it has locked table, otherwise partial reload for BGP is refused.
|
||||||
|
|
||||||
Re-export always succeeds, but re-import is protocol-dependent and might
|
Re-export always succeeds, but re-import is protocol-dependent and might
|
||||||
fail (for example, if BGP neighbor does not support route-refresh
|
fail (for example, if BGP neighbor does not support route-refresh
|
||||||
extension). In that case, re-export is also skipped. Note that for the
|
extension). In that case, re-export is also skipped. Note that for the
|
||||||
|
@ -921,7 +921,7 @@ partial_opt:
|
|||||||
PARTIAL term {
|
PARTIAL term {
|
||||||
struct f_val val;
|
struct f_val val;
|
||||||
if (f_eval(f_linearize($2, 1), &val) > F_RETURN) cf_error("Runtime error");
|
if (f_eval(f_linearize($2, 1), &val) > F_RETURN) cf_error("Runtime error");
|
||||||
if (val.type != T_PREFIX_SET) cf_error("Partial spec must be trie");
|
if (val.type != T_PREFIX_SET) cf_error("Partial spec must be prefix set");
|
||||||
$$ = val.val.ti;
|
$$ = val.val.ti;
|
||||||
}
|
}
|
||||||
| /* empty */ { $$ = NULL; }
|
| /* empty */ { $$ = NULL; }
|
||||||
@ -933,7 +933,7 @@ CF_CLI(ENABLE, proto_patt opttext, (<protocol> | \"<pattern>\" | all) [message],
|
|||||||
{ proto_apply_cmd($2, proto_cmd_enable, 1, (uintptr_t) $3); } ;
|
{ proto_apply_cmd($2, proto_cmd_enable, 1, (uintptr_t) $3); } ;
|
||||||
CF_CLI(RESTART, proto_patt opttext, (<protocol> | \"<pattern>\" | all) [message], [[Restart protocol]])
|
CF_CLI(RESTART, proto_patt opttext, (<protocol> | \"<pattern>\" | all) [message], [[Restart protocol]])
|
||||||
{ proto_apply_cmd($2, proto_cmd_restart, 1, (uintptr_t) $3); } ;
|
{ proto_apply_cmd($2, proto_cmd_restart, 1, (uintptr_t) $3); } ;
|
||||||
CF_CLI(RELOAD, proto_patt partial_opt, <protocol> | \"<pattern>\" | all, [[Reload protocol]])
|
CF_CLI(RELOAD, proto_patt partial_opt, (<protocol> | \"<pattern>\" | all) [partial <prefix set>], [[Reload protocol]])
|
||||||
{ proto_call_cmd_reload($2, CMD_RELOAD, $3); } ;
|
{ proto_call_cmd_reload($2, CMD_RELOAD, $3); } ;
|
||||||
CF_CLI(RELOAD IN, proto_patt partial_opt, <protocol> | \"<pattern>\" | all, [[Reload protocol (just imported routes)]])
|
CF_CLI(RELOAD IN, proto_patt partial_opt, <protocol> | \"<pattern>\" | all, [[Reload protocol (just imported routes)]])
|
||||||
{ proto_call_cmd_reload($3, CMD_RELOAD_IN, $4); } ;
|
{ proto_call_cmd_reload($3, CMD_RELOAD_IN, $4); } ;
|
||||||
|
@ -1151,7 +1151,7 @@ channel_request_reload(struct channel *c)
|
|||||||
if ((c->in_keep & RIK_PREFILTER) == RIK_PREFILTER)
|
if ((c->in_keep & RIK_PREFILTER) == RIK_PREFILTER)
|
||||||
channel_schedule_reload(c, cir);
|
channel_schedule_reload(c, cir);
|
||||||
else if (! c->proto->reload_routes(c, cir))
|
else if (! c->proto->reload_routes(c, cir))
|
||||||
bug( "Partial reload was refused. Maybe you tried partial reload on bgp?");
|
bug( "Partial reload was refused. Maybe you tried partial reload on BGP with unlocked table?");
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -1165,7 +1165,7 @@ channel_request_partial_reload(struct channel *c, struct channel_import_request
|
|||||||
if ((c->in_keep & RIK_PREFILTER) == RIK_PREFILTER)
|
if ((c->in_keep & RIK_PREFILTER) == RIK_PREFILTER)
|
||||||
channel_schedule_reload(c, cir);
|
channel_schedule_reload(c, cir);
|
||||||
else if (! c->proto->reload_routes(c, cir))
|
else if (! c->proto->reload_routes(c, cir))
|
||||||
cli_msg(-15, "Partial reload was refused. Maybe you tried partial reload on bgp?");
|
cli_msg(-15, "Partial reload was refused. Maybe you tried partial reload on BGP with unlocked table?");
|
||||||
}
|
}
|
||||||
|
|
||||||
const struct channel_class channel_basic = {
|
const struct channel_class channel_basic = {
|
||||||
|
Loading…
Reference in New Issue
Block a user