|
|
It contains the actual code for the policy, its target, and names of the sets referenced. It also contains the policytags referenced.
Target (class) | Target |
A target consists of a protocol and a filter type. It identifies exactly which filter of which protocol has to be configured with this code.
typedef set<Target> TargetSet | TargetSet |
typedef set<uint32_t> TagSet | TagSet |
const Code::Target& target ()
| target |
[const]
Get the target.
Returns: a reference to the target.
void set_target (const Code::Target target)
| set_target |
Set the target.
Parameters:
target | the target. |
void set_target_protocol (const string& protocol)
| set_target_protocol |
Set the target protocol.
Parameters:
protocol | the target protocol name. |
void set_target_filter (const filter::Filter& filter)
| set_target_filter |
Set the target filter type.
Parameters:
filter | the target filter type. |
const string& code ()
| code |
[const]
Get the actual code.
Returns: a reference to the actual code.
void set_code (const string& code)
| set_code |
Set the actual code.
Parameters:
code | the actual code. |
void add_code (const string& code)
| add_code |
Add to the actual code.
Parameters:
code | the code to add. |
const set<string> referenced_set_names ()
| referenced_set_names |
[const]
Get the names of the sets referenced by this code.
Returns: a reference to the names of the sets referenced by this code.
void set_referenced_set_names (const set<string>& set_names)
| set_referenced_set_names |
Set the names of the sets referenced by this code.
Parameters:
set_names | the names of the sets referenced by this code. |
void add_referenced_set_name (const string& set_name)
| add_referenced_set_name |
Add the name of a set referenced by this code.
Parameters:
set_name | the name of the set referenced by this code. |
void clear_referenced_set_names ()
| clear_referenced_set_names |
Remove the names of all sets referenced by this code.
const set<string>& source_protocols ()
| source_protocols |
[const]
void add_source_protocol (const string& protocol)
| add_source_protocol |
Add a source protocol.
Parameters:
protocol | the protocol to add. |
const Code::TagSet& all_tags ()
| all_tags |
[const]
Get the set with all tags.
Returns: a reference to the set with all tags.
const Code::TagSet& redist_tags ()
| redist_tags |
[const]
Get the set with the tags used for route redistribution to other protocols.
Returns: a reference to the set with tags used for route redistribution.
void add_tag (uint32_t tag, bool is_redist_tag)
| add_tag |
Add a tag.
Parameters:
tag | the tag to add. |
is_redist_tag | if true, the tag is used for route redistribution to other protocols. |
void add_subr (const string& policy, const string& code)
| add_subr |
const SUBR& subr ()
| subr |
[const]
string str ()
| str |
Returns: string representation of code.
Code& operator += (const Code& rhs)
| operator += |
Appends code to current code. It enables for chunks of code to be linked.
Parameters:
rhs | code to link. |
Returns: reference to the updated code.