summaryrefslogtreecommitdiff
path: root/lib/filter.c
diff options
context:
space:
mode:
authorIgor Ryzhov <iryzhov@nfware.com>2021-04-06 21:09:50 +0300
committerIgor Ryzhov <iryzhov@nfware.com>2021-04-06 23:18:47 +0300
commita0145975e3aff120df7edbd3cd76cebadbe71940 (patch)
tree944ab217acd1ca6d1c168f88672fb3919d59664b /lib/filter.c
parent451e6dcfc7808be39f838c123ddf2d399a8a9564 (diff)
lib: fix usage of operational data in CLI
CLI must never use operational data, because this won't work in transactional mode. Rework search for prefix-list/access-list entries using only candidate config. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
Diffstat (limited to 'lib/filter.c')
-rw-r--r--lib/filter.c53
1 files changed, 0 insertions, 53 deletions
diff --git a/lib/filter.c b/lib/filter.c
index 83423ba321..ab62e95fb6 100644
--- a/lib/filter.c
+++ b/lib/filter.c
@@ -469,59 +469,6 @@ void access_list_filter_add(struct access_list *access,
host A single host address
*/
-struct filter *filter_lookup_cisco(struct access_list *access,
- struct filter *mnew)
-{
- struct filter *mfilter;
- struct filter_cisco *filter;
- struct filter_cisco *new;
-
- new = &mnew->u.cfilter;
-
- for (mfilter = access->head; mfilter; mfilter = mfilter->next) {
- filter = &mfilter->u.cfilter;
-
- if (filter->extended) {
- if (mfilter->type == mnew->type
- && filter->addr.s_addr == new->addr.s_addr
- && filter->addr_mask.s_addr == new->addr_mask.s_addr
- && filter->mask.s_addr == new->mask.s_addr
- && filter->mask_mask.s_addr
- == new->mask_mask.s_addr)
- return mfilter;
- } else {
- if (mfilter->type == mnew->type
- && filter->addr.s_addr == new->addr.s_addr
- && filter->addr_mask.s_addr
- == new->addr_mask.s_addr)
- return mfilter;
- }
- }
-
- return NULL;
-}
-
-struct filter *filter_lookup_zebra(struct access_list *access,
- struct filter *mnew)
-{
- struct filter *mfilter;
- struct filter_zebra *filter;
- struct filter_zebra *new;
-
- new = &mnew->u.zfilter;
-
- for (mfilter = access->head; mfilter; mfilter = mfilter->next) {
- filter = &mfilter->u.zfilter;
-
- if (filter->exact == new->exact
- && mfilter->type == mnew->type) {
- if (prefix_same(&filter->prefix, &new->prefix))
- return mfilter;
- }
- }
- return NULL;
-}
-
static void config_write_access_zebra(struct vty *, struct filter *);
static void config_write_access_cisco(struct vty *, struct filter *);