diff options
author | Maria Matejka <mq@ucw.cz> | 2022-06-22 12:45:42 +0200 |
---|---|---|
committer | Maria Matejka <mq@ucw.cz> | 2022-06-24 15:49:08 +0200 |
commit | 9c9059fd172dcc2f8805529de4b3174f280c109c (patch) | |
tree | b0e642405a9485b0f571d8414720a072aac7b404 /nest/protocol.h | |
parent | 050b4b4e5e6d4c05345bed2ec62c865258b4e7ee (diff) |
Allowed optimized exporting of a subprefix tree
Added an option for export filter to allow for prefiltering based on the
prefix. Routes outside the given prefix are completely ignored. Config
is simple:
export in <net> <filter>;
Diffstat (limited to 'nest/protocol.h')
-rw-r--r-- | nest/protocol.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/nest/protocol.h b/nest/protocol.h index b482ed99..a1701a7e 100644 --- a/nest/protocol.h +++ b/nest/protocol.h @@ -452,6 +452,7 @@ struct channel_config { struct proto_config *parent; /* Where channel is defined (proto or template) */ struct rtable_config *table; /* Table we're attached to */ const struct filter *in_filter, *out_filter; /* Attached filters */ + const net_addr *out_subprefix; /* Export only subprefixes of this net */ struct channel_limit rx_limit; /* Limit for receiving routes from protocol (relevant when in_keep & RIK_REJECTED) */ @@ -477,6 +478,7 @@ struct channel { struct rtable *table; const struct filter *in_filter; /* Input filter */ const struct filter *out_filter; /* Output filter */ + const net_addr *out_subprefix; /* Export only subprefixes of this net */ struct bmap export_map; /* Keeps track which routes were really exported */ struct bmap export_reject_map; /* Keeps track which routes were rejected by export filter */ |